All pastes #1830282 Raw Edit

Avianpro

public text v1 · immutable
#1830282 ·published 2010-03-09 17:27 UTC
rendered paste body
/*
 * avianProHidendra1_18.java
 *
 * @Author Hidendra < hidendra@rs2reborn.net >
 *
 * @Date 2009
 *
 * This script is free software. It may not be redistributed or sold without authors permission.
 *
 */

import org.rsbot.bot.Bot;
import org.rsbot.event.listeners.PaintListener;
import org.rsbot.event.listeners.ServerMessageListener;
import org.rsbot.event.events.ServerMessageEvent;
import org.rsbot.script.*;
import org.rsbot.script.wrappers.*;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Polygon;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import javax.swing.GroupLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JSlider;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.LayoutStyle;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;


@ScriptManifest( authors = { "Hidendra" }, name = "avianPro 1.18", version = 1.18, category = "Combat" )
public class avianProHidendra1_18 extends Script implements ServerMessageListener, PaintListener {
	

	private int[] xArea = { 2843, 2846, 2848, 2853, 2857, 2867, 2875, 2875,
			2870, 2859, 2848, 2839, 2834, 2834, 2837, 2838, 2838, 2834, 2831,
			2828, 2828 };
	private int[] yArea = { 5293, 5288, 5286, 5279, 5276, 5272, 5268, 5261,
			5257, 5258, 5259, 5261, 5265, 5271, 5275, 5279, 5283, 5281, 5283,
			5386, 5293 };
	private Polygon area = new Polygon(xArea, yArea, xArea.length);
	
	private RSTile aviansieTile;
	private long start = System.currentTimeMillis();
	private String[] config = new String[100];
	private String[] defaultConfig = { "boltpri:2", "gpgoal:5000", "logoutgoal:false", "runhours:2", "runminutes:0", "runenabled:false", "pricecheck:false", "checkxp:true", "pcwait:3", "pc1:50", "pc2:70", "xp1:20", "xp2:50", "eatr1:50", "eatr2:70", "teleat:15", "btp:16", "alch:yes", "bury:true", "bolts:true", "laws:true", "airs:true", "clue:true", "swordfish:true", "waters:true", "bloods:true", "prayer:false", "potions:false", "69:true", "71:true", "73:true", "79:true", "84:true", "89:true", "92:true", "94:true", "97:true", "137:false", "148:false" };
	private String[][] customize = { { "CameraInt1", "50", "280" }, { "EnableRunInt1", "2000", "2200" }, { "AttackInt1", "500", "600" }, { "SpiritualInt1", "5000", "5500" }, { "DrinkInt1", "1500", "2000" }, { "CheckExpWaitInt1", "1000", "2500" }, { "FoodInt1", "500", "600" }, { "FoodInt2", "600", "1500" }, { "FoodInt3", "1100", "2000" }, { "BoneInt1", "1100", "2000" }, { "BoneInt2", "2500", "3000" }, { "DropJunkInt1", "500", "1000" }, { "Kree'ArraInt1", "15000", "20000" }, { "DropsInt1", "400", "900" }, { "DropsInt2", "800", "1000" }, { "PrayerInt1", "500", "1000" }, { "PrayerInt2", "1500", "2000" }, { "PrayerInt3", "1000", "1500" }, { "PotionsInt1", "700", "2000" }, { "PotionsInt2", "400", "600" } }; 
	private int[] aviansies;
	private int[] eatRange = { 50, 70 };
	private int[] items = { 6883, 8015, 561, 554, 8013, 9185, 2570, 385, 886, 884, 314, 7946 }; // peach btp nat fire home rcbow life shark steelarrows ironarrows feathers monkfish
	private int[] drops = { 2362, 9431, 5678, 526, 373, 565, 555 }; // bars limbs dagger bones swordfish bloods waters
	private int[] dropsPriority = { 2362, 9431, 5678, 565, 555, 373, 561, 556, 1249, 985, 563, 526 };
	private int[] bolts = { 13280, 8882, 877, 9140, 9141, 13083, 9142, 9143, 9144, 9340, 9243, 9341, 9244, 9338, 9241, 9342, 9245, 879, 9236, 880, 9238, 9339, 9242, 9337, 9240, 9145, 9336, 9239, 881, 4740 };  
	private int[] teleports = { 8013, 4251, 8011, 8010, 8009, 8008, 8007 };
	private int[] gePrices = { -1, -1, -1, -1 };
	private int[] junkIDs = { items[8], items[9], items[10], 1617, 1621, 1627, 1625, 1629, 1619, 1623, 562, 863, 865, 40, 1137, 440, 807, 2351, 7767, 7769, 1141, 808, 2353, 1539, 41, 229, 175, 442, 1462, 314, 211, 215, 217, 199, 205, 209, 213, 2485, 201, 207, 3051, 12174, 203, 3049, 219 };
	private int[] food = { 385, 7946, 373, 6883, 7060, 7054, 7056, 7058, 6703, 6705, 2299, 2295, 2303, 2291, 2297, 2293, 2301, 2289, 1861, 7068, 333, 7088, 315, 325, 329, 4291, 3144, 2343, 3381, 5988, 2140, 7228, 2878, 7521, 7568, 4293, 2142, 3228, 319, 339, 13433, 347, 355, 397, 391, 7198, 2323, 7188, 7178, 7190, 7180, 2331, 2333, 7220, 7210, 2327, 7208, 379, 6883 };
	private int[] prayerStarted = { 0, 0, 0, 0 };
	private int[] prayerPrice = { 2100, 4200, 6300, 8400 };
	private int[] prayerPotions = { 143, 141, 139, 2434 };
	private int[] rangePotions = { 173, 171, 169, 2444 };
	private int[] defencePotions = { 137, 167, 135, 165, 133, 163, 2432, 2442 };
	private int[] potionRanges = { 0, 0 };
	private int[] clueIDs = new int[] { 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2692, 2693, 2694, 
			2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2716, 2719, 
			2722, 2723, 2725, 2727, 2729, 2731, 2733, 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2773, 2774, 2776, 2778, 2780, 2782, 2783, 2785, 
			2786, 2788, 2790, 2792, 2793, 2794, 2796, 2797, 2799, 2801, 2803, 2805, 2807, 2809, 2811, 2813, 2815, 2817, 2819, 2821, 2823, 2825, 
			2827, 2829, 2831, 2833, 2835, 2837, 2839, 2841, 2843, 2845, 2847, 2848, 2849, 2851, 2853, 2855, 2856, 2857, 2858, 3490, 3491, 3492, 
			3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3512, 3513, 3514, 3515, 
			3516, 3518, 3520, 3522, 3524, 3525, 3526, 3528, 3530, 3532, 3534, 3536, 3538, 3540, 3542, 3544, 3546, 3548, 3550, 3552, 3554, 3556, 
			3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572, 3573, 3574, 3575, 3577, 3579, 3580, 3582, 3584, 3586, 3588, 3590, 3592, 3594, 3596, 
			3598, 3598, 3599, 3601, 3602, 3604, 3605, 3607, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 7236, 7238, 7239, 7241, 
			7243, 7245, 7247, 7248, 7249, 7250, 7251, 7252, 7253, 7254, 7255, 7256, 7258, 7260, 7262, 7264, 7266, 7268, 7270, 7272, 7274, 7276, 
			7278, 7280, 7282, 7284, 7286, 7288, 7290, 7292, 7294, 7296, 7298, 7300, 7301, 7303, 7304, 7305, 7307, 7309, 7311, 7313, 7315, 7317, 
			10180, 10182, 10184, 10186, 10188, 10190, 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, 10208, 10210, 10212, 10214, 10216, 
			10218, 10220, 10222, 10224, 10226, 10228, 10230, 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, 10248, 10250, 10252, 10254, 
			10256, 10258, 10260, 10262, 10264, 10266, 10268, 10270, 10272, 10274, 10276, 10278, 13010, 13012, 13014, 13016, 13018, 13020, 13022, 
			13024, 13026, 13028, 13030, 13032, 13034, 13036, 13038, 13040, 13041, 13042, 13044, 13046, 13048, 13049, 13050, 13051, 13053, 13055, 
			13056, 13058, 13060, 13061, 13063, 13065, 13067, 13068, 13069, 13070, 13071, 13072, 13074, 13075, 13076, 13078, 13079, 13080, 13058, 
			13060, 13061, 13063, 13065, 13067, 13068, 13069, 13070, 13071, 13072, 13074, 13075, 13076, 13078, 13079, 13080 };
	private int[] antiBanSupport = { 0, 0 };
	private double[][] antiBan = { { 1, -1, -1, 2, 0 },  { 1, -1, -1, 0 } };
	private RSNPC killingID = null;
	private boolean pickup = false, alching = false, killing = false, show = false, newNPC = false, spiritual = false, bury = false, potions = false, prayer = false, waters1 = false, bloods1 = false, swordfish1 = false, bolts1 = false, laws1 = false, airs1 = false, clueScroll = false, moved = false, goalLogout = false, runEnabled = false, freezeScript = false, timeToLogGoal = false, timeToLogRun = false;
	private int eat, btp, alch, loot = 0, tries = 0, startup = 1, tileTest = 0, potAt = 3, boltStarted = -1, boltPriority = 2, startxp = 0, teleAt = 15, boltQuantity = 0, goal = 0, runHours = 0, runMinutes = 0;
	private long hours = 0, minutes = 0;
	private Config conf;
	
	public double getVersion() {
		return getClass().getAnnotation(ScriptManifest.class).version();
	}
	
	public String getName() {
		return getClass().getAnnotation(ScriptManifest.class).name();
	}
	
	@Override
	public String getScriptDescription() {
		String send = " <html> <head> <style> body {text-align:center; background-color: black; color: white;} h2 {text-align:right; color: red;} </style> </head> <body> <h2>avianPro v"+getVersion()+" <br/> Author: Hidendra</h2> <br/>";
		send += " <i><font color='lime'>\"</font>It could reach a point where macro software becomes undetectable.<font color='lime'>\"</font></i>  <b>-Andrew Gower</b><br/> ";
		send += " Latest version: " + getLatestVersion() + " <br/><br/>  ";		
		send += " If you loved my sript, or just want to support Hidendra, consider donating. To do so you can click the `Donate` button in the Config GUI upon starting the script. Thank you. <br/> <br/><br/>";
		send += " Main thread: <font color='lime'>http://www.rsbot.org/vb/showthread.php?t=27580</font> ";
		return send;
	}
	
	public void setConfig(String index, String value) {
		for(int i=0; i<config.length; i++) {
			if(config[i] == null) {
				continue;
			}
			String x1[] = config[i].split(":");
			if(x1[0].equals(index)) {
				config[i] = index + ":" + value;
				return;
			}
		}
		for(int i=0; i<config.length; i++) {
			if(config[i] == null) {
				config[i] = index + ":" + value;
				break;
			}
		}
	}
	
	public void setConfigCust(String index, String value) {
		for(int i=0; i<config.length; i++) {
			if(config[i] == null) {
				continue;
			}
			String x1[] = config[i].split(":");
			if(x1[0].equals(index)) {
				config[i] = index + ":" + value;
				return;
			}
		}
		for(int i=0; i<config.length; i++) {
			if(config[i] == null) {
				config[i] = index + ":" + value;
				break;
			}
		}
	}
	
	public void loadDefaultConfig() {
		for(int i=0; i<defaultConfig.length; i++)
			config[i] = defaultConfig[i];
		for(int i=0; i<customize.length; i++)
			config[defaultConfig.length+i] = customize[i][0] + ":" + customize[i][1] + ":" + customize[i][2];
	}
	
	public String getConfig(String name) {
		for(String x : config) {
			if(x == null)
				break;
			String x1[] = x.split(":");
			if(x1[0].equals(name))
				return x1[1];
		}
		for(String def : defaultConfig) {
			String def1[] = def.split(":");
			if(def1[0].equals(name))
				return def1[1];
		}
		return "Unknown";
	}

	public String getConfigBool(String name) {
		for(String x : config) {
			if(x == null)
				break;
			String x1[] = x.split(":");
			if(x1[0].equals(name))
				return x1[1].equals("true") ? "CHECKED" : "";
		}
		for(String def : defaultConfig) {
			String def1[] = def.split(":");
			if(def1[0].equals(name))
				return def1[1].equals("true") ? "CHECKED" : "";
		}
		return "Unknown";
	}
	
	private String getItemName(int name) {
		switch(name) {
		
			case 2362:
				return "4 Adamantite Bars";
			
			case 9431:
				return "Runite Limbs";
			
			case 5678: 
				return "Rune dagger (p+)";
			
			case 565:
				return "Blood Runes";
			
			case 555:
				return "Water Runes";
			
			case 373:
				return "a Swordfish";
			
			case 561:
				return "Nature Runes";
				
			case 556:
				return "Air Runes";
			
			case 563:
				return "Law Runes";
				
			case 526:
				return "Bones";
		
			default:
				return "an Unknown item";
		}
	}

	private String getItemNameProper(int name) {
		switch(name) {
		
			case 2362:
				return "Take Adamantite bar";
			
			case 9431:
				return "Take Runite limbs";
			
			case 5678: 
				return "Take Rune dagger (p+)";
			
			case 565:
				return "Take Blood rune";
			
			case 555:
				return "Take Water rune";
			
			case 373:
				return "Take Swordfish";
			
			case 561:
				return "Take Nature rune";
		
			case 556:
				return "Take Air rune";
			
			case 563:
				return "Take Law rune";
				
			case 526:
				return "Take Bones";
		
			default:
				return "an Unknown item";
		}
	}
	
	private int getProfit() {
		return getInventoryCount(995) + ( getInventoryCount(drops[0]) * gePrices[0] ) + ( getInventoryCount(drops[5]) * gePrices[1] ) + ( getInventoryCount(drops[6]) * gePrices[2] ) - ( ( boltQuantity - getEquipmentCount(boltStarted) ) * gePrices[3] );
	}
	
	private int getProfitPrayer() {
		int total = 0;
		for(int i=0; i<prayerPrice.length; i++)
			total += prayerPrice[i] * prayerStarted[i];
		return getProfit() - total - ( ( boltQuantity - getEquipmentCount(boltStarted) ) * gePrices[3] );
	}
	
	private double xpHour() {
		double hours1 = (double)hours, minutes1 = (double)minutes;
		if(minutes1 == 0 && hours1 == 0)
			return 0;
		if(hours1 > 0)
			minutes1 = (minutes1 + ( hours1 * 60 ));
		return Math.round((skills.getCurrentSkillExp(skills.getStatIndex("range")) - startxp) * (60 / minutes1));
	}
	
	private boolean activatePrayer() {
		return turnPrayer(19, true);
	}
	
	private boolean deactivatePrayer() {
		return turnPrayer(19, false);
	}
	
	private void loadConfiguration() {
		try { 
			String x = "";	
			BufferedReader in = new BufferedReader(new InputStreamReader(new DataInputStream(new FileInputStream("Settings/avianProConfig.txt"))));  
			
			while ( (x = in.readLine()) != null) {
				
				for(int i=0; i<config.length; i++)
					if(config[i] == null) {
						config[i] = x;
						break;
					}
				
			}
		} catch (IOException e) { 
		}
	}
	
	private void saveConfiguration() {
	
		try {
		
			File conf = new File("Settings/avianProConfig.txt");
			conf.delete();
			conf.createNewFile();
			BufferedWriter out = new BufferedWriter(new FileWriter("Settings/avianProConfig.txt"));
			if(config[0] == null)
				loadDefaultConfig();
			for(String x : config) {
				if(x == null)
					continue;
				out.write(x);
				out.newLine();
			}
			out.close();
		} catch (IOException e) {
		}
	}
	
	private String getLatestVersion() { // get latest version of the script
        String input = "", suffix = "";
		double version = 0.00;
		try { 
            URL latest = new URL("http://www.rs2reborn.net/latest"); 
            BufferedReader in = new BufferedReader(new InputStreamReader(latest.openStream())); 
    
            while ((input = in.readLine()) != null) { 
				double input2 = Double.parseDouble(input);
				version = input2;
				if(input2 > getVersion()) suffix = "  <font color='red'>You are not using the latest version of this script! Please update at http://www.rsbot.org/vb/showthread.php?t=27580</font>"; 
				if(input2 < getVersion()) suffix = "  You are using an overdated version?";
				if(input2 == getVersion()) suffix = "  <font color='green'>You are up to date!</font>";
            } 
            in.close(); 
    
        } catch (MalformedURLException e) { 
            e.printStackTrace();
    
        } catch (IOException e) { 
            e.printStackTrace();
        } 
		
		return "<font color='blue'>" + version + "</font>" + suffix;
	}
	
	@Override
	public boolean onStart(Map<String, String> args) {
		Bot.getEventManager().registerListener(this);
		loadConfiguration();
		conf = new Config(this);
		log("Starting Hidendra's " + getName() + " v"+getVersion());
		while( !conf.canContinue() )
			waitCustom(20);
		
		log("Loading Grand Exchange prices.");
		gePrices[0] = grandExchange.loadItemInfo(drops[0]-1).getMarketPrice();
		gePrices[1] = grandExchange.loadItemInfo(drops[5]).getMarketPrice();
		gePrices[2] = grandExchange.loadItemInfo(drops[6]).getMarketPrice();
		for(int i=0; i<prayerPotions.length; i++)
			prayerPrice[i] = grandExchange.loadItemInfo(prayerPotions[i]).getMarketPrice();
		for(int i=0; i<prayerPotions.length; i++)
			prayerStarted[i] = getInventoryCount(prayerPotions[i]);
			
		
		if(gePrices[0] == -1) {
			gePrices[0] = 2300;
			log("Unable to get Adamant Bar Market Price. Defaulting to 2300.");
		}
		if(gePrices[1] == -1) {
			gePrices[1] = 275;
			log("Unable to get Blood Rune Market Price. Defaulting to 275.");
		}
		if(gePrices[2] == -1) {
			gePrices[2] = 16;
			log("Unable to get Water Rune Market Price. Defaulting to 16.");
		}
		
		
		int eata = 60, btpa = 16;
		
		eatRange[0] = Integer.parseInt(conf.jTextField1.getText());
		eatRange[1] = Integer.parseInt(conf.jTextField2.getText());
		teleAt = Integer.parseInt(conf.jTextField7.getText());
		if(teleAt > 30)
			log("[Warning]: Emergency Tele At is at a high-ish value. Consider lowering it.");
		
		if(conf.jCheckBox8.isSelected()) {
			antiBan[0][1] = Integer.parseInt(conf.jTextField8.getText());
			antiBan[0][2] = Integer.parseInt(conf.jTextField9.getText());
			antiBan[0][3] = Integer.parseInt(conf.jTextField10.getText());
			antiBan[0][4] = (random(antiBan[0][1], antiBan[0][2]) / 25) * 1000 * 30;
			setConfig("pricecheck", "true");
			setConfig("pc1", conf.jTextField8.getText());
			setConfig("pc2", conf.jTextField9.getText());
			setConfig("pcwait", conf.jTextField10.getText());
		} else {
			antiBan[0][0] = 0;
			setConfig("pricecheck", "false");
		}
		
		if(conf.jCheckBox9.isSelected()) {
			antiBan[1][1] = Integer.parseInt(conf.jTextField11.getText());
			antiBan[1][2] = Integer.parseInt(conf.jTextField12.getText());
			antiBan[1][3] = (random(antiBan[1][1], antiBan[1][2]) / 25) * 1000 * 30;
			setConfig("checkxp", "true");
			setConfig("xp1", conf.jTextField11.getText());
			setConfig("xp2", conf.jTextField12.getText());
		} else {
			antiBan[1][0] = 0;
			setConfig("checkxp", "false");
		}
		
		if(conf.jCheckBox10.isSelected()) {
			goalLogout = true;
			setConfig("logoutgoal", "true");
		} else
			setConfig("logoutgoal", "false");
		
		if(conf.jCheckBox11.isSelected()) {
			runEnabled = true;
			runHours = Integer.parseInt(conf.jTextField14.getText());
			runMinutes = Integer.parseInt(conf.jTextField15.getText());
			if(runHours > 12 || runMinutes > 60) {
				log("Invalid option for running for x hours/minutes. Please reconfigure this; defaulting to off.");
				runEnabled = false;
				setConfig("runenabled", "false");
				setConfig("runhours", runHours + "");
				setConfig("runminutes", runMinutes + "");
			} else
				setConfig("runenabled", "true");
		} else
			setConfig("runenabled", "false");
		
		goal = Integer.parseInt(conf.jTextField13.getText());
		setConfig("gpgoal", conf.jTextField13.getText());
		
		btpa = Integer.parseInt(conf.jTextField5.getText());
		
		int i = 0, i3 = 0;
		int[] i1 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
		int[] ids = { 6232, 6240, 6241, 6233, 6236, 6244, 6244, 6245, 6238, 6239 };
		
		if(conf.jCheckBox15.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("69", "true");
		} else setConfig("69", "false");
		
		if(conf.jCheckBox16.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("71", "true");
		} else setConfig("71", "false");
		
		if(conf.jCheckBox17.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("73", "true");
		} else setConfig("73", "false");
		
		if(conf.jCheckBox18.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("79", "true");
		} else setConfig("79", "false");
		
		if(conf.jCheckBox19.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("84", "true");
		} else setConfig("84", "false");
		
		if(conf.jCheckBox21.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("92", "true");
		} else setConfig("92", "false");
		
		if(conf.jCheckBox22.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("94", "true");
		} else setConfig("94", "false");
		
		if(conf.jCheckBox23.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("97", "true");
		} else setConfig("97", "false");
		
		if(conf.jCheckBox24.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("137", "true");
		} else setConfig("137", "false");
		
		if(conf.jCheckBox25.isSelected()) {
			i1[i] = ids[i];
			i++;
			setConfig("148", "true");
		} else setConfig("148", "false");
		
		
		
		
		for(int i2=0; i2<i1.length; i2++)
			if(i1[i2] != -1) {
				i3++;
			}
				
		if(i3 > 0)
			aviansies = new int[i3];
		for(int i2=0; i2<i1.length; i2++)
			if(i1[i2] != -1) {
				aviansies[i2] = i1[i2];
			}
		
		if(eata > 0 && eata < 100)
			eat = eata;
		if(eata > 99) {
			log("Eat option too large. Defaulting to 60.");
			eat = 60;
		}
		
		if(btpa > 0 && btpa < 29)
			btp = btpa;
		if(btpa > 29) {
			log("Bones to Peaches option too large. Defaulting to 16.");
			btp = 16;
		}

		
		if(conf.jTextField4.getText().equalsIgnoreCase("yes"))
			alch = 1;
		else {
			log("Invalid alch configuration option. Defaulting to \"No\".");
			alch = 0;
		}
			
		if(conf.jCheckBox14.isSelected())
			bury = true;
				
		if(conf.jCheckBox6.isSelected())
			prayer = true;
				
		if(conf.jCheckBox7.isSelected())
			potions = true;
		
		if(conf.jCheckBox2.isSelected())
			swordfish1 = true;
		
		if(conf.jCheckBox4.isSelected())
			waters1 = true;
		
		if(conf.jCheckBox3.isSelected())
			bloods1 = true;
				
		if(conf.jCheckBox5.isSelected())
			bolts1 = true;
			
		if(conf.jCheckBox12.isSelected())
			laws1 = true;
		
		if(conf.jCheckBox13.isSelected())
			airs1 = true;
		
		if(conf.jCheckBox1.isSelected())
			clueScroll = true;

		boltPriority = conf.jSlider1.getValue();
		
		setConfig("boltpri", boltPriority + "");
		setConfig("btp", btpa + "");
		setConfig("eatr1", eatRange[0] + "");
		setConfig("eatr2", eatRange[1] + "");
		setConfig("teleat", teleAt + "");
		if(bury)
			setConfig("bury", "true");
		else
			setConfig("bury", "false");
		if(prayer)
			setConfig("prayer", "true");
		else
			setConfig("prayer", "false");
		if(potions)
			setConfig("potions", "true");
		else
			setConfig("potions", "false");
		if(swordfish1)
			setConfig("swordfish", "true");
		else
			setConfig("swordfish", "false");
		if(waters1)
			setConfig("waters", "true");
		else
			setConfig("waters", "false");
		if(bloods1)
			setConfig("bloods", "true");
		else
			setConfig("bloods", "false");
		if(bolts1)
			setConfig("bolts", "true");
		else
			setConfig("bolts", "false");
		if(laws1)
			setConfig("laws", "true");
		else
			setConfig("laws", "false");
		if(airs1)
			setConfig("airs", "true");
		else
			setConfig("airs", "false");
		if(clueScroll)
			setConfig("clue", "true");
		else
			setConfig("clue", "false");
		if(alch == 1)
			setConfig("alch", "yes");
		else
			setConfig("alch", "no");
		
		setConfigCust("CameraInt1", conf.jTextField16.getText());
		setConfigCust("EnableRunInt1", conf.jTextField17.getText());
		setConfigCust("DrinkInt1", conf.jTextField18.getText());
		setConfigCust("DropsInt1", conf.jTextField19.getText());
		setConfigCust("DropsInt2", conf.jTextField20.getText());
		setConfigCust("AttackInt1", conf.jTextField21.getText());
		setConfigCust("SpiritualInt1", conf.jTextField22.getText());
		setConfigCust("Kree'ArraInt1", conf.jTextField23.getText());
		setConfigCust("CheckExpWaitInt1", conf.jTextField24.getText());
		setConfigCust("FoodInt1", conf.jTextField25.getText());
		setConfigCust("FoodInt2", conf.jTextField26.getText());
		setConfigCust("FoodInt3", conf.jTextField27.getText());
		setConfigCust("BoneInt1", conf.jTextField28.getText());
		setConfigCust("BoneInt2", conf.jTextField29.getText());
		setConfigCust("DropJunkInt1", conf.jTextField30.getText());
		setConfigCust("PrayerInt1", conf.jTextField31.getText());
		setConfigCust("PrayerInt2", conf.jTextField32.getText());
		setConfigCust("PrayerInt3", conf.jTextField33.getText());
		setConfigCust("PotionsInt1", conf.jTextField34.getText());
		setConfigCust("PotionsInt2", conf.jTextField35.getText());
		
		saveConfiguration();
		
		return true;
	}
	
	
	@Override
	public void onFinish() { // also reset variables
		show = false;
		loot = 0; 
	}
	
	@Override
	public int loop() {
		while(!isLoggedIn() || RSInterface.getInterface(378).getChild(45).getAbsoluteX() > 20 || (!RSInterface.getInterface(378).getChild(117).getText().equals("10.1120.190") && !RSInterface.getInterface(378).getChild(117).getText().equals("")) ) {
			return random(120, 300);
		}
		
		if(freezeScript) {
			freezeScript = false;
			
			if(antiBanSupport[0] == 1 && (int)antiBan[0][4] == 0) {
				while(!doDrops() || getNPC() != null)
					waitCustom(50);
				if(doDrops() && !getMyPlayer().isInCombat()) {
					priceChecker();
					antiBanSupport[0] = 0;
				}
				return 100;
			}
			
			if(antiBanSupport[1] == 1 && (int)antiBan[1][3] == 0) {
				checkRangeExp();
				antiBanSupport[1] = 0;
				return 100;
			}
			
			if(timeToLogGoal && doDrops() && !getMyPlayer().isInCombat())
				logout("We have reached our goal of " + goal + "k. Time to logout.");
			else
				return 100;
				
			if(timeToLogRun && doDrops() && !getMyPlayer().isInCombat())
				logout("We have run for a total of " + hours + " hours and " + minutes + " minutes. Time to logout.");
			else
				return 100;
		}
	
		if(startup == 1) {
			if(isLoggedIn()) {
				if(alch == 1 && inventoryContains(items[2]) && inventoryContains(items[3]))
					log("We can alch.");
				else {
					if(alch == 1)
						log("No natures or fires found. We can't alch this trip, not picking up daggers or limbs.");
					else
						log("Alching is disabled, so we will not alch at all.");
					if(alch == 1)
						alch = 0;
				}
			
				if(getTeleportID() != -1)
					log("Found a Teleport Tablet or an Ectophial.");
				else {
					log("No usable Teleport found. Script cannot continue as it is not safe. Please get a Teleport tablet or an Ectophial.");
					stopAllScripts();
					return 1;
				}
				
				if(!prayer)
					if(getInventoryCount(items[1]) > 0)
						log("Found " + getInventoryCount(items[1]) + " Bones to Peaches tablets.");
					else {
						log("No Bones to Peaches tablets found. Script cannot continue!");
						stopAllScripts();
						return 1;
					}
				
				if(prayer)
					if(prayerPotionCount() > 0) {
						potAt = random(15, skills.getRealSkillLevel( skills.getStatIndex("prayer") ) - 30 ); 
						log("We have " + prayerPotionCount() + " Prayer Potions currently. Next drinking at " + potAt + " prayer");
					}
					else {
						log("Prayer mode is activated, but no Prayer Potions found in your inventory. Stopping script.");
						stopAllScripts();
					}
					
				if(potions) 
					if(rangePotionCount() == 0 && defencePotionCount() == 0) {
						log("No range or defence potions found, but potions are activated. No point in wasting cpu; deactiving potions.");
						potions = true;
					}
					
				
				double range = skills.getRealSkillLevel(skills.getStatIndex( "Range" ) );
				double range1 = skills.getRealSkillLevel(skills.getStatIndex( "Defence" ) );
				range = range + Math.round( range * .15 / 2 );
				range1 = range1 + Math.round( range1 * .15 / 2 );
				potionRanges[0] = (int)range;
				potionRanges[1] = (int)range1;
				newHP();
				log("Rotating camera.");
				if(random(0, 2) == 1)
					setCameraRotation(random(50,280));
				else
					setCameraAltitude(true);
				newNPC = true;
				boltStarted = getBoltID();
				boltQuantity = getEquipmentCount(boltStarted);
				gePrices[3] = grandExchange.loadItemInfo(boltStarted).getMarketPrice();
				startup = 0;
				start = System.currentTimeMillis();
				startxp = skills.getCurrentSkillExp(skills.getStatIndex("range"));
				show = true;
			}
		return 100;
		}
		
		food(false);
		if(skills.getCurrentSkillLevel(3) <= teleAt)
			getOut(false);
		if(!spiritual) {
			alch();
			checkForBones();
			doPotions();
			dropJunkItems();
		}
		if(!isRunning()) {
			setRun(true);
			waitCustom(random(getSI("EnableRunInt")[0], getSI("EnableRunInt")[1]));
		}
		if(tries == 3) {
			log("We attempted to attack the Aviansie enough times...");
			newNPC = true;
			tries = 0;
		}
		if(skills.getCurrentSkillLevel(3) > 20 && skills.getCurrentSkillLevel(3) < 41 && !prayer)
			getOut(true);
		if(skills.getCurrentSkillLevel(3) < 30 && prayer) {
			if(prayerPotionCount() == 0) {
				log("Warning: Out of prayer potions and low HP...");
				getOut(false);
			} else {
				clickInventoryItem(prayerPotionItem(), true);
				waitCustom(random(getSI("DrinkInt1")[0], getSI("DrinkInt1")[1]));
				log("Took a sip of a Prayer Potion. We now have " + prayerPotionCount() + " Prayer Potions left. Next drinking at " + potAt + " prayer");
			}
			activatePrayer();
		}
		if(skills.getCurrentSkillLevel(3) <= 20 && !prayer) {
			log("Warning: Dangerous HP.");
			getOut(true);
		}
		
		if(getInventoryCount(items[5]) > 0 && !spiritual) {
			log("Was rune cbow unequipped via alch??");
			clickInventoryItem(items[5], true);
			waitCustom(random(500, 1000));
		}

		
		if(killingID == null) newNPC = true;
		if(killingID != null && !pickup) 
			if(killingID.isInCombat() && !getMyPlayer().isInCombat()) newNPC = true;
		if(newNPC) {
			killingID = getNearestFreeNPCByID(aviansies);
			killing = true;
			newNPC = false;
		}
		
		if(!doDrops()) 
			return random(getSI("DropsInt1")[0], getSI("DropsInt1")[1]);
			
		if(getNPC() != null) {
			if(killingID != null)
				if(killingID.isValid()) {
					aviansieTile = getNPC().getLocation();
					moved = false;
					tries = 0;
				}
		}
		
		/*
		 * Aviansie death
		 */
		if (getNPC() != null || killingID != null) {
			RSNPC npc;
			if (getNPC() != null) {
				npc = (RSNPC) getNPC();
			} else {
				npc = killingID;
			}

			if (npc.getHPPercent() == 0 && getMyPlayer().isInCombat()) {
				int waited = 0;
				while (!tileOnScreen(npc.getLocation())) {
					waited++;
					if (walkTileMM(randomizeTile(npc.getLocation(), 3, 3))) {
						moved = true;
					}
					wait(100);
				}
				wait(random(1900 - waited, 2100 - waited));
				newNPC = true;
				return random(100, 200);
			}
		}

		if(killingID != null)
			if(!killingID.isInCombat() && getNPC() == null && !alching && !pickup && killing && !spiritual) {
					if(tileOnScreen(killingID.getLocation())) {
						if(clickCharacterCustom(killingID, "Attack Aviansie")) {
							log("Attacked Aviansie");
							tries++;
							killing = true;
							waitCustom(random(getSI("AttackInt1")[0], getSI("AttackInt1")[1]));
						}
					} else if(!getMyPlayer().isMoving())  walkTileMM(randomizeTile(killingID.getLocation(), 2, 2));
			}
		
		if(killingID != null) {
			if(killingID.getHPPercent() == 0 || getNPC() == null) {
				if(aviansieTile != null && !getMyPlayer().isMoving() && !moved) {
					if(distanceTo(aviansieTile) > 4)
						walkTileMM(randomizeTile(aviansieTile, 3, 3));
					moved = true;
					tries = 0;
				}
				newNPC = true;
				
			}
		} else newNPC = true;
	
		
		if(spiritual) { // needs to be perfected l0l
			if(tileTest == 0) tileTest = 1;
			
			if(tileTest == 1 && !getMyPlayer().isMoving()) {
				setCameraRotation(269);
				moveMouse( random(610, 628), random(25, 40) );
				clickMouse(true);
				waitCustom(random(getSI("SpiritualInt1")[0], getSI("SpiritualInt1")[1]));
				log("Spiritual possibly evaded.");
				spiritual = false;
			}
		}
		return random(500,900);
	}

	
	public void onRepaint(Graphics g) {
        if (isLoggedIn()) {    
			
			int expgained = 0;
			int HPexpgained = 0;
			
			if (runAttack) {
				if ( startexp == 0) {
					startexp = skills.getCurrentSkillExp(STAT_ATTACK);
					statIndex = STAT_ATTACK;
				}
				expgained = skills.getCurrentSkillExp(STAT_ATTACK) - startexp;
			}
			
			if (runStrength) {
				if ( startexp == 0) {
					startexp = skills.getCurrentSkillExp(STAT_STRENGTH);
					statIndex = STAT_STRENGTH;
				}
				expgained = skills.getCurrentSkillExp(STAT_STRENGTH) - startexp;
			}
			
			if (runDefence) {
				if ( startexp == 0) {
					startexp = skills.getCurrentSkillExp(STAT_DEFENSE);
					statIndex = STAT_DEFENSE;
				}
				expgained = skills.getCurrentSkillExp(STAT_DEFENSE) - startexp;
			}
			
			if (runRange) {
				if ( startexp == 0) {
					startexp = skills.getCurrentSkillExp(STAT_RANGE);
					statIndex = STAT_RANGE;
				}
				expgained = skills.getCurrentSkillExp(STAT_RANGE) - startexp;
			}
			
			if (runMagic) {
				if ( startexp == 0) {
					startexp = skills.getCurrentSkillExp(STAT_MAGIC);
					statIndex = STAT_MAGIC;
				}
				expgained = skills.getCurrentSkillExp(STAT_MAGIC) - startexp;
			}
			
			if ( HPstartexp == 0) {
				HPstartexp = skills.getCurrentSkillExp(STAT_HITPOINTS);
			}
			HPexpgained = skills.getCurrentSkillExp(STAT_HITPOINTS) - HPstartexp;
			
			long millis = System.currentTimeMillis() - startTime;
            long hours = millis / (1000 * 60 * 60);
            millis -= hours * (1000 * 60 * 60);
            long minutes = millis / (1000 * 60);
            millis -= minutes * (1000 * 60);
            long seconds = millis / 1000;
			
			
			
			long totalSeconds = ((System.currentTimeMillis() - startTime) / 1000);
			
			int EXPGained = skills.getCurrentSkillExp(statIndex) - startexp;
			long EXPPerHour;
			if (totalSeconds == 0) {
				EXPPerHour = 0;
			} else {
				EXPPerHour = (EXPGained * 3600) / totalSeconds;
			}
			
			long secondsToLvl;
			
			if (EXPPerHour == 0) {
				secondsToLvl = 0;
			} else {
				secondsToLvl = (skills.getXPToNextLevel(statIndex) * 3600) / EXPPerHour;
			}
			;
			long hoursToLvl = secondsToLvl / (60 * 60);
			secondsToLvl -= hoursToLvl * (60 * 60);
			long minutesToLvl = secondsToLvl / (60);
			secondsToLvl -= minutesToLvl * (60);
			
			
			
			Mouse m = Bot.getClient().getMouse();
			Point p = new Point(m.x,m.y);
			
			if (isWithinBounds(p,350,350,70,20)) {
				paintSelection = 0;
			}
			if (isWithinBounds(p,420,350,70,20)) {
				paintSelection = 1;
			}
			
			g.setColor(background);
			g.fillRoundRect(350,350,140,20,5,5);
			g.fillRoundRect(350,374,140,82,5,5);
			
			g.setFont(new Font("sans serif", Font.PLAIN, 16));
			g.setColor(white);
			g.drawString("EXP", 373, 365);
			g.drawString("INFO", 437, 365);
			g.fillRect(420,350,1,20);
			
			
			g.setFont(new Font("sans serif", Font.PLAIN, 12));
			int y = 375;
			if (paintSelection == 0) {
				g.setColor(blue);
				g.drawString("Combat EXP: " + expgained, 355, y += 14);
				g.drawString("Hitpoints EXP: " + HPexpgained, 355, y += 14);
				g.drawString("EXP Per Hour: " + EXPPerHour, 355, y += 14);
				g.drawString("Level in: " + hoursToLvl + ":" + minutesToLvl + ":" + secondsToLvl, 355, y += 14);
				
				g.setColor(white);
				g.drawString("" + skills.getPercentToNextLevel(statIndex)+"%", 355, y += 20);
				g.setColor(green);
				g.fillRoundRect(385, y -= 10, skills.getPercentToNextLevel(statIndex), 10, 5, 10);
			}
			
			if (paintSelection == 1) {
				g.setColor(white);
				g.drawString("Myr Seagull Rapist", 355, y += 14);
				g.setColor(blue);
				g.drawString("Seagulls Raped: " + raped, 355, y += 14);
				g.drawString("Time Running: " + hours + ":" + minutes + ":" + seconds , 355, y += 14);
				g.drawString("Status: " + status, 355, y += 14);
				g.setColor(white);
				g.drawString("Created by Myr/Epic_", 355, y += 20);
			}
        }
    }  
	
	public void serverMessageRecieved(ServerMessageEvent arg) {
         if(arg.getMessage().equalsIgnoreCase("There is no ammo left in your quiver.")) {
         	log("Uh oh, we're out of ammo. Breaking tablet and quitting.");
         	getOut(true);
         }
		 
		 if(arg.getMessage().equalsIgnoreCase("You need a higher slayer level to know how to wound this monster.")) {
			spiritual = true;
		 }
		 
		 if(arg.getMessage().contains("out of Prayer points")) {
			log("We ran out of Prayer Points.");
			if(prayerPotionCount() == 0) {
				log("No prayer potions are left. Teleporting now.");
				getOut(true);
			} else {
				log("There are still " + prayerPotionCount() + " Prayer Potions left... Lets sip a dose and reactivate prayer.");
				clickInventoryItem(prayerPotionItem(), true);
				waitCustom(random(getSI("DrinkInt1")[0], getSI("DrinkInt1")[1]));
				activatePrayer();
			}
		 }
		 
		 if(arg.getMessage().contains("recharge your Prayer")) {
			log("We are trying to activate prayer but no prayer is left?");
			if(prayerPotionCount() == 0) {
				log("No prayer potions are left. Teleporting now.");
				getOut(true);
			} else {
				log("There are still " + prayerPotionCount() + " Prayer Potions left... Lets sip a dose and reactivate prayer.");
				clickInventoryItem(prayerPotionItem(), true);
				waitCustom(random(getSI("DrinkInt1")[0], getSI("DrinkInt1")[1]));
				activatePrayer();
			}
		 }
		 
		 if(arg.getMessage().contains("door devours the life-force")) {
			log("Oh dear... Looks like we've got a date with Kree'arra herself.....");
			log(".....      I think it'd be best if we skipped the date.");
			clickInventoryItem(getTeleportID(), true);
			waitCustom(random(15000, 20000));
			stopAllScripts();
		 }
	}
	
	public void priceChecker() {
		log("avianPro: Anti-ban `Price Checker` by Hidendra activated.");
		if(getCurrentTab() != TAB_EQUIPMENT)
			openTab(TAB_EQUIPMENT);
		atInterface(387, 81);
		while(!RSInterface.getInterface(206).isValid())
			waitCustom(50);
		int[] items = getInventoryArray();
		int[] add = { drops[0], 995, drops[5], drops[6], 556, 563 };
		for(int i : items) {
			for(int i1 : add)
				if(i1 == i) {
					atPriceChecker(i1, "Add-All");
					waitCustom(random(100,500));
				}
		}
		waitCustom( (int)antiBan[0][3] * 1000 );
		moveMouse(random(481, 491), random(28, 40));
		waitCustom(200);
		clickMouse(true);
		log("avianPro: Anti-ban `Price Checker` by Hidendra completed. Now continuing :)");
		freezeScript = false;
		antiBan[0][4] = (random(antiBan[0][1], antiBan[0][2]) / 25) * 1000 * 30;
	}
	
	public void checkRangeExp() {
		log("avianPro: Anti-ban `Range Exp Check` by Hidendra activated.");
		if(getCurrentTab() != TAB_STATS)
			openTab(TAB_STATS);
		waitCustom(random(25, 150));
		moveMouse(random(557, 600), random(324, 347));
		waitCustom(random(getSI("CheckExpWaitInt1")[0], getSI("CheckExpWaitInt1")[1]));
		openTab(TAB_INVENTORY);
		log("avianPro: Anti-ban `Range Exp Check` by Hidendra completed. Now continuing :)");
		freezeScript = false;
		antiBan[1][3] = (random(antiBan[1][1], antiBan[1][2]) / 25) * 1000 * 30;
	}
	
	public boolean atPriceChecker(int itemID, String option) {
		int[] items = getInventoryArray();
		java.util.List<Integer> possible = new ArrayList<Integer>();
		for (int i = 0; i < items.length; i++) {
			if (items[i] == itemID) {
				possible.add(i);
			}
		}
		if (possible.size() == 0) return false;
		int idx = possible.get(random(0, possible.size()));
		Point t = getInventoryItemPoint(idx);
		clickMouse(t, 5, 5, false);
		return atMenu(option);
	}
	
	private void alch() {
		if(alch == 0 || getNPC() != null)
			return;

		int[] toAlch = { 5678, 9431, 1294, 985 };
		if(alching)
			for(int i : toAlch) { 
				RSItem item = getInventoryItemByID(i);
				if(item == null)
					continue;
				if(getCurrentTab() != TAB_MAGIC)
					openTab(TAB_MAGIC);
				moveMouse(random(635, 651), random(353, 352));
				clickMouse(true);
				waitCustom(random(400, 600));
				clickInventoryItem(i, true);
				waitCustom(random(1400, 1600));
				if(getCurrentTab() != TAB_INVENTORY)
					openTab(TAB_INVENTORY);
			}

		int count = 0;
		for(int i : toAlch) {
			count += getInventoryCount(i);
		}
		if(count > 0)
			alching = true;
		else
			alching = false;
	}
	
	private boolean food(boolean flag) {
		if(skills.getCurrentSkillLevel(3) <= eat && !flag && getNPC() == null)
			for(int i : food) { // we want to eat the good food first..
				if(getInventoryCount(i) == 0)
					continue; 
				clickInventoryItem(i, true);
				log("Ate food.");
				waitCustom(random(getSI("FoodInt1")[0], getSI("FoodInt1")[1]));
				newHP();
				waitCustom(random(getSI("FoodInt2")[0], getSI("FoodInt2")[1]));
				return true;
			}
		if(!flag && getNPC() != null && skills.getCurrentSkillLevel(3) <= 45)
			for(int i : food) { // we want to eat the good food first..
				if(getInventoryCount(i) == 0)
					continue; 
				clickInventoryItem(i, true);
				log("Ate food.");
				waitCustom(random(getSI("FoodInt1")[0], getSI("FoodInt1")[1]));
				newHP();
				waitCustom(random(getSI("FoodInt2")[0], getSI("FoodInt2")[1]));
				return true;
			}
		if(flag) { 
		
			if(getInventoryCount(drops[1]) > 0 || getInventoryCount(drops[2]) > 0) {
				alch();
				return true;
			}
		
			if(getInventoryCount(drops[3]) > 0) { // we found the bone
				bone();
				return true;
			}
			for(int i=food.length-1; i>=0; i--) { // go through the food array in reverse-order to ensure crappy food > good food..
				if(getInventoryCount(food[i]) == 0)
					continue; 
				clickInventoryItem(food[i], true);
				log("Force ate a piece of food to make room.");
				waitCustom(random(getSI("FoodInt3")[0], getSI("FoodInt3")[1]));
				return true;
			}
			
		}
		return false; 
	}
	
	private void forceEatNoSharks() {
		if(getInventoryCount(drops[1]) > 0 || getInventoryCount(drops[2]) > 0) {
			alch();
			return;
		}
		if(getInventoryCount(drops[3]) > 0) {
			bone();
			return;
		}
		for(int i=food.length-1; i>=0; i--) {
			if(food[i] == 385 || getInventoryCount(food[i]) == 0) // we don't want to eat a shark just to make room for a Swordfish.... lawl
				continue;
			clickInventoryItem(food[i], true);
			log("Force at a piece of food to make room.");
			waitCustom(random(getSI("FoodInt3")[0], getSI("FoodInt3")[1]));
			break;
		}
	}
	
	private void bone() {
		if(bury) {
			clickInventoryItem(drops[3], true);
			log("Buried Bones to make room.");
			waitCustom(random(getSI("BoneInt1")[0], getSI("BoneInt1")[1]));
		} else {
			if(getCurrentTab() != TAB_INVENTORY)
				openTab(TAB_INVENTORY);
			atInventoryItem(drops[3], "Drop");
			log("Dropped Bones to make room.");
			waitCustom(random(getSI("BoneInt1")[0], getSI("BoneInt1")[1]));
		}
	}
	
	private void checkForBones() {
		if(!prayer && getNPC() == null)
			if(getInventoryCount(drops[3]) >= btp) {
				clickInventoryItem(items[1], true);
				log("Bones to Peaches tablet activated.");
				waitCustom(random(getSI("BoneInt2")[0], getSI("BoneInt2")[1]));
				return;
			}
	}
	
	private boolean clickInventoryItem(int itemID, boolean click) { // Unknown author
		if (getCurrentTab() != TAB_INVENTORY
				&& !RSInterface.getInterface(INTERFACE_BANK).isValid()
				&& !RSInterface.getInterface(INTERFACE_STORE).isValid()) {
			openTab(TAB_INVENTORY);
		}
		int[] items = getInventoryArray();
		java.util.List<Integer> possible = new ArrayList<Integer>();
		for (int i = 0; i < items.length; i++) {
			if (items[i] == itemID) {
				possible.add(i);
			}
		}
		if (possible.size() == 0) return false;
		int idx = possible.get(random(0, possible.size()));
		Point t = getInventoryItemPoint(idx);
		clickMouse(t, 5, 5, click);
		return true;
	}
	
	private boolean clickCharacterCustom(RSNPC npc, String action) {
		RSTile tile = npc.getLocation();
		RSTile randomTile = tile.randomizeTile(1, 1);
		try {
			int hoverRand = random(8, 13);
			for (int i = 0; i < hoverRand; i++) {
				Point screenLoc = npc.getScreenLocation();
				if (!pointOnScreen(screenLoc)) {
					 setCameraRotation(getCameraAngle() + random(-35, 150));
					return false;
				}

				moveMouse(screenLoc, 15, 15);

				List<String> menuItems = getMenuItems();
				if (menuItems.isEmpty() || menuItems.size() <= 1) {
					continue;
				}
				if (menuItems.get(0).toLowerCase().contains(
						npc.getName().toLowerCase())
						&& getNPC() == null) {
					clickMouse(true);
					return true;
				} else {
					for (int a = 1; a < menuItems.size(); a++) {
						if (menuItems.get(a).toLowerCase().contains(
								npc.getName().toLowerCase())
								&& getNPC() == null) {
							clickMouse(false);
							return atMenu(action);
						}
					}
				}
			}

		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
		return false;
	}

	private int getTeleportID() {
		int[] items = getInventoryArray();
		for(int item : items)
			for (int i : teleports)
				if (item == i) return item;
		return -1;
	}
	
	private int getBoltID() {
		int[] items = getEquipmentArray();
		for(int item : items)
			for(int i : bolts)
				if(item == i) return item;
		return -1;
	}
	
	private int prayerPotionCount() {
		int i = 0;
		int[] items = getInventoryArray();
		for(int i1 : items)
			for(int i2 : prayerPotions)
				if(i1 == i2) i++;
		return i;
	}
	
	private int prayerPotionItem() {
		int[] items = getInventoryArray();
		for(int i : prayerPotions)
			for(int i1 : items)
				if(i == i1) return i;
		return -1;
	}
	
	private int rangePotionCount() {
		int i = 0;
		int[] items = getInventoryArray();
		for(int i1 : items)
			for(int i2 : rangePotions)
				if(i1 == i2) i++;
		return i;
	}
	
	private int rangePotionItem() {
		int[] items = getInventoryArray();
		for(int i : items)
			for(int i1 : rangePotions)
				if(i == i1) return i1;
		return -1;
	}
	
	private int defencePotionCount() {
		int i = 0;
		int[] items = getInventoryArray();
		for(int i1 : items)
			for(int i2 : defencePotions)
				if(i1 == i2) i++;
		return i;
	}
	
	private int defencePotionItem() {
		int[] items = getInventoryArray();
		for(int i : items)
			for(int i1 : defencePotions)
				if(i == i1) return i1;
		return -1;
	}
	
	private RSCharacter getNPC() {
		try {
			return getMyPlayer().getInteracting();
		} catch(ArrayIndexOutOfBoundsException e) {
			return null;
		}
	}
	
	private void waitCustom(int w) {
		try {
			wait(w);
		} catch(IllegalArgumentException e) { }
	}
	
	private void dropJunkItems() {
		if(getNPC() != null || getMyPlayer().isInCombat())
			return;
			
		for(RSItem i : getInventoryItems()) {
			if(i == null)
				continue;
				
			for(int i1 : junkIDs)
				if(i.getID() == i1) {
					if(getCurrentTab() != TAB_INVENTORY)
						openTab(TAB_INVENTORY);
					log("Dropping Junk Items.");
					atInventoryItem(i1, "Drop");
					waitCustom(random(getSI("DropJunkInt1")[0], getSI("DropJunkInt1")[1]));
					}
			for(int i2 : bolts)
				if(i.getID() == i2 && i2 != boltStarted && i2 != -1) {
					if(getCurrentTab() != TAB_INVENTORY)
						openTab(TAB_INVENTORY);
					log("Dropping foreign Bolts");
					atInventoryItem(i2, "Drop");
					waitCustom(random(getSI("DropJunkInt1")[0], getSI("DropJunkInt1")[1]));
				}
			if(i.getID() == boltStarted && boltStarted != -1) {
				if(getCurrentTab() != TAB_INVENTORY)
					openTab(TAB_INVENTORY);
				log("Equipping Bolts.");
				clickInventoryItem(boltStarted, true);
				waitCustom(random(getSI("DropJunkInt1")[0], getSI("DropJunkInt1")[1]));
			}
			
		}			
	}
	
	private boolean rangePrayerActivated() {
		if(Integer.toString(prayerActivated()).contains("19"))
			return true;
		return false;
	}
	
	private int prayerActivated() { // Author: Velocity
        switch (getSetting(1395)) {
            case 1:        return 1;    // Thick Skin
            case 2:        return 2;    // Burst of Strength
            case 4:        return 3;    // Clarity of Thought
            case 262144:    return 4;    // Sharp Eye
            case 524288:    return 5;    // Mystic Will
            case 8:        return 6;    // Rock Skin
            case 16:        return 7;    // Superhuman Strength
            case 32:        return 8;    // Improved Reflexes
            case 64:        return 9;    // Rapid Restore
            case 128:        return 10;    // Rapid Heal
            case 256:        return 11;    // Protect Item
            case 1048576:    return 12;    // Hawk Eye
            case 2097152:    return 13;    // Mystic Lore
            case 512:        return 14;    // Steel Skin
            case 1024:        return 15;    // Ultimate Strength
            case 2048:        return 16;    // Incredible Reflexes
            case 16777216:    return 17;    // Protect from Summoning
            case 4096:        return 18;    // Protect from Magic
            case 8192:        return 19;    // Protect from Range
            case 16384:    return 20;    // Protect from Melee
            case 4194304:    return 21;    // Eagle Eye
            case 8388608:    return 22;    // Mystic Might
            case 32768:    return 23;    // Retribution
            case 65536:    return 24;    // Redemption
            case 131072:    return 25;    // Smite
            case 3:         return 26;    // Chivalry (Need Info)
            case 6:        return 27;    // Piety (Need Info)
            default:        return 0;    // None Activated
        }
    } 
	
	public void teleport(String message) {
		log(message);
		clickInventoryItem(getTeleportID(), true);
		waitCustom(random(getSI("Kree'ArraInt1")[0], getSI("Kree'ArraInt1")[1]));
		stopAllScripts();
	}
	
	public void logout(String message) {
		log(message);
		waitCustom(random(getSI("Kree'ArraInt1")[0], getSI("Kree'ArraInt1")[1]));
		stopAllScripts();
	}
	
	private void getOut(boolean flag) {
		int c = 0;
		for(int i : food)
			c += getInventoryCount(i);
		if(!flag) {
			log("Last resort measures activated. Now teleporting and leaving.");
			clickInventoryItem(getTeleportID(), true);
			waitCustom(random(getSI("Kree'ArraInt1")[0], getSI("Kree'ArraInt1")[1]));
			stopAllScripts();
			return;
		} else {
			if(getInventoryCount(drops[3]) > 2) {
				c += getInventoryCount(drops[3]);
				clickInventoryItem(items[1], true);
				log("Bones to Peaches tablet activated.");
				waitCustom(random(getSI("BoneInt2")[0], getSI("BoneInt2")[1]));
			}
			if(c > 0) {
				while(skills.getCurrentSkillLevel(3) <= eat) {
					if(c == 0) {
						if(getInventoryCount(drops[3]) > 2) {
							c += getInventoryCount(drops[3]);
							clickInventoryItem(items[1], true);
							log("Bones to Peaches tablet activated.");
							waitCustom(random(getSI("BoneInt2")[0], getSI("BoneInt2")[1]));
						} else
							break;
					}
					if(food(false))
						c--;
				}
			
			}
			if(c == 0) {
				log("Last resort measures activated. Now teleporting and leaving.");
				if(getCurrentTab() != TAB_INVENTORY)
					openTab(TAB_INVENTORY);
				waitCustom(100);
				clickInventoryItem(getTeleportID(), true);
				waitCustom(random(getSI("Kree'ArraInt1")[0], getSI("Kree'ArraInt1")[1]));
				stopAllScripts();
				return;
			}
		}
	}
	
	public void openPayPalDonation() {
	
		if( !java.awt.Desktop.isDesktopSupported() ) {
            System.err.println("Unable to open PayPal page. You can manually open the page; the url is https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4625597");
			return;
        }
        java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
        if( !desktop.isSupported( java.awt.Desktop.Action.BROWSE ) ) {
            System.err.println("Unable to open PayPal page. You can manually open the page; the url is https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4625597");
			return;
        }
        try {
            desktop.browse(new URI("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4625597"));
			log("Successfully opened Donation page.");
        }
        catch (Exception e) {
            e.printStackTrace();
			return;
        }

	
	}
	
	private boolean turnPrayer(int prayID, boolean activate) {
		int cPrayer = prayerActivated();
		if(activate) {
			if(cPrayer == prayID)
				return true;
			clickPrayer(prayID);
			waitCustom(random(500,750));
			return (prayerActivated() == prayID);
		} else {
			if(cPrayer == 0)
				return true;
			clickPrayer(prayID);
			waitCustom(random(500,750));
			return (prayerActivated() == 0);
		}
	}  
	
	private boolean clickPrayer(int prayID) {
		int PrayX = 569;
		int PrayY = 233;
		if(prayID == 2 || prayID == 7 || prayID == 12 || prayID == 17 || prayID == 22 || prayID == 27)    // Row 2
			PrayX += 39;
		if(prayID == 3 || prayID == 8 || prayID == 13 || prayID == 18 || prayID == 23)                    // Row 3
			PrayX += (39 * 2);
		if(prayID == 4 || prayID == 9 || prayID == 14 || prayID == 19 || prayID == 24)                    // Row 4
			PrayX += (39 * 3);
		if(prayID == 5 || prayID == 10 || prayID == 15 || prayID == 20 || prayID == 25)                    // Row 5
			PrayX += (39 * 4);
				
		if(prayID > 5)
			PrayY += 37;
		if(prayID > 10)
			PrayY += 37;
		if(prayID > 15)
			PrayY += 37;
		if(prayID > 20)
			PrayY += 37;
		if(prayID > 25)
			PrayY += 37;
			
		if(getCurrentTab() != TAB_PRAYER)
			openTab(TAB_PRAYER);
		waitCustom(random(300, 500));
		clickMouse(PrayX, PrayY, 5, 5,  true);
		return true;
	}	  
	
	private RSItemTile findDrop(boolean inMinimap, int id) {
		int range = 15;
		RSItemTile closest = null;
		int pX = getMyPlayer().getLocation().getX();
		int pY = getMyPlayer().getLocation().getY();
		int minX = pX - range;
		int minY = pY - range;
		int maxX = pX + range;
		int maxY = pY + range;
		_x: for (int x = minX; x <= maxX; x++) {
			for (int y = minY; y <= maxY; y++) {
				RSItemTile[] items = getGroundItemsAt(x, y);
				for (RSItemTile item : items) {
					int iId = item.getItem().getID();
					if (iId == id) {
						if (inMinimap && distanceTo(item) <= range) {
							closest = item;
							range = distanceTo(item);
							continue;
						} else if (!inMinimap) {
							if (!tileOnScreen(item)) {
								continue;
							} else {
								closest = item;
								break _x;
							}
						}
					}
				}
			}
		}
		return closest;
	}
	
	private boolean inArea(RSTile tile) {
		return area.contains(tile.getX(), tile.getY());
	}
	
	private boolean doDrops() {
		boolean found = false;

		if (clueScroll) {
			for (int i : clueIDs) {
				RSTile clue = findDrop(true, i);
				if (clue == null) {
					continue;
				}

				if (!clue.isValid()) {
					continue;
				}

				if (!inArea(clue)) {
					continue;
				}
				found = true;

				while (!tileOnScreen(clue) && !getMyPlayer().isMoving()) {
					walkTileMM(randomizeTile(clue, 2, 2));
					wait(random(getSI("DropsInt1")[0], getSI("DropsInt1")[1]));
				}

				if (isInventoryFull()) {
					food(true);
				}

				if (atTile(clue, "Clue") && !isInventoryFull()) {
					log("Picked up a Clue Scroll");
					loot++;
					wait(random(getSI("DropsInt2")[0], getSI("DropsInt2")[1]));
				}
			}
		}

		if (bolts1) {
			for (int i : bolts) {
				if (killingID != null) {
					if (killingID.isValid()) {
						if (getNPC() != null || killingID.getHPPercent() > 0
								&& killingID.isInCombat()) {
							return true;
						}
					}
				}
				if (i != boltStarted) {
					continue;
				}

				RSTile bolt = findDrop(true, boltStarted);
				if (bolt == null) {
					continue;
				}

				if (!bolt.isValid()) {
					continue;
				}

				if (!inArea(bolt)) {
					continue;
				}

				if (boltPriority == 3 && isInventoryFull()) {
					continue;
				}
				if (boltPriority == 2 && isInventoryFull()) {
					forceEatNoSharks();
				}
				if (boltPriority == 1 && isInventoryFull()) {
					food(true);
				}

				found = true;
				pickup = true;

				while (!tileOnScreen(bolt) && !getMyPlayer().isMoving()) {
					walkTileMM(randomizeTile(bolt, 2, 2));
					wait(random(getSI("DropsInt1")[0], getSI("DropsInt1")[1]));
				}

				if (atTile(bolt, "bolt")) {
					log("Picked up Bolts");
					loot++;
					wait(random(getSI("DropsInt2")[0], getSI("DropsInt2")[1]));
					return false;
				}

			}
		}

		for (int i : dropsPriority) {
			if (killingID != null) {
				if (killingID.isValid()) {
					if (getNPC() != null && i != 2361) {
						return true;
					}
				}
			}

			boolean stack = false;
			int before = 0;
			RSItemTile drop = null;

			if (i == 555 && !waters1) {
				continue;
			}
			if (i == 565 && !bloods1) {
				continue;
			}
			if (i == 373 && !swordfish1) {
				continue;
			}
			if (i == 556 && !airs1) {
				continue;
			}
			if (i == 563 && !laws1) {
				continue;
			}
			/*if (i == 207 && !ranarrs) {
				continue;
			}
			if (i == 562 && !chaos) {
				continue;
			}*/
			if ((i == 561 || i == 9431 || i == 5678) && alch == 0) {
				continue;
			}
			if (i == 555 || i == 565 || i == 561 || i == 556 || i == 563
					|| i == 562 || i == 2362) {
				stack = true;
			}
			if ((i == 373 || i == 526) && prayer) {
				continue;
			}

			if (i == 2362 || i == 9431 || i == 5678) {
				drop = findDrop(true, i);
			} else {
				drop = findDrop(false, i);
			}

			if (drop == null) {
				continue;
			}

			if (!drop.isValid()) {
				continue;
			}

			if (!inArea(drop)) {
				continue;
			}

			if (i == 373 && isInventoryFull()) {
				doSwordfishes();
				return false;
			}
			if (i == 526 && isInventoryFull()) {
				continue;
			}
			if (stack && isInventoryFull() && getInventoryCount(i) == 0) {
				if (!food(true)) {
					return false;
				}
			}
			if (!stack && isInventoryFull()) {
				if (!food(true)) {
					return false;
				}
			}

			found = true;
			pickup = true;

			if (getMyPlayer().isMoving() || getDestination() != null) {
				return false;
			}

			while (!tileOnScreen(drop)
					&& (!getMyPlayer().isMoving() || getDestination() != null)) {
				walkTileMM(randomizeTile(drop, 2, 2));
				wait(random(getSI("DropsInt1")[0], getSI("DropsInt1")[1]));
			}

			before = getInventoryCount(i);

			if (atTile(drop, getItemNameProper(i)) && getInventoryCount(i) > 0
					&& stack) {
				log("Picked up " + getItemName(i));
				loot++;
				wait(random(getSI("DropsInt2")[0], getSI("DropsInt2")[1]));
				waitToLoot(i, before);
				return false;
			} else {
				wait(random(200, 500));
			}

			if (atTile(drop, getItemNameProper(i)) && !isInventoryFull()
					&& !stack) {
				log("Picked up " + getItemName(i));
				loot++;
				wait(random(getSI("DropsInt2")[0], getSI("DropsInt2")[1]));
				waitToLoot(i, before);
				return false;
			} else {
				wait(random(200, 500));
			}

			return false;
		}

		if (!found) {
			if (pickup) {
				pickup = false;
			}
			return true;
		}

		return false;

	}
	
	private void doSwordfishes() {
		RSTile ti = findDrop(false, 373);
		RSItemTile[] tile = getGroundItemsAt(ti.getX(), ti.getY());
		int count = 0, started = 0;
		for (RSItemTile t : tile) {
			if (t.getItem().getID() == 373) {
				count++;
			}
		}
		started = getInventoryCount() - count;
		while (count > 0) {
			if (getInventoryCount() - started == count) {
				forceEatNoSharks();
			}
			count--;
		}
	}
	
	private void waitToLoot(int itemID, int stockBefore) {
		int tries = 0;
		while (getInventoryCount(itemID) == stockBefore) {
			wait(random(50, 100));
			tries++;
			if (tries > 20) {
				break;
			}
		}
	}
	
	private void doPotions() {
		if(prayer) {
			if(!activatePrayer() && !rangePrayerActivated()) {
				if(skills.getCurrentSkillLevel(skills.getStatIndex("prayer")) == 0) {
					log("No prayer left.. checking pots, if some left sipping and if not teleporting.");
					if(prayerPotionCount() == 0) {
						log("No prayer potions are left. Teleporting now.");
						getOut(false);
					} else {
						log("There are still " + prayerPotionCount() + " Prayer Potions left... Lets take two sips and reactivate prayer.");
						clickInventoryItem(prayerPotionItem(), true);
						waitCustom(random(getSI("PrayerInt1")[0],getSI("PrayerInt1")[1]));
						clickInventoryItem(prayerPotionItem(), true);
						waitCustom(random(getSI("PrayerInt2")[0],getSI("PrayerInt2")[1]));
						activatePrayer();
						if(getCurrentTab() != TAB_INVENTORY)
							openTab(TAB_INVENTORY);
					}
				} else {
					log("PrayerError: Restart the script and if you get this again report it in the thread.");
				}
			} 
			if( skills.getCurrentSkillLevel(skills.getStatIndex("prayer")) <= potAt ) {
				if(getNPC() == null || skills.getRealSkillLevel(skills.getStatIndex("prayer")) <= 10) {
					potAt = random(12, skills.getRealSkillLevel( skills.getStatIndex("prayer") ) - 30);
					if(prayerPotionCount() > 0) {
						clickInventoryItem( prayerPotionItem(), true );
						waitCustom(random(getSI("PrayerInt3")[0],getSI("PrayerInt3")[1]));
						log("Took a sip of a Prayer Potion. We now have " + prayerPotionCount() + " Prayer Potions left. Next drinking at " + potAt + " prayer");
					} else {
						log("We are out of Prayer Potions. Time to teleport.");
						getOut(true);
						return;
					}
				}
			}
		}
	
		if(potions) {
			int currentRange = skills.getCurrentSkillLevel(skills.getStatIndex("range")), currentDefence = skills.getRealSkillLevel(skills.getStatIndex("defence"));

			if(rangePotionCount() > 0)
				if( currentRange <= getPotionRange(true) ) {
					if(getCurrentTab() != TAB_STATS)
						openTab(TAB_STATS);
					waitCustom(random(getSI("PotionsInt1")[0], getSI("PotionsInt1")[1]));
					clickInventoryItem( rangePotionItem(), true );
					waitCustom(random(getSI("PotionsInt2")[0], getSI("PotionsInt2")[1]));
					log("Took a sip of a Range Potion.");
					newPotionRange(true);
				}
				
			if(defencePotionCount() > 0)
				if( currentDefence <= getPotionRange(false) ) {
					if(getCurrentTab() != TAB_STATS)
						openTab(TAB_STATS);
					waitCustom(random(getSI("PotionsInt1")[0], getSI("PotionsInt1")[1]));
					clickInventoryItem( defencePotionItem(), true );
					waitCustom(random(getSI("PotionsInt2")[0], getSI("PotionsInt2")[1]));
					log("Took a sip of a Defence Potion.");
					newPotionRange(false);
				}
		}
	}
	
	public void newPotionRange(boolean flag) {
		String type = flag == true ? "Range" : "Defence";
		double range = skills.getRealSkillLevel(skills.getStatIndex( flag == true ? "range" : "defence" ) );
		range = range + Math.round( range * .15 / 2 );
		potionRanges[flag == true ? 0 : 1] = (int)range;
		log("Next drinking a " + type + " potion at: " + (int)range + " " + type);
	}
	
	public int getPotionRange(boolean flag) {
		return potionRanges[flag == true ? 0 : 1];
	}
	
	public void newHP() {
		eat = random(eatRange[0], eatRange[1]);
		log("Next eating at: " + eat + " HP");
	}
	
	public String getSetting(String id) {
		for(String x : config) {
			if(x == null)
				break;
			String x1[] = x.split(":");
			if(x1[0].equals(id))
				return x1[1] + ":" + x1[2];
		}
		for(String[] x2 : customize) {
			if(x2[0] == null)
				break;
			if(x2[0].equals(id))
				return x2[1] + ":" + x2[2];
		}
		return "UNKNOWN";
	}
	
	public int[] getSI(String id) {
		int[] setting = new int[2];
		for(String possible : config) {
			if(possible == null) continue;
			String[] x = possible.split(":");
			if(x[0].equals(id)) {
				setting[0] = Integer.parseInt(x[1]);
				setting[1] = Integer.parseInt(x[2]);
				return setting;
			}
		}
		return new int[2];
	}
	
	public RSItemTile getClosestGroundItemByID(int _range, int id) { // temporary until if/when my method gets added to RSBot.
		int range = _range;
		RSItemTile closest = null;
		int pX = getMyPlayer().getLocation().getX();
		int pY = getMyPlayer().getLocation().getY();
		int minX = pX - range;
		int minY = pY - range;
		int maxX = pX + range;
		int maxY = pY + range;
		for (int x = minX; x <= maxX; x++) {
			for (int y = minY; y <= maxY; y++) {
				RSItemTile[] items = getGroundItemsAt(x, y);
				for (RSItemTile item : items) {
					int iId = item.getItem().getID();
					if (iId == id) {
						if(distanceTo(item) <= range) {
							closest = item;
							range = distanceTo(item);
							continue;
						}
					}
				}
			}
		}
		return closest;
	}
	
	public class Config extends JFrame {
	
		public Config(avianProHidendra1_18 parent) {
			this.parent = parent;
			init();
			setResizable(false);
			setVisible(true);
		}
		
		private void init() {
			jTextField1 = new JTextField(parent.getConfig("eatr1"));
			jTextField2 = new JTextField(parent.getConfig("eatr2"));
			jTextField4 = new JTextField(parent.getConfig("alch"));
			jTextField5 = new JTextField(parent.getConfig("btp"));
			jTextField7 = new JTextField(parent.getConfig("teleat"));
			jTextField8 = new JTextField(parent.getConfig("pc1"));
			jTextField9 = new JTextField(parent.getConfig("pc2"));
			jTextField10 = new JTextField(parent.getConfig("pcwait"));
			jTextField11 = new JTextField(parent.getConfig("xp1"));
			jTextField12 = new JTextField(parent.getConfig("xp2"));
			jTextField13 = new JTextField(parent.getConfig("gpgoal"));
			jTextField14 = new JTextField(parent.getConfig("runhours"));
			jTextField15 = new JTextField(parent.getConfig("runminutes"));
			jTextField16 = new JTextField(parent.getSetting("CameraInt1"));
			jTextField17 = new JTextField(parent.getSetting("EnableRunInt1"));
			jTextField18 = new JTextField(parent.getSetting("DrinkInt1"));
			jTextField19 = new JTextField(parent.getSetting("DropsInt1"));
			jTextField20 = new JTextField(parent.getSetting("DropsInt2"));
			jTextField21 = new JTextField(parent.getSetting("AttackInt1"));
			jTextField22 = new JTextField(parent.getSetting("SpiritualInt1"));
			jTextField23 = new JTextField(parent.getSetting("Kree'ArraInt1"));
			jTextField24 = new JTextField(parent.getSetting("CheckExpWaitInt1"));
			jTextField25 = new JTextField(parent.getSetting("FoodInt1"));
			jTextField26 = new JTextField(parent.getSetting("FoodInt2"));
			jTextField27 = new JTextField(parent.getSetting("FoodInt3"));
			jTextField28 = new JTextField(parent.getSetting("BoneInt1"));
			jTextField29 = new JTextField(parent.getSetting("BoneInt2"));
			jTextField30 = new JTextField(parent.getSetting("DropJunkInt1"));
			jTextField31 = new JTextField(parent.getSetting("PrayerInt1"));
			jTextField32 = new JTextField(parent.getSetting("PrayerInt2"));
			jTextField33 = new JTextField(parent.getSetting("PrayerInt3"));
			jTextField34 = new JTextField(parent.getSetting("PotionsInt1"));
			jTextField35 = new JTextField(parent.getSetting("PotionsInt2"));
			jTabbedPane1 = new JTabbedPane();
			jLabel1 = new JLabel();
			jButton1 = new JButton();
			jLabel2 = new JLabel();
			jTabbedPane2 = new JTabbedPane();
			jPanel1 = new JPanel();
			jLabel13 = new JLabel();
			jCheckBox14 = new JCheckBox();
			jLabel14 = new JLabel();
			jLabel15 = new JLabel();
			jLabel16 = new JLabel();
			jLabel17 = new JLabel();
			jLabel19 = new JLabel();
			jCheckBox15 = new JCheckBox();
			jCheckBox16 = new JCheckBox();
			jCheckBox17 = new JCheckBox();
			jCheckBox18 = new JCheckBox();
			jCheckBox19 = new JCheckBox();
			jCheckBox21 = new JCheckBox();
			jCheckBox22 = new JCheckBox();
			jCheckBox23 = new JCheckBox();
			jCheckBox24 = new JCheckBox();
			jCheckBox25 = new JCheckBox();
			jLabel20 = new JLabel();
			jPanel2 = new JPanel();
			jCheckBox6 = new JCheckBox();
			jCheckBox7 = new JCheckBox();
			jLabel11 = new JLabel();
			jLabel12 = new JLabel();
			jLabel18 = new JLabel();
			jLabel24 = new JLabel();
			jLabel21 = new JLabel();
			jLabel22 = new JLabel();
			jTextField3 = new JTextField();
			jLabel25 = new JLabel();
			jTextField6 = new JTextField();
			jLabel26 = new JLabel();
			jLabel27 = new JLabel();
			jPanel3 = new JPanel();
			jCheckBox1 = new JCheckBox();
			jCheckBox2 = new JCheckBox();
			jCheckBox3 = new JCheckBox();
			jCheckBox4 = new JCheckBox();
			jCheckBox5 = new JCheckBox();
			jLabel5 = new JLabel();
			jCheckBox12 = new JCheckBox();
			jCheckBox13 = new JCheckBox();
			jPanel4 = new JPanel();
			jSlider1 = new JSlider();
			jLabel6 = new JLabel();
			jLabel7 = new JLabel();
			jLabel8 = new JLabel();
			jLabel9 = new JLabel();
			jLabel10 = new JLabel();
			jPanel7 = new JPanel();
			jLabel47 = new JLabel();
			jLabel48 = new JLabel();
			jLabel49 = new JLabel();
			jLabel50 = new JLabel();
			jLabel52 = new JLabel();
			jLabel51 = new JLabel();
			jLabel54 = new JLabel();
			jLabel55 = new JLabel();
			jLabel56 = new JLabel();
			jLabel53 = new JLabel();
			jLabel57 = new JLabel();
			jLabel58 = new JLabel();
			jLabel59 = new JLabel();
			jLabel60 = new JLabel();
			jLabel61 = new JLabel();
			jLabel62 = new JLabel();
			jLabel63 = new JLabel();
			jLabel64 = new JLabel();
			jLabel65 = new JLabel();
			jLabel67 = new JLabel();
			jLabel68 = new JLabel();
			jLabel69 = new JLabel();
			jLabel70 = new JLabel();
			jLabel66 = new JLabel();
			jPanel5 = new JPanel();
			jLabel28 = new JLabel();
			jLabel29 = new JLabel();
			jLabel30 = new JLabel();
			jLabel31 = new JLabel();
			jLabel32 = new JLabel();
			jLabel33 = new JLabel();
			jLabel34 = new JLabel();
			jLabel35 = new JLabel();
			jLabel36 = new JLabel();
			jCheckBox8 = new JCheckBox();
			jCheckBox9 = new JCheckBox();
			jLabel37 = new JLabel();
			jLabel38 = new JLabel();
			jLabel39 = new JLabel();
			jCheckBox10 = new JCheckBox();
			jLabel40 = new JLabel();
			jLabel41 = new JLabel();
			jLabel42 = new JLabel();
			jLabel43 = new JLabel();
			jCheckBox11 = new JCheckBox();
			jLabel44 = new JLabel();
			jLabel45 = new JLabel();
			jLabel46 = new JLabel();
			jPanel6 = new JPanel();
			jScrollPane1 = new JScrollPane();
			jTextArea1 = new JTextArea();
			jButton2 = new JButton();

			if(parent.getConfig("pricecheck").equals("true"))
				jCheckBox8.setSelected(true);
			
			if(parent.getConfig("checkxp").equals("true"))
				jCheckBox9.setSelected(true);
			
			if(parent.getConfig("69").equals("true"))
				jCheckBox15.setSelected(true);
				
			if(parent.getConfig("71").equals("true"))
				jCheckBox16.setSelected(true);
				
			if(parent.getConfig("73").equals("true"))
				jCheckBox17.setSelected(true);
				
			if(parent.getConfig("79").equals("true"))
				jCheckBox18.setSelected(true);
				
			if(parent.getConfig("84").equals("true"))
				jCheckBox19.setSelected(true);
				
			if(parent.getConfig("92").equals("true"))
				jCheckBox21.setSelected(true);
				
			if(parent.getConfig("94").equals("true"))
				jCheckBox22.setSelected(true);
				
			if(parent.getConfig("97").equals("true"))
				jCheckBox23.setSelected(true);
				
			if(parent.getConfig("137").equals("true"))
				jCheckBox24.setSelected(true);
				
			if(parent.getConfig("148").equals("true"))
				jCheckBox25.setSelected(true);
				
			if(parent.getConfig("bury").equals("true"))
				jCheckBox14.setSelected(true);
				
			if(parent.getConfig("bolts").equals("true"))
				jCheckBox5.setSelected(true);
				
			if(parent.getConfig("clue").equals("true"))
				jCheckBox1.setSelected(true);
				
			if(parent.getConfig("swordfish").equals("true"))
				jCheckBox2.setSelected(true);
				
			if(parent.getConfig("waters").equals("true"))
				jCheckBox4.setSelected(true);
				
			if(parent.getConfig("bloods").equals("true"))
				jCheckBox3.setSelected(true);
				
			if(parent.getConfig("prayer").equals("true"))
				jCheckBox6.setSelected(true);
			
			if(parent.getConfig("potions").equals("true"))
				jCheckBox7.setSelected(true);
				
			if(parent.getConfig("laws").equals("true"))
				jCheckBox12.setSelected(true);
			
			if(parent.getConfig("airs").equals("true"))
				jCheckBox13.setSelected(true);
				
			if(parent.getConfig("logoutgoal").equals("true"))
				jCheckBox10.setSelected(true);
			
			if(parent.getConfig("runenabled").equals("true"))
				jCheckBox11.setSelected(true);
				
				
			jTextField6.setVisible(false);
			jTextField3.setVisible(false);
			
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			setTitle("avianPro v" + parent.getVersion() + " Configuration");
			setBackground(new java.awt.Color(255, 255, 255));
			setResizable(false);

			jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24));
			jLabel1.setForeground(new java.awt.Color(255, 0, 0));
			jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
			jLabel1.setText("avianPro v" + parent.getVersion());

			jButton1.setForeground(new java.awt.Color(236, 233, 216));
			jButton1.setIcon(new JLabel() {
                @Override
				public Icon getIcon() {
					try {
						return new ImageIcon(
							new java.net.URL("https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif")
						);
					} catch (java.net.MalformedURLException e) {
					}
					return null;
				}
			}.getIcon());
			jButton1.setBorder(null);
			jButton1.setBorderPainted(false);
			jButton1.setFocusPainted(false);
			jButton1.setFocusable(false);
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent evt) {
					Donation(evt);
				}
			});

			jLabel2.setFont(new java.awt.Font("Tahoma", 0, 24));
			jLabel2.setText("Configuration");

			jTabbedPane2.setTabPlacement(JTabbedPane.LEFT);
			
			jLabel13.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel13.setText("Bury bones to make room:");

			jLabel14.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel14.setText("Pick up and alch RDaggers&RLimbs:");

			jLabel15.setFont(new java.awt.Font("Tahoma", 0, 12));
			jLabel15.setText("yes/no");

			jLabel16.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel16.setText("Use BTP at:");

			jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14));
			jLabel17.setText("bones");

			jLabel19.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel19.setText("Aviansies to attack:");

			jCheckBox15.setText("69");

			jCheckBox16.setText("71");

			jCheckBox17.setText("73");

			jCheckBox18.setText("79");

			jCheckBox19.setText("84");

			jCheckBox21.setText("92");

			jCheckBox22.setText("94");

			jCheckBox23.setText("97");

			jCheckBox24.setText("137");

			jCheckBox25.setText("148");

			jLabel20.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel20.setText("Eat ranges:");

			jLabel21.setFont(new java.awt.Font("Tahoma", 0, 14));
			jLabel21.setText("HP");

			jLabel22.setFont(new java.awt.Font("Tahoma", 0, 18));
			jLabel22.setText("or let the script decide:");

			GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
			jPanel2.setLayout(jPanel2Layout);
			jPanel2Layout.setHorizontalGroup(
		            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGap(0, 0, Short.MAX_VALUE)
		        );
		        jPanel2Layout.setVerticalGroup(
		            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGap(0, 0, Short.MAX_VALUE)
		        );

		        jLabel11.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel11.setText("Use Prayer:");

		        jLabel12.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel12.setText("Use Potions:");

		        jLabel18.setText("Prayer includes the use of Prayer Potions.");

		        jLabel24.setText("Potions uses Range potions and/or [Super/Regular] Defence potions.");

		        jLabel21.setText("TO");

		        jLabel22.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel22.setText("HP");

		        jLabel25.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel25.setText("Emergency teleport:");

		        jLabel26.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel26.setText("HP");

		        jLabel27.setText("at the specified HP the script will teleport no matter what without trying to eat, etc.");

		        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
		        jPanel1.setLayout(jPanel1Layout);
		        jPanel1Layout.setHorizontalGroup(
		            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel1Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel1Layout.createSequentialGroup()
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel13)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jCheckBox14))
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel14)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel15))
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel11)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                                .addComponent(jCheckBox6)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                                .addComponent(jLabel18))
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel12)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jCheckBox7)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                                .addComponent(jLabel24))
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel16)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel17)))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)
		                        .addGap(41, 41, 41)
		                        .addComponent(jTextField3, 0, 0, Short.MAX_VALUE)
		                        .addGap(644, 644, 644))
		                    .addGroup(jPanel1Layout.createSequentialGroup()
		                        .addComponent(jLabel19)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox15)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                        .addComponent(jCheckBox16)
		                        .addGap(2, 2, 2)
		                        .addComponent(jCheckBox17)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox18)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox19)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox21)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                        .addComponent(jCheckBox22)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox23)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                        .addComponent(jCheckBox24)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jCheckBox25)
		                        .addContainerGap(423, Short.MAX_VALUE))
		                    .addGroup(jPanel1Layout.createSequentialGroup()
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
		                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel25)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField7))
		                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel20)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel21)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                            .addComponent(jLabel22)
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addComponent(jLabel26)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel27)))
		                        .addContainerGap(339, Short.MAX_VALUE))))
		        );
		        jPanel1Layout.setVerticalGroup(
		            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel1Layout.createSequentialGroup()
		                .addGap(33, 33, 33)
		                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel1Layout.createSequentialGroup()
		                        .addGap(219, 219, 219)
		                        .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                        .addGap(1, 1, 1))
		                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
		                        .addGap(18, 18, 18)
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel21)
		                            .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel22)
		                            .addComponent(jLabel20))
		                        .addGap(18, 18, 18)
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel25)
		                            .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel26)
		                            .addComponent(jLabel27))
		                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 178, Short.MAX_VALUE)
		                                .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addGap(199, 199, 199))
		                            .addGroup(jPanel1Layout.createSequentialGroup()
		                                .addGap(18, 18, 18)
		                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                                    .addComponent(jLabel16)
		                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                                        .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                        .addComponent(jLabel17)))
		                                .addGap(18, 18, 18)
		                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                                        .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                        .addComponent(jLabel15))
		                                    .addComponent(jLabel14))
		                                .addGap(18, 18, 18)
		                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                                    .addComponent(jCheckBox14)
		                                    .addComponent(jLabel13))
		                                .addGap(18, 18, 18)
		                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                                    .addComponent(jLabel11)
		                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
		                                        .addComponent(jLabel18)
		                                        .addComponent(jCheckBox6)))
		                                .addGap(18, 18, 18)
		                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                                    .addComponent(jLabel12)
		                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
		                                        .addComponent(jLabel24)
		                                        .addComponent(jCheckBox7)))
		                                .addContainerGap())))))
		            .addGroup(jPanel1Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
		                    .addComponent(jLabel19)
		                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                        .addComponent(jCheckBox15)
		                        .addComponent(jCheckBox16)
		                        .addComponent(jCheckBox17)
		                        .addComponent(jCheckBox18)
		                        .addComponent(jCheckBox19)
		                        .addComponent(jCheckBox21)
		                        .addComponent(jCheckBox22)
		                        .addComponent(jCheckBox23)
		                        .addComponent(jCheckBox24)
		                        .addComponent(jCheckBox25)))
		                .addContainerGap(481, Short.MAX_VALUE))
		        );

		        jTabbedPane2.addTab("Main", jPanel1);

		        jCheckBox1.setText("Clue scrolls");

		        jCheckBox2.setText("Swordfishes");

		        jCheckBox3.setText("Blood runes");

		        jCheckBox4.setText("Water runes");

		        jCheckBox5.setText("Bolts");

		        jLabel5.setText("It is not recommended you use the pick up bolts option unless you are NOT using Ava's Device. If you do use it, it will degrade the performance you receive (gp/hour, etc).");

		        jCheckBox12.setText("Law runes");

		        jCheckBox13.setText("Air runes");

		        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
		        jPanel3.setLayout(jPanel3Layout);
		        jPanel3Layout.setHorizontalGroup(
		            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel3Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addComponent(jCheckBox12)
		                    .addComponent(jCheckBox13)
		                    .addComponent(jCheckBox4)
		                    .addComponent(jCheckBox3)
		                    .addComponent(jCheckBox2)
		                    .addComponent(jCheckBox1)
		                    .addComponent(jCheckBox5)
		                    .addComponent(jLabel5))
		                .addContainerGap(145, Short.MAX_VALUE))
		        );
		        jPanel3Layout.setVerticalGroup(
		            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel3Layout.createSequentialGroup()
		                .addContainerGap()
		                .addComponent(jCheckBox5)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox1)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox2)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox3)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox4)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox13)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jCheckBox12)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                .addComponent(jLabel5)
		                .addContainerGap(325, Short.MAX_VALUE))
		        );

		        jTabbedPane2.addTab("Pickup", jPanel3);
		        
		        jSlider1.setMajorTickSpacing(1);
		        jSlider1.setMaximum(2);
		        jSlider1.setPaintLabels(true);
		        jSlider1.setPaintTicks(true);
		        jSlider1.setSnapToTicks(true);
		        jSlider1.setValue(Integer.parseInt(parent.getConfig("boltpri")));
		        
		        jLabel6.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel6.setText("Bolt priority:");

		        jLabel7.setText("0 - Make room; this will drop/bury any bone or eat any food to make room for bolts (recommended if you don't use Ava's Accumulator)");

		        jLabel8.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel8.setText("This slider only should be important if you have `Bolt` pickup enabled.");

		        jLabel9.setText("1 - Make room; but don't eat sharks to make said room.");

		        jLabel10.setText("2 - Don't make room; only pick up bolts when there is free room in your inventory. (Takes priority over picking up bones)");

		        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
		        jPanel4.setLayout(jPanel4Layout);
		        jPanel4Layout.setHorizontalGroup(
		            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel4Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel4Layout.createSequentialGroup()
		                        .addGap(5, 5, 5)
		                        .addComponent(jLabel6)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, 299, javax.swing.GroupLayout.PREFERRED_SIZE))
		                    .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 899, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel7)
		                    .addComponent(jLabel9)
		                    .addComponent(jLabel10))
		                .addContainerGap(67, Short.MAX_VALUE))
		        );
		        jPanel4Layout.setVerticalGroup(
		            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel4Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
		                    .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                    .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jLabel8)
		                .addGap(52, 52, 52)
		                .addComponent(jLabel7)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jLabel9)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jLabel10)
		                .addContainerGap(315, Short.MAX_VALUE))
		        );

		        jTabbedPane2.addTab("Priority", jPanel4);

		        jLabel47.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel47.setText("These variables are NOT to be foolishly modified. There is NO verification that they are valid.");

		        jLabel48.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel48.setText("I do not give support/documentation for this section and what you modify you change at your own risk. Almost every timer is at your finger tips.");

		        jLabel50.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel50.setText("CameraInt1");

		        jLabel52.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel52.setText("EnableRunInt1");

		        jLabel51.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel51.setText("DrinkInt1");

		        jLabel54.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel54.setText("DropsInt1");

		        jLabel55.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel55.setText("AttackInt1");

		        jLabel56.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel56.setText("SpiritualInt1");

		        jLabel53.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel53.setText("Kree'ArraInt1");

		        jLabel57.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel57.setText("CheckExpWaitInt1");

		        jLabel59.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel59.setText("FoodInt1");

		        jLabel60.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel60.setText("FoodInt2");

		        jLabel61.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel61.setText("FoodInt3");

		        jLabel62.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel62.setText("BoneInt1");

		        jLabel63.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel63.setText("BoneInt2");

		        jLabel64.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel64.setText("DropJunkInt1");

		        jLabel65.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel65.setText("DropsInt2");

		        jTextField16.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField17.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField18.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField19.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField20.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField21.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField22.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField23.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField24.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField25.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField26.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField27.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField28.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField29.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jTextField30.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jLabel66.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel66.setText("PrayerInt1");

		        jTextField31.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jLabel67.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel67.setText("PrayerInt2");

		        jTextField32.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jLabel68.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel68.setText("PrayerInt3");

		        jTextField33.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jLabel69.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel69.setText("PotionsInt1");

		        jTextField34.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        jLabel70.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
		        jLabel70.setText("PotionsInt2");

		        jTextField35.setHorizontalAlignment(javax.swing.JTextField.CENTER);

		        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
		        jPanel7.setLayout(jPanel7Layout);
		        jPanel7Layout.setHorizontalGroup(
		            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel7Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addComponent(jLabel48)
		                    .addGroup(jPanel7Layout.createSequentialGroup()
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
		                            .addComponent(jLabel64, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel63, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel62, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel61, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel60, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel59, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel57, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel53, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel56, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel55, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel65, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel54, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel51, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel52, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                            .addComponent(jLabel50, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
		                            .addComponent(jTextField30)
		                            .addComponent(jTextField29)
		                            .addComponent(jTextField28)
		                            .addComponent(jTextField27)
		                            .addComponent(jTextField26)
		                            .addComponent(jTextField25)
		                            .addComponent(jTextField24)
		                            .addComponent(jTextField23)
		                            .addComponent(jTextField22)
		                            .addComponent(jTextField21)
		                            .addComponent(jTextField20)
		                            .addComponent(jTextField19)
		                            .addComponent(jTextField18)
		                            .addComponent(jTextField17)
		                            .addComponent(jTextField16, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addGap(127, 127, 127)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
		                            .addGroup(jPanel7Layout.createSequentialGroup()
		                                .addComponent(jLabel66, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField31, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
		                            .addGroup(jPanel7Layout.createSequentialGroup()
		                                .addComponent(jLabel67, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField32, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
		                            .addGroup(jPanel7Layout.createSequentialGroup()
		                                .addComponent(jLabel68, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField33, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
		                            .addGroup(jPanel7Layout.createSequentialGroup()
		                                .addComponent(jLabel69, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField34, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
		                            .addGroup(jPanel7Layout.createSequentialGroup()
		                                .addComponent(jLabel70, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField35, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)))))
		                .addContainerGap(169, Short.MAX_VALUE))
		            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup()
		                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		                .addComponent(jLabel47)
		                .addGap(253, 253, 253))
		        );
		        jPanel7Layout.setVerticalGroup(
		            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel7Layout.createSequentialGroup()
		                .addComponent(jLabel47)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jLabel48)
		                .addGap(18, 18, 18)
		                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel50)
		                    .addComponent(jTextField16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jTextField31, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel66))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel52)
		                    .addComponent(jTextField17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jTextField32, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel67))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel51)
		                    .addComponent(jTextField18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jTextField33, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel68))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel7Layout.createSequentialGroup()
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel54)
		                            .addComponent(jTextField19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel65)
		                            .addComponent(jTextField20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel55)
		                            .addComponent(jTextField21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel56)
		                            .addComponent(jTextField22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel53)
		                            .addComponent(jTextField23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel57)
		                            .addComponent(jTextField24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel59)
		                            .addComponent(jTextField25, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel60)
		                            .addComponent(jTextField26, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel61)
		                            .addComponent(jTextField27, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel62)
		                            .addComponent(jTextField28, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel63)
		                            .addComponent(jTextField29, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel64)
		                            .addComponent(jTextField30, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
		                    .addGroup(jPanel7Layout.createSequentialGroup()
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jTextField34, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel69))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jTextField35, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel70))))
		                .addContainerGap(69, Short.MAX_VALUE))
		        );

		        jTabbedPane2.addTab("Customize", jPanel7);

		        jLabel28.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel28.setText("Price-check between:");

		        jLabel29.setFont(new java.awt.Font("Tahoma", 0, 14));
		        jLabel29.setText("-");

		        jLabel30.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel30.setText("minutes   --- Have the `Interface Closer` Anti-Random in RSBot TURNED OFF IF YOU USE `PRICE CHECKER` ANTI-BAN.");

		        jLabel31.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel31.setText("Wait");

		        jLabel32.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel32.setText("seconds before closing the Price Checker. Try to use a different number each time you use the script :-)");

		        jLabel33.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel33.setText("Check range xp every:");

		        jLabel34.setFont(new java.awt.Font("Tahoma", 0, 14));
		        jLabel34.setText("-");

		        jLabel35.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel35.setText("minutes");

		        jLabel36.setFont(new java.awt.Font("Tahoma", 0, 15));
		        jLabel36.setText("Note: Minutes will not be exactly timed. They may be off by a few seconds.");

		        jLabel37.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel37.setText("GP Goal:");

		        jLabel38.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel38.setText("K");

		        jLabel39.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel39.setText("Log out after goal:");

		        jLabel40.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel40.setText("Run for:");

		        jLabel41.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel41.setText("hours");

		        jLabel42.setFont(new java.awt.Font("Tahoma", 0, 12));
		        jLabel42.setText("minutes");

		        jLabel43.setFont(new java.awt.Font("Tahoma", 0, 18));
		        jLabel43.setText("Enabled:");

		        jLabel44.setFont(new java.awt.Font("Tahoma", 0, 14));
		        jLabel44.setText("Price-check will price check all of the \"useful\" items at the given point.");

		        jLabel45.setFont(new java.awt.Font("Tahoma", 0, 14));
		        jLabel45.setText("It is highly recommended you use both of these anti-bans. Check range xp checks the Range Exp (hovers).");

		        jLabel46.setText("Script will log out after the specified time limit if activated.");

		        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
		        jPanel5.setLayout(jPanel5Layout);
		        jPanel5Layout.setHorizontalGroup(
		            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel5Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel5Layout.createSequentialGroup()
		                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                            .addComponent(jCheckBox8)
		                            .addComponent(jCheckBox9))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addGap(10, 10, 10)
		                                .addComponent(jLabel43)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jCheckBox11)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel46))
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addComponent(jLabel40)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField14, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel41)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                                .addComponent(jTextField15, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel42)
		                                .addGap(670, 670, 670))
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addGap(10, 10, 10)
		                                .addComponent(jLabel39)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jCheckBox10))
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addComponent(jLabel37)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel38))
		                            .addComponent(jLabel36)
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addGap(10, 10, 10)
		                                .addComponent(jLabel31)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel32))
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addComponent(jLabel28)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel29)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel30))
		                            .addGroup(jPanel5Layout.createSequentialGroup()
		                                .addComponent(jLabel33)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel34)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
		                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                                .addComponent(jLabel35))))
		                    .addComponent(jLabel44)
		                    .addComponent(jLabel45))
		                .addContainerGap())
		        );
		        jPanel5Layout.setVerticalGroup(
		            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel5Layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(jPanel5Layout.createSequentialGroup()
		                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel28)
		                            .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel29)
		                            .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel30))
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel32)
		                            .addComponent(jLabel31))
		                        .addGap(18, 18, 18)
		                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel33)
		                            .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel34)
		                            .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                            .addComponent(jLabel35)))
		                    .addGroup(jPanel5Layout.createSequentialGroup()
		                        .addComponent(jCheckBox8)
		                        .addGap(50, 50, 50)
		                        .addComponent(jCheckBox9)))
		                .addGap(27, 27, 27)
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel37)
		                    .addComponent(jTextField13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel38))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel39)
		                    .addComponent(jCheckBox10))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                    .addComponent(jLabel40)
		                    .addComponent(jTextField14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel41)
		                    .addComponent(jTextField15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
		                    .addComponent(jLabel42))
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
		                    .addComponent(jLabel43)
		                    .addComponent(jCheckBox11)
		                    .addComponent(jLabel46))
		                .addGap(31, 31, 31)
		                .addComponent(jLabel44)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                .addComponent(jLabel45)
		                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 164, Short.MAX_VALUE)
		                .addComponent(jLabel36)
		                .addContainerGap())
		        );

		        jTabbedPane2.addTab("Anti-ban", jPanel5);

		        jTextArea1.setColumns(20);
		        jTextArea1.setRows(5);
		        jTextArea1.setText(getChangelog());
		        jTextArea1.setFocusable(false);
		        jScrollPane1.setViewportView(jTextArea1);

		        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
		        jPanel6.setLayout(jPanel6Layout);
		        jPanel6Layout.setHorizontalGroup(
		            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel6Layout.createSequentialGroup()
		                .addContainerGap()
		                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 956, Short.MAX_VALUE)
		                .addContainerGap())
		        );
		        jPanel6Layout.setVerticalGroup(
		            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(jPanel6Layout.createSequentialGroup()
		                .addContainerGap()
		                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 492, Short.MAX_VALUE)
		                .addContainerGap())
		        );

		        jTabbedPane2.addTab("Changelog", jPanel6);

		        jButton2.setText("Start avianPro");
		        jButton2.addActionListener(new java.awt.event.ActionListener() {
		            public void actionPerformed(java.awt.event.ActionEvent evt) {
		                cont = true;
		                setVisible(false);
		            }
		        });

		        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		        getContentPane().setLayout(layout);
		        layout.setHorizontalGroup(
		            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(layout.createSequentialGroup()
		                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(layout.createSequentialGroup()
		                        .addContainerGap()
		                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
		                        .addGap(274, 274, 274)
		                        .addComponent(jLabel1)
		                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
		                        .addComponent(jLabel2))
		                    .addComponent(jTabbedPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1048, Short.MAX_VALUE))
		                .addContainerGap())
		            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
		                .addContainerGap(621, Short.MAX_VALUE)
		                .addComponent(jButton2)
		                .addGap(336, 336, 336))
		        );
		        layout.setVerticalGroup(
		            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		            .addGroup(layout.createSequentialGroup()
		                .addContainerGap()
		                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		                    .addGroup(layout.createSequentialGroup()
		                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
		                        .addGap(598, 598, 598))
		                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
		                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
		                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 51, Short.MAX_VALUE)
		                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 51, Short.MAX_VALUE))
		                        .addGap(18, 18, 18)
		                        .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 519, javax.swing.GroupLayout.PREFERRED_SIZE)
		                        .addGap(18, 18, 18)))
		                .addGap(18, 18, 18)
		                .addComponent(jButton2)
		                .addContainerGap())
		        );
			jTabbedPane2.getAccessibleContext().setAccessibleName("tab");
			pack();
		}

		public void Donation(java.awt.event.ActionEvent evt) {
			parent.openPayPalDonation();
		}
		public String getChangelog() {
			String input = "", change = "";
			try {
				URL latest = new URL("http://www.rs2reborn.net/changelog");
				BufferedReader in = new BufferedReader(new InputStreamReader(latest.openStream()));
				while ((input = in.readLine()) != null) {
					change += input + " \n";
				}
				in.close();
			} catch (MalformedURLException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return change;
		}
		
		public boolean canContinue() {
			return cont;
		}
		
		public boolean cont = false;
		public avianProHidendra1_18 parent;
		public JButton jButton1;
    public JButton jButton2;
    public JCheckBox jCheckBox1;
    public JCheckBox jCheckBox10;
    public JCheckBox jCheckBox11;
    public JCheckBox jCheckBox12;
    public JCheckBox jCheckBox13;
    public JCheckBox jCheckBox14;
    public JCheckBox jCheckBox15;
    public JCheckBox jCheckBox16;
    public JCheckBox jCheckBox17;
    public JCheckBox jCheckBox18;
    public JCheckBox jCheckBox19;
    public JCheckBox jCheckBox2;
    public JCheckBox jCheckBox21;
    public JCheckBox jCheckBox22;
    public JCheckBox jCheckBox23;
    public JCheckBox jCheckBox24;
    public JCheckBox jCheckBox25;
    public JCheckBox jCheckBox3;
    public JCheckBox jCheckBox4;
    public JCheckBox jCheckBox5;
    public JCheckBox jCheckBox6;
    public JCheckBox jCheckBox7;
    public JCheckBox jCheckBox8;
    public JCheckBox jCheckBox9;
    public JLabel jLabel1;
    public JLabel jLabel10;
    public JLabel jLabel11;
    public JLabel jLabel12;
    public JLabel jLabel13;
    public JLabel jLabel14;
    public JLabel jLabel15;
    public JLabel jLabel16;
    public JLabel jLabel17;
    public JLabel jLabel18;
    public JLabel jLabel19;
    public JLabel jLabel2;
    public JLabel jLabel20;
    public JLabel jLabel21;
    public JLabel jLabel22;
    public JLabel jLabel24;
    public JLabel jLabel25;
    public JLabel jLabel26;
    public JLabel jLabel27;
    public JLabel jLabel28;
    public JLabel jLabel29;
    public JLabel jLabel30;
    public JLabel jLabel31;
    public JLabel jLabel32;
    public JLabel jLabel33;
    public JLabel jLabel34;
    public JLabel jLabel35;
    public JLabel jLabel36;
    public JLabel jLabel37;
    public JLabel jLabel38;
    public JLabel jLabel39;
    public JLabel jLabel40;
    public JLabel jLabel41;
    public JLabel jLabel42;
    public JLabel jLabel43;
    public JLabel jLabel44;
    public JLabel jLabel45;
    public JLabel jLabel46;
    public JLabel jLabel47;
    public JLabel jLabel48;
    public JLabel jLabel49;
    public JLabel jLabel5;
    public JLabel jLabel50;
    public JLabel jLabel51;
    public JLabel jLabel52;
    public JLabel jLabel53;
    public JLabel jLabel54;
    public JLabel jLabel55;
    public JLabel jLabel56;
    public JLabel jLabel57;
    public JLabel jLabel58;
    public JLabel jLabel59;
    public JLabel jLabel6;
    public JLabel jLabel60;
    public JLabel jLabel61;
    public JLabel jLabel62;
    public JLabel jLabel63;
    public JLabel jLabel64;
    public JLabel jLabel65;
    public JLabel jLabel66;
    public JLabel jLabel67;
    public JLabel jLabel68;
    public JLabel jLabel69;
    public JLabel jLabel7;
    public JLabel jLabel70;
    public JLabel jLabel8;
    public JLabel jLabel9;
    public JPanel jPanel1;
    public JPanel jPanel2;
    public JPanel jPanel3;
    public JPanel jPanel4;
    public JPanel jPanel5;
    public JPanel jPanel6;
    public JPanel jPanel7;
    public JScrollPane jScrollPane1;
    public JSlider jSlider1;
    public JTabbedPane jTabbedPane1;
    public JTabbedPane jTabbedPane2;
    public JTextArea jTextArea1;
    public JTextField jTextField1;
    public JTextField jTextField10;
    public JTextField jTextField11;
    public JTextField jTextField12;
    public JTextField jTextField13;
    public JTextField jTextField14;
    public JTextField jTextField15;
    public JTextField jTextField16;
    public JTextField jTextField17;
    public JTextField jTextField18;
    public JTextField jTextField19;
    public JTextField jTextField2;
    public JTextField jTextField20;
    public JTextField jTextField21;
    public JTextField jTextField22;
    public JTextField jTextField23;
    public JTextField jTextField24;
    public JTextField jTextField25;
    public JTextField jTextField26;
    public JTextField jTextField27;
    public JTextField jTextField28;
    public JTextField jTextField29;
    public JTextField jTextField3;
    public JTextField jTextField30;
    public JTextField jTextField31;
    public JTextField jTextField32;
    public JTextField jTextField33;
    public JTextField jTextField34;
    public JTextField jTextField35;
    public JTextField jTextField4;
    public JTextField jTextField5;
    public JTextField jTextField6;
    public JTextField jTextField7;
    public JTextField jTextField8;
    public JTextField jTextField9;
	}

	
}