From f31a97b6c2c28ecf82333108ca3b471a91b477c4 Mon Sep 17 00:00:00 2001
From: Fangoboyo <77935781+Fangoboyo@users.noreply.github.com>
Date: Wed, 8 Jun 2022 12:26:38 -0700
Subject: [PATCH] imported the plugin
---
.idea/.gitignore | 8 +++
.idea/artifacts/EaglerPluginInstaller_jar.xml | 8 +++
.idea/compiler.xml | 20 +++++++
.idea/discord.xml | 7 +++
.idea/encodings.xml | 9 +++
.idea/inspectionProfiles/Project_Default.xml | 8 +++
.idea/jarRepositories.xml | 25 ++++++++
.idea/misc.xml | 24 ++++++++
.idea/vcs.xml | 6 ++
EaglerPluginInstaller.iml | 12 ++++
README.md | 6 ++
.../EaglerPluginInstaller.jar | Bin 0 -> 6382 bytes
pom.xml | 39 +++++++++++++
.../nully/PluginInstaller/InstallCommand.java | 55 ++++++++++++++++++
.../tech/nully/PluginInstaller/Installer.java | 41 +++++++++++++
.../java/tech/nully/PluginInstaller/Main.java | 44 ++++++++++++++
.../nully/PluginInstaller/plistCommand.java | 24 ++++++++
src/main/resources/plugin.yml | 15 +++++
target/classes/plugin.yml | 15 +++++
.../PluginInstaller/InstallCommand.class | Bin 0 -> 3106 bytes
.../nully/PluginInstaller/Installer.class | Bin 0 -> 2522 bytes
.../tech/nully/PluginInstaller/Main.class | Bin 0 -> 2616 bytes
.../nully/PluginInstaller/plistCommand.class | Bin 0 -> 1639 bytes
23 files changed, 366 insertions(+)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/artifacts/EaglerPluginInstaller_jar.xml
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/discord.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
create mode 100644 EaglerPluginInstaller.iml
create mode 100644 README.md
create mode 100644 out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar
create mode 100644 pom.xml
create mode 100644 src/main/java/tech/nully/PluginInstaller/InstallCommand.java
create mode 100644 src/main/java/tech/nully/PluginInstaller/Installer.java
create mode 100644 src/main/java/tech/nully/PluginInstaller/Main.java
create mode 100644 src/main/java/tech/nully/PluginInstaller/plistCommand.java
create mode 100644 src/main/resources/plugin.yml
create mode 100644 target/classes/plugin.yml
create mode 100644 target/classes/tech/nully/PluginInstaller/InstallCommand.class
create mode 100644 target/classes/tech/nully/PluginInstaller/Installer.class
create mode 100644 target/classes/tech/nully/PluginInstaller/Main.class
create mode 100644 target/classes/tech/nully/PluginInstaller/plistCommand.class
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/artifacts/EaglerPluginInstaller_jar.xml b/.idea/artifacts/EaglerPluginInstaller_jar.xml
new file mode 100644
index 0000000..70e0900
--- /dev/null
+++ b/.idea/artifacts/EaglerPluginInstaller_jar.xml
@@ -0,0 +1,8 @@
+
+
+ $PROJECT_DIR$/out/artifacts/EaglerPluginInstaller_jar
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..b91288e
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..30bab2a
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..b2320b5
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..de93972
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..fe537f9
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..c2024ad
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EaglerPluginInstaller.iml b/EaglerPluginInstaller.iml
new file mode 100644
index 0000000..4ec1b0e
--- /dev/null
+++ b/EaglerPluginInstaller.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ BUKKIT
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ba06aa2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,6 @@
+# PluginInstaller
+PluginInstaller is a plugin designed for eaglercraft that can install plugins from an [online repository](https://github.com/darverdevs/PluginInstallerRepo) to your server just with a /install command.
+This plugin also has an autoupdater so theres no need to constantly redownload the plugin.
+#### **The download link is [here](https://github.com/darverdevs/PluginInstaller/raw/main/out/artifacts/PluginInstaller_jar/PluginInstaller.jar)**
+## How to contribute:
+Since PluginInstaller runs on an autoupdater, all contributions must be made from pull requests either by forks or branches approved by someone in the darverdevs group and tested before a pull request is made
diff --git a/out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar b/out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar
new file mode 100644
index 0000000000000000000000000000000000000000..4c8e92ef4e8186e9ec455731bcc43b86f04e9cd1
GIT binary patch
literal 6382
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
Wg#P_y{lM=S0PXKI9!&h>>wf_EdoZN{
literal 0
HcmV?d00001
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ef33914
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,39 @@
+
+
+ 4.0.0
+
+ tech.nully
+ EaglerPluginInstaller
+ 1.0.0
+ jar
+
+ EaglerPluginInstaller
+
+ A plugin made to install other plugins from an online repository to eaglercraft servers with a single command
+ nully.tech
+
+ 1.8
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+
+ PrimCoreRepos-repos
+ https://github.com/darverdevs/EaglerMavenRepo/raw/main
+
+
+
+
+
+ com.github.EaglerMaven
+ craftbukkit
+ 1.5.2-R1.0
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/tech/nully/PluginInstaller/InstallCommand.java b/src/main/java/tech/nully/PluginInstaller/InstallCommand.java
new file mode 100644
index 0000000..1ecdc61
--- /dev/null
+++ b/src/main/java/tech/nully/PluginInstaller/InstallCommand.java
@@ -0,0 +1,55 @@
+package tech.nully.PluginInstaller;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.command.ConsoleCommandSender;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
+import java.util.Locale;
+
+public class InstallCommand implements CommandExecutor {
+
+ @Override
+ public boolean onCommand(CommandSender snder, Command cmd, String label, String[] args) {
+ // Name checker
+ if (cmd.getName().equalsIgnoreCase("install")) {
+ if (snder.isOp() || snder instanceof ConsoleCommandSender) {
+ Installer ins = new Installer();
+ // handler for install argument
+ if (args.length == 1) {
+ String Install_Jar = args[0].toLowerCase();
+
+ // Checks if the created URL is a valid one
+ try {
+ if (ins.IsValidLink("https://github.com/darverdevs/PluginInstallerRepo/raw/main/" + Install_Jar + ".jar")) {
+ //plugin URL
+ URL plugin = URI.create("https://github.com/darverdevs/PluginInstallerRepo/raw/main/" + Install_Jar + ".jar")
+ .toURL();
+
+ // Creates the InputStream
+ try (InputStream in = plugin.openStream()) {
+
+ // Installs the plugin
+ ins.InstallPlugin(in, Install_Jar.toLowerCase(), snder);
+ snder.sendMessage("You have successfully installed the " + ChatColor.GREEN + Install_Jar.toUpperCase() + ChatColor.WHITE + " plugin!");
+ return true;
+ } catch (IOException e) {}
+ } else if (Install_Jar.equalsIgnoreCase("recommended")) {
+ InputStream reco1 = URI.create("https://github.com/darverdevs/PluginInstallerRepo/raw/main/dupepatch.jar")
+ .toURL().openStream();
+ ins.InstallPlugin(reco1, "DupePatch", snder);
+ }
+ } catch (IOException e) {
+ snder.sendMessage("\"" + Install_Jar + "\"" + "is not a valid plugin from the database");
+ }
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/tech/nully/PluginInstaller/Installer.java b/src/main/java/tech/nully/PluginInstaller/Installer.java
new file mode 100644
index 0000000..a5a64d7
--- /dev/null
+++ b/src/main/java/tech/nully/PluginInstaller/Installer.java
@@ -0,0 +1,41 @@
+package tech.nully.PluginInstaller;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
+import java.util.HashMap;
+
+public class Installer {
+
+ public void InstallPlugin(InputStream in, String pluginName, CommandSender s) throws IOException {
+ File f = new File(Main.getInstance().getDataFolder().getParent() + "/" + pluginName + ".jar");
+ Files.copy(in, f.toPath(), StandardCopyOption.REPLACE_EXISTING);
+ }
+
+ public boolean IsValidLink(String url) throws IOException{
+ URL u = new URL(url);
+ HttpURLConnection huc = (HttpURLConnection) u.openConnection();
+ huc.setRequestMethod("GET");
+ huc.connect();
+ return huc.getResponseCode() == 200;
+ }
+
+ public static void InstallUpdater() throws IOException {
+ File file = new File(Main.getInstance().getDataFolder().getParent() + "/EaglerPluginUpdater.jar");
+ if (!(file.exists())) {
+ URL plugin = URI.create("https://github.com/darverdevs/PluginInstaller/raw/Updater/out/artifacts/EaglerPluginUpdater_jar/EaglerPluginUpdater.jar")
+ .toURL();
+ InputStream in = plugin.openStream();
+ Files.copy(in, file.toPath(), StandardCopyOption.REPLACE_EXISTING);
+ }
+ }
+}
diff --git a/src/main/java/tech/nully/PluginInstaller/Main.java b/src/main/java/tech/nully/PluginInstaller/Main.java
new file mode 100644
index 0000000..da84fc7
--- /dev/null
+++ b/src/main/java/tech/nully/PluginInstaller/Main.java
@@ -0,0 +1,44 @@
+package tech.nully.PluginInstaller;
+
+import org.bukkit.ChatColor;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import java.io.IOException;
+import java.util.HashMap;
+
+public class Main extends JavaPlugin {
+ private static Plugin instance = null;
+ public static Plugin getInstance() {
+ return instance;
+ }
+ @Override
+ public void onEnable() {
+ instance = this;
+ try {
+ Installer.InstallUpdater();
+ } catch (IOException e) {}
+ getCommand("install").setExecutor(new InstallCommand());
+ getCommand("plist").setExecutor(new plistCommand());
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage(
+ ChatColor.GREEN + "[EaglerPluginInstaller]" + ChatColor.AQUA + " EaglerPluginInstaller V1.0.9 is now Enabled! :D");
+ getServer().getConsoleSender().sendMessage("To use PluginInstaller, run the command \"/install \" (\"install \" in console) to install a plugin");
+ getServer().getConsoleSender().sendMessage("To get a list of installable plugins, use the command \"/plist\" or \"plist\" in console");
+ getServer().getConsoleSender().sendMessage("You can request to add a new plugin to the database by going to https://github.com/darverdevs/PluginInstallerRepo/tree/main");
+ getServer().getConsoleSender().sendMessage("and creating an issue or pull request of the plugin you want to add");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ }
+
+ @Override
+ public void onDisable() {
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage(
+ ChatColor.GREEN + "[EaglerPluginInstaller]" + ChatColor.AQUA + " PluginInstaller V1.0.9 is now Disabled! D:");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ getServer().getConsoleSender().sendMessage("--------------------------------------------");
+ }
+}
diff --git a/src/main/java/tech/nully/PluginInstaller/plistCommand.java b/src/main/java/tech/nully/PluginInstaller/plistCommand.java
new file mode 100644
index 0000000..c9a893f
--- /dev/null
+++ b/src/main/java/tech/nully/PluginInstaller/plistCommand.java
@@ -0,0 +1,24 @@
+package tech.nully.PluginInstaller;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+
+public class plistCommand implements CommandExecutor {
+ @Override
+ public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+ if (cmd.getName().equalsIgnoreCase("plist")) {
+ sender.sendMessage(ChatColor.GREEN + "Here is a list of available plugins in the database:");
+ // TODO: Finish this list
+ sender.sendMessage("1. Factions 8. AntiSwear");
+ sender.sendMessage("2. ProtocolLib 9. ProtocolLib");
+ sender.sendMessage("3. PermissionSex 10. MCore");
+ sender.sendMessage("4. Vault 11. ");
+ sender.sendMessage("5. CoreProtect 12. ");
+ sender.sendMessage("6. DupePatch 13. ");
+ sender.sendMessage("7. BitchFilter 14. ");
+ }
+ return false;
+ }
+}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
new file mode 100644
index 0000000..34b3e58
--- /dev/null
+++ b/src/main/resources/plugin.yml
@@ -0,0 +1,15 @@
+name: EaglerPluginInstaller
+version: 1.0.9
+main: tech.nully.PluginInstaller.Main
+prefix: [PluginInstaller]
+loadbefore: [PluginUpdater]
+authors: [BongoCat]
+description: A plugin that is capable of installing the latest compatible version of plugins with eaglercraft from an online repository
+website: nully.tech
+commands:
+ install:
+ usage: /
+ description: Installs the latest compatible version of the requested plugin
+ plist:
+ usage: /
+ description: Gives you a list of available plugins with PluginInstaller
diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml
new file mode 100644
index 0000000..34b3e58
--- /dev/null
+++ b/target/classes/plugin.yml
@@ -0,0 +1,15 @@
+name: EaglerPluginInstaller
+version: 1.0.9
+main: tech.nully.PluginInstaller.Main
+prefix: [PluginInstaller]
+loadbefore: [PluginUpdater]
+authors: [BongoCat]
+description: A plugin that is capable of installing the latest compatible version of plugins with eaglercraft from an online repository
+website: nully.tech
+commands:
+ install:
+ usage: /
+ description: Installs the latest compatible version of the requested plugin
+ plist:
+ usage: /
+ description: Gives you a list of available plugins with PluginInstaller
diff --git a/target/classes/tech/nully/PluginInstaller/InstallCommand.class b/target/classes/tech/nully/PluginInstaller/InstallCommand.class
new file mode 100644
index 0000000000000000000000000000000000000000..666f54c37ea1b927d29245458afd317ea21e40cd
GIT binary patch
literal 3106
zcmbtWS#uOs6#i~9lkW6%04EC>j5-O6S%8KppfeGK5Fj{NOhOP)p=YKu)1;?+=;=v7
zaRK)YcOkC$#0xK4)*xb$@`X|#tnx2Vl~>AFc`%;a)7i*^RleMN&%NiId(L;hd%A!B
z=cnrc9>zrp>(DFVN%V>6moR_>0Sw}xfTsi;k|6NI0UQ=^M1q7~5l{2^84=I&`6$;o
zCP77<4+#lLXnb!-M5-KV=v?bKcQMRGLqvxAHzioe3OFI*KG*_sA{-HU5hEf-MVu6H
zO2Bgho@Xd)(@ovk&QRLeG|1p{ghn)WTpdvrLp4)MzhmoWDtcu8R?}gI65V8|E}rQY1(nS^WTB}U
zil{8>#>}v+s9LFHBL6h%_G07?uM{f?R#?ozXE
zbzP2}7Vv_A7X|Dhx(awnz{|ucA{2wvZ{_WTwnyjesGM8njT{3Rjc6i!8E0^oK_Cn`
zCCHtOSMaKU(=uMe>kJPrNC7iv8QL5sFs!*d&oo=c8~nbNch+H7UN>A=qiM&<<|2xc
z(w%fZzL99BBvpGvvy<9L?oI;tX<19L)lns*>ZT&&O}s@oQigQV+c+!Z9iGd(GTy^E
z8Smo*f=R}Q_(;ab_=I9UWaYzYbwms2@`;3&%MI~o686y0l3^#Ug#~;n<1?J+?k~s~
z<9@Wvm`o0*)24
zMm4)=Ql@6JR8xix3)#+d=e+^y2%=+6jBjP2j36%xI92l$$))(XEF$)y15NzPll1@aJ4tX_2R)k{BtQbo#qa45C5By30
zYiBTy32(kd6}gQ`RzmUw{sNarag){H0ZgzOciuws4p(k-=Th(r$5BgT6;-zyb*LeN
z)KaxW*g~ELN!v!4JguhN*5Mox=Vv0#IML=N%@eeLi@q|oXl85C!kV$3wPFKn!)Cfc
zVLP#j9V1ViJy`_sA}(MvT0uXT_!bY*f3HCL5^1#3YA4;c72D{qbqj03BY2e9x0Xc_
zK@@(@E{}P9)rQA78)>y2JBZ4B^*C9Sx~rYoMT~5xTMJlLH;Eq*5U^W7hk!i-_6pc1
zpwnIK7x07tYDA32fNzpqNlUA`nq(iFL?tTjqD#5NX1Nv@Q|CHex8V!Z?^D;`gg8St
JMPGuRe*r`PBY^+_
literal 0
HcmV?d00001
diff --git a/target/classes/tech/nully/PluginInstaller/Installer.class b/target/classes/tech/nully/PluginInstaller/Installer.class
new file mode 100644
index 0000000000000000000000000000000000000000..4b1d57bb9144a09f6146a4489c2b149459dc9e58
GIT binary patch
literal 2522
zcma)8TUQfT6#h;Um=MMbsDO$$L`y)NUbGjnR)vVs1Sml&+SU$}F&POnadLv%`~CXf
zhdy-mtuKA455d;eu0D44H?>{;&P;B#sAa93nc3%@y}$jPZ|}n&fB*a|fMfV7f&G}$
zkkW82fheXDn8x{Tq;VmE2repHCXQ?zGwO9#8RyjSvWEFCej|EsodKwrg>`k${P1HCSqSUW2XSxf#^tbQ6M(yCD7;~j+!Ew`WMVh6O
z?HkRv34u-Zk8q7ZW+ZdNTr&;F_%s}rHIWV!`|7RN12WIVrMELT@n9BEkI
z>Z=<7R{2ACzC5gRnN3NV)6=EulglAtTr9GwlpryXXr3mtXcwt
zVH{;XFJ+lilb-9^mI|a8%}LW*$(rThL?{T#fWGQHUn=KKY5P3oFnONub)u#4h&Sg|
zealwpTN`Zus3Jzk0SpP~jl&5S^*_kj*{V|__Zo^i9Nf^bqN9XW9WFc_W!z+D24m8v
zuftcy1E}bbV7>!^HdeTS{+jLQ
z?X}8(bnTnBjJgxUt4hQ4rE}f1WM!i;*T}#|b`@U3$2va2r#e2v=Q_T?mjc88r=SG3
zwoYVr`36NHuq`mDf|_j#QefXB{AEp5Hr)kV2C8u_>S1ss*HVbpvhX_^&w%
zl76O4X`b_xGzgKN8jzHXxVwu>=1kvq33q#Ay1g){SF>DZT?>qFR5zi+wjFgL(sx{X
zVas?($+1gxN^j1TMS;FX?4}5nolf?L+G;=x=24z=grKvX3{a`invEYl!1Pei?iU
zK08L&A%5gb1j8IV17i;k@m&uW;4q%xm%s>;T%|UD%XJ-mPTfaj={}-M>xkV$$4}@K
zs6neC-rL3DhVxa$R+psxvf+=R$qNNPB#;lv9xD6#hE5nQVqj0^ts6BAN>!1A-_?j6$*?unCuhC?aU@Y_mIL(zDKmkn#z9
z1fRh2hgA}*f=HGB^$p}{t_NrtW|SGmzNL;LW^5<|y~Um=ryC0EJ$c%>|ZMN#%h(pT~w;Vp^4)qE!Gh-z-g
zaJm#pr)I0z^VTxYH+6K+lYu=aTt#tusxnH1NlGV%M_MIi`l_hXxO)~N;VjRIdJ>X=
zWa#$QtQ)4s=9J@Q1r!$iIB?{3SEt*p!;U`_&xM6|aK^%E3>tV~VF_m#4(J2h_3fK?
ziZ2{lk6d3d7zt#aXW?^v!7$RIsI0she`Q6eih+j~zQiMj&bsG@5yMam+e9U^wD1)k
z8+c;jYkb2ncJ6=t3{Y)lI1GoAay+4`_Cgf6s(LMUy^0JBR4hn5wNOQk)E*T@m0FVa
zezQZ5^|5Q=8J;qn=R4}~r3>Td$FFcV%&4`NXV+Wq1s$i$0G-$#cHPcn~Wd
z)g*UPsQ93rq0Fb!QB-0@P7m_o!JXxdR}q>J$F@pcX~-aKg5$Zd8lQ<5a(05y5jAROIt8e@pJmx^G8;l=ceEEyD~=6?XzD
zBJGW`aKkW`I@dZ~vdx^RSRFrwg0E4=t3owWWjLE}N3M<8EuucoPB09#m|1n4*i8v8NZmk&{_X246;t@$rtl5j{YhcT
z1TRQMx03p@-Fz!*qLl?tmC5N)lhanJNolGwC&N%wX$AK01R@o3u*u&{O%UpyMxyh^
z{bF&R;ZQRmo9C2Am#EjN0ETnTj_;J8NhhN2f#8`$$2d+D{h?=|+fVORbQddZ}39S1gWu&;juht_delShc$z|oxb
zu^fLq$DhdYCv*JH*}SBBJLsdOK+pCBhiUAiihGGaK=On10n?A;I7H|jrtg{~xQ(M&
zBgyxK;}1BApKuDVsa=0k!~UjbZDId5!~PukGthR+z_9FfFmZk}^^-~BG=PjILl0o{5cLpu
Jfn;rX|6k>xqqG13
literal 0
HcmV?d00001
diff --git a/target/classes/tech/nully/PluginInstaller/plistCommand.class b/target/classes/tech/nully/PluginInstaller/plistCommand.class
new file mode 100644
index 0000000000000000000000000000000000000000..9d15c345b38d127c329a13b6c022b96f1363561a
GIT binary patch
literal 1639
zcma)6-E!MR6#h1jBgIjh#7QZH0!yK-leALZx=mY`mc~uefb-M3;|_4atmUn}jVu{y
z1?5qA2X5fP9bkqB;4yd&W*E-e0$lPl=wi?A*|Xm{->0+t+n+!G3ZR0g1)RZZ0he*b
zhFgG#s}{-yL4wUx%QH+;uH)PnB
zarK0VYW;=yT6lp7J6=P_D(qChIP6;foJb}^FoyFdz-0+Z3BT87ICnxQ@yG|FB?F_&
zp(02{5qC(Jg(J#gIMvX?KiCodOvFMXN@HJcDkJm!xLmG*c5oJNT6pMS1Dlk07+_(`
z!6R%loc(Y5^;88UoP|#ue2Th*9qckx9?4j8m2kn$|KQPcPS}b_1d{iMzbxS@RpT2eVg`QA<@<4@BR>l2
zs%1iMzvf|Bx=s!m_f(P)Ohdlp<*P2=sYNj-+OaHT18Rq_#cCYn(}l
zrJw4E6j(Ywh{5Vey(@Y|bg{I2RPT&s9W^x-BEL#SkZgBC;$NdbL+nb2&zeqO9Lrtn
z3c7fKDJj48WMhNc;EnO7{%4=sc}n#AbVnGjj02BoR}a^jH5nazEk3)2C&k-3`kNLX
ztM$ms&oE;y?v6|n(K(KE6Ypb@o<<@^@8kqox-T@oMJtaiBb#4&1@^;mdx^%Wq0`3O
zG?C@;fwFe?k7USD5+{)&O>KdVs05!HnVe?ozHABvkOC;`<{~IU=o2c(9XeTWN$Z)O(>brL0-=fVCU7<#*DF@cr8059mH
ALjV8(
literal 0
HcmV?d00001