Difference between revisions of "User:Akerus"

From The Perfect Tower II
Jump to navigation Jump to search
(Updated count resources script)
(Changed behaviour regarding waiting time for crusher)
 
(9 intermediate revisions by the same user not shown)
Line 72: Line 72:
 
|}
 
|}
  
 +
==Summary==
 +
These scripts will upgrade your dusts to your specified tier and number of that tier. It will process ores, lums and (if set so) ingots. It will make sure that you've got enough resources to even reach your goal and will leave you with at least 1 resource of each tier, so that you never run out of a tier.
 +
 +
To use it, you have to set the global variables "target_dust_tier", "target_dust_count" and "dust_up_use_ingots" to your need. Either you set it in the "dust_up" script, tu run it manually or you set those values in one of your scripts and execute "dust_up_integrated".
  
 
==Dust Up Scripts==
 
==Dust Up Scripts==
Line 86: Line 90:
 
|
 
|
 
*factory screen open
 
*factory screen open
|15
+
|4
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 92: Line 96:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global double resources_needed_tier_1
 
 
:global int target_dust_tier
 
:global int target_dust_tier
 
:global double target_dust_count
 
:global double target_dust_count
:global int dust_up_loop_tier
+
:global double dust_up_use_ingots
:global double dust_up_missing
 
  
 
key.1()
 
key.1()
Line 104: Line 106:
 
target_dust_tier = 8
 
target_dust_tier = 8
 
target_dust_count = 350.0
 
target_dust_count = 350.0
executesync("dust_count_resources")
+
dust_up_use_ingots = 1.0
executesync("dust_calc_needed")
+
executesync("dust_up_integrated")
gotoif(99, resources_needed_tier_1 > 0.0)
 
dust_up_loop_tier = 1
 
loop: dust_up_missing = max(0.0, (global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1)) * 4.0) - count("dust", dust_up_loop_tier))
 
gotoif(mix, dust_up_missing < 1.0)
 
executesync("dust_up_process_lump")
 
executesync("dust_up_process_ore")
 
executesync("dust_up_process_ingot")
 
mix: executesync("dust_up_mix")
 
dust_up_loop_tier = dust_up_loop_tier + 1
 
gotoif(loop, dust_up_loop_tier < target_dust_tier)
 
executesync("dust_up_finalize")
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3Rvcnk
+
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkE
PAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAA
+
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAAAR
ARZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAA
+
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAAAAA
AAA4HVAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFGR1c3RfY291bnRfcmVzb3VyY2VzE2dl
+
4HVAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQD
bmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEEGR1c3RfY2FsY19uZWVkZWQOZ2VuZXJpYy5nb3RvaWY
+
AAAAAAAA8D8TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3JhdGVk
IY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudA
 
QXcmVzb3VyY2VzX25lZWRlZF90aWVyXzEIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAOZ2xvY
 
mFsLmludC5zZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50AgEAAAARZ2xvYmFs
 
LmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwpkb3VibGUubWF4CGNvbnN0YW50AwA
 
AAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2
 
V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGhtZXRpYy5pb
 
nQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNv
 
bnN0YW50AgEAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAEEAIY29uc3RhbnQEAS0TZmFjdG9
 
yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF
 
91cF9sb29wX3RpZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDAAAABFjb21wYXJpc29uLmRvdWJsZ
 
RFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNv
 
bnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2V
 
zc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmUTZ2
 
VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQVZHVzdF91cF9wcm9jZXNzX2luZ290E2dlbmVyaWMuZ
 
XhlY3V0ZXN5bmMIY29uc3RhbnQEC2R1c3RfdXBfbWl4Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFk
 
dXN0X3VwX2xvb3BfdGllcg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHV
 
zdF91cF9sb29wX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nZW5lcmljLmdvdG9pZghjb2
 
5zdGFudAIHAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX
 
2xvb3BfdGllcghjb25zdGFudAQBPA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGFyZ2V0X2R1c3Rf
 
dGllchNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X3VwX2ZpbmFsaXpl
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 163: Line 134:
 
:global int target_dust_tier
 
:global int target_dust_tier
  
3: executesync("dust_count_resources")
+
executesync("dust_count_resources")
4: executesync("dust_calc_needed")
+
executesync("dust_calc_needed")
5: gotoif(99, resources_needed_tier_1 > 0.0)
+
gotoif(99, resources_needed_tier_1 > 0.0)
6: dust_up_loop_tier = 1
+
dust_up_loop_tier = 1
7: dust_up_missing = double.max(0.0, (global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1)) * 4.0) - count("dust", dust_up_loop_tier))
+
loop: dust_up_missing = max(0.0, (global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1)) * 4.0) - count("dust", dust_up_loop_tier))
8: gotoif(12, dust_up_missing < 1.0)
+
gotoif(mix, dust_up_missing < 1.0)
9: executesync("dust_up_process_lump")
+
executesync("dust_up_process_lump")
10: executesync("dust_up_process_ore")
+
executesync("dust_up_process_ore")
11: executesync("dust_up_process_ingot")
+
executesync("dust_up_process_ingot")
12: executesync("dust_up_mix")
+
mix: executesync("dust_up_mix")
13: dust_up_loop_tier = dust_up_loop_tier + 1
+
dust_up_loop_tier = dust_up_loop_tier + 1
14: gotoif(7, dust_up_loop_tier < target_dust_tier)
+
gotoif(loop, dust_up_loop_tier < target_dust_tier)
15: executesync("dust_up_finalize")
+
executesync("dust_up_finalize")
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADQAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW5
+
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADQAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
0BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2
+
BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2Nh
NhbGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ
+
bGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xv
2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50
+
YmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+
BAE+CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3B
+
CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
fdGllcghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3
+
cghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcK
NpbmcKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ld
+
ZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
GljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVk
+
dWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGll
ZWRfdGllcl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3V
+
cl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3Bf
wX2xvb3BfdGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50Aw
+
dGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAABBA
AAAAAAABBACGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvY
+
CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvYmFsLmludC5n
mFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0
+
ZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAR
YW50AgoAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3R
+
Y29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2lu
fdXBfbWlzc2luZwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW
+
Zwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
5jCGNvbnN0YW50BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0Y
+
BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNkdXN0X3Vw
W50BBNkdXN0X3VwX3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3Rf
+
X3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3RfdXBfcHJvY2Vzc19p
dXBfcHJvY2Vzc19pbmdvdBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtkdXN0X3VwX21peA5
+
bmdvdBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtkdXN0X3VwX21peA5nbG9iYWwuaW50LnNl
nbG9iYWwuaW50LnNldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOYXJpdGhtZXRpYy5pbnQOZ2
+
dAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQI
xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0Y
+
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJp
W50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCBQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwu
+
Yy5nb3RvaWYIY29uc3RhbnQCBQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFu
aW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEATwOZ2xvYmFsLmludC5
+
dAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEATwOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRh
nZXQIY29uc3RhbnQEEHRhcmdldF9kdXN0X3RpZXITZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudA
+
cmdldF9kdXN0X3RpZXITZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQQZHVzdF91cF9maW5hbGl6
QQZHVzdF91cF9maW5hbGl6ZQ==
+
ZQ==
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 225: Line 196:
 
:global double resources_tier_2
 
:global double resources_tier_2
 
:global double resources_tier_1
 
:global double resources_tier_1
 +
:global double dust_up_use_ingots
  
resources_tier_10 = max(0.0,count("ingot",10) + count("dust", 10) + count("ore",10) + (count("lump",9) * 2.0) - 1.0)
+
resources_tier_10 = max(0.0,(dust_up_use_ingots * count("ingot",10)) + count("dust", 10) + count("ore",10) + (count("lump",9) * 2.0) - 1.0)
resources_tier_9 = max(0.0,count("ingot",9) + count("dust", 9) + count("ore",9) + (count("lump",8) * 2.0) - 1.0)
+
resources_tier_9 = max(0.0,(dust_up_use_ingots * count("ingot",9)) + count("dust", 9) + count("ore",9) + (count("lump",8) * 2.0) - 1.0)
resources_tier_8 = max(0.0,count("ingot",8) + count("dust", 8) + count("ore",8) + (count("lump",7) * 2.0) - 1.0)
+
resources_tier_8 = max(0.0,(dust_up_use_ingots * count("ingot",8)) + count("dust", 8) + count("ore",8) + (count("lump",7) * 2.0) - 1.0)
resources_tier_7 = max(0.0,count("ingot",7) + count("dust", 7) + count("ore",7) + (count("lump",6) * 2.0) - 1.0)
+
resources_tier_7 = max(0.0,(dust_up_use_ingots * count("ingot",7)) + count("dust", 7) + count("ore",7) + (count("lump",6) * 2.0) - 1.0)
resources_tier_6 = max(0.0,count("ingot",6) + count("dust", 6) + count("ore",6) + (count("lump",5) * 2.0) - 1.0)
+
resources_tier_6 = max(0.0,(dust_up_use_ingots * count("ingot",6)) + count("dust", 6) + count("ore",6) + (count("lump",5) * 2.0) - 1.0)
resources_tier_5 = max(0.0,count("ingot",5) + count("dust", 5) + count("ore",5) + (count("lump",4) * 2.0) - 1.0)
+
resources_tier_5 = max(0.0,(dust_up_use_ingots * count("ingot",5)) + count("dust", 5) + count("ore",5) + (count("lump",4) * 2.0) - 1.0)
resources_tier_4 = max(0.0,count("ingot",4) + count("dust", 4) + count("ore",4) + (count("lump",3) * 2.0) - 1.0)
+
resources_tier_4 = max(0.0,(dust_up_use_ingots * count("ingot",4)) + count("dust", 4) + count("ore",4) + (count("lump",3) * 2.0) - 1.0)
resources_tier_3 = max(0.0,count("ingot",3) + count("dust", 3) + count("ore",3) + (count("lump",2) * 2.0) - 1.0)
+
resources_tier_3 = max(0.0,(dust_up_use_ingots * count("ingot",3)) + count("dust", 3) + count("ore",3) + (count("lump",2) * 2.0) - 1.0)
resources_tier_2 = max(0.0,count("ingot",2) + count("dust", 2) + count("ore",2) + (count("lump",1) * 2.0) - 1.0)
+
resources_tier_2 = max(0.0,(dust_up_use_ingots * count("ingot",2)) + count("dust", 2) + count("ore",2) + (count("lump",1) * 2.0) - 1.0)
resources_tier_1 = max(0.0,count("ingot",1) + count("dust", 1) + count("ore",1) - 1.0)
+
resources_tier_1 = max(0.0,(dust_up_use_ingots * count("ingot",1)) + count("dust", 1) + count("ore",1) - 1.0)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
Line 242: Line 214:
 
BBFyZXNvdXJjZXNfdGllcl8xMApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
 
BBFyZXNvdXJjZXNfdGllcl8xMApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
 
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
 
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgoAAAAIY29uc3RhbnQE
+
EWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9p
ASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIKAAAACGNvbnN0YW50
+
bmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3Rh
BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIKAAAACGNvbnN0YW50
+
bnQCCgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0
BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29u
+
YW50AgoAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0
c3RhbnQCCQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFu
+
YW50AgoAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhj
dAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfOQpkb3Vi
+
b25zdGFudAQEbHVtcAhjb25zdGFudAIJAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNv
bGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
+
bnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNv
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
+
dXJjZXNfdGllcl85CmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGUR
c3RhbnQEBWluZ290CGNvbnN0YW50AgkAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
+
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
b25zdGFudAQEZHVzdAhjb25zdGFudAIJAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQI
+
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhj
Y29uc3RhbnQEA29yZQhjb25zdGFudAIJAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2Zh
+
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIJAAAA
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCCAAAAAhjb25zdGFudAQBKghj
+
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCCQAA
b25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91Ymxl
+
AAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCCQAA
LnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfOApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAA
+
AAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRo
+
BARsdW1wCGNvbnN0YW50AggAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
bWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AggA
+
AS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190
AAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAII
+
aWVyXzgKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1l
AAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAII
+
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
AAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3Rh
+
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50
bnQEBGx1bXAIY29uc3RhbnQCBwAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFu
+
BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AggAAAAIY29uc3Rh
dAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2Vz
+
bnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIIAAAACGNvbnN0
X3RpZXJfNwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRo
+
YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIIAAAACGNvbnN0
bWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRl
+
YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAI
bXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5p
+
Y29uc3RhbnQCBwAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25z
dGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIHAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
+
dGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNwpk
aXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIHAAAACGNvbnN0YW50BAErEWFyaXRobWV0
+
b3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91
aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBgAAAAhj
+
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFn
+
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
bG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNgpkb3VibGUubWF4CGNvbnN0
+
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCBwAAAAhjb25zdGFudAQBKxNm
YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMu
+
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsT
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290
+
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsR
CGNvbnN0YW50AgYAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVz
+
YXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFu
dAhjb25zdGFudAIGAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29y
+
dAIGAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAA
ZQhjb25zdGFudAIGAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMu
+
AAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl82CmRvdWJsZS5t
Y291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAA
+
YXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJp
AAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFu
+
dGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
dAQQcmVzb3VyY2VzX3RpZXJfNQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
+
dWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
+
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIGAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgUAAAAIY29uc3RhbnQE
+
aXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxNmYWN0b3J5
ASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAACGNvbnN0YW50
+
Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxFhcml0aG1l
BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50
+
dGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgUAAAAI
BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29u
+
Y29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8R
c3RhbnQCBAAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFu
+
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190aWVyXzUKZG91YmxlLm1heAhjb25z
dAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNApkb3Vi
+
dGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
bGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
+
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
+
dAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291
c3RhbnQEBWluZ290CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
+
bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
b25zdGFudAQEZHVzdAhjb25zdGFudAIEAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQI
+
b3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
Y29uc3RhbnQEA29yZQhjb25zdGFudAIEAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2Zh
+
Y291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKghj
+
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBAAAAAhjb25zdGFu
b25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91Ymxl
+
dAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwu
LnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfMwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAA
+
ZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNApkb3VibGUubWF4CGNvbnN0YW50AwAA
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRo
+
AAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
bWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgMA
+
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
AAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAID
+
YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25z
AAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAID
+
dGFudAQFaW5nb3QIY29uc3RhbnQCBAAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNv
AAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3Rh
+
bnN0YW50BARkdXN0CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
bnQEBGx1bXAIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFu
+
b25zdGFudAQDb3JlCGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFj
dAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2Vz
+
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFudAIDAAAACGNvbnN0YW50BAEqCGNv
X3RpZXJfMgpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRo
+
bnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUu
bWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRl
+
c2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl8zCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAAR
bXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5p
+
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
dGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
+
ZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1
aXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAICAAAACGNvbnN0YW50BAErEWFyaXRobWV0
+
c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVp
aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAQAAAAhj
+
bmdvdAhjb25zdGFudAIDAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFn
+
BGR1c3QIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
bG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfMQpkb3VibGUubWF4CGNvbnN0
+
BANvcmUIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0
YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMu
+
ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASoIY29uc3RhbnQD
ZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgEAAAAIY29u
+
AAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29u
c3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIBAAAACGNv
+
c3RhbnQEEHJlc291cmNlc190aWVyXzIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1l
bnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIBAAAACGNv
+
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
bnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/
+
dWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91
 +
c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNv
 +
bnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhj
 +
b25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhj
 +
b25zdGFudAICAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
 +
bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAA
 +
QAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQ
 +
cmVzb3VyY2VzX3RpZXJfMQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91
 +
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
 +
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
 +
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNm
 +
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsT
 +
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0I
 +
Y29uc3RhbnQDAAAAAAAA8D8=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 378: Line 363:
 
|
 
|
  
|11
+
|13
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 384: Line 369:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
 +
; Process lumps into dust
 
:global int dust_up_loop_tier
 
:global int dust_up_loop_tier
 
:global double dust_up_missing
 
:global double dust_up_missing
Line 392: Line 378:
 
number_lumps = count("lump",dust_up_loop_tier - 1)
 
number_lumps = count("lump",dust_up_loop_tier - 1)
 
gotoif(processpartially, number_lumps * 2.0 > dust_up_missing)
 
gotoif(processpartially, number_lumps * 2.0 > dust_up_missing)
 +
gotoif(99, number_lumps < 1.0)
 
waitwhile(active("mixer"))
 
waitwhile(active("mixer"))
 
processall: produce("lump", dust_up_loop_tier - 1, number_lumps, "mixer")
 
processall: produce("lump", dust_up_loop_tier - 1, number_lumps, "mixer")
 
dust_up_missing = dust_up_missing - (number_lumps * 2.0)
 
dust_up_missing = dust_up_missing - (number_lumps * 2.0)
goto(99)
+
goto(end)
 
processpartially: number_lump_used = ceil(dust_up_missing / 2.0)
 
processpartially: number_lump_used = ceil(dust_up_missing / 2.0)
 
waitwhile(active("mixer"))
 
waitwhile(active("mixer"))
 
produce("lump", dust_up_loop_tier - 1, number_lump_used, "mixer")
 
produce("lump", dust_up_loop_tier - 1, number_lump_used, "mixer")
 
dust_up_missing = 0.0
 
dust_up_missing = 0.0
 +
end: waitwhile(active("mixer"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAALAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmM
+
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAANAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMA
AAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aW
+
AAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVy
VyCGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51b
+
CGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51bWJl
WJlcl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50
+
cl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25
+
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29tcGFyaXNvbi5kb3VibGURYX
+
dAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgkAAAARY29tcGFyaXNvbi5kb3VibGURYXJpdGht
JpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvb
+
ZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvbnN0YW50
nN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNv
+
BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
bnN0YW50BA9kdXN0X3VwX21pc3NpbmcRZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmF
+
BA9kdXN0X3VwX21pc3NpbmcOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRv
jdGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobW
+
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfbHVtcHMIY29uc3RhbnQEATwIY29u
V0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFud
+
c3RhbnQDAAAAAAAA8D8RZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25z
AQBLQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
+
dGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
b25zdGFudAQFbWl4ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxF
+
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
hcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW
+
dAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhjb25zdGFudAQFbWl4
5nCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED
+
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmRv
G51bWJlcl9sdW1wcwhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29u
+
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAEt
c3RhbnQCYwAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJ
+
EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
sZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3
+
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29uc3RhbnQCDQAAABBsb2Nh
VwX21pc3NpbmcIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZ
+
bC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJsZS5jZWlsEWFyaXRobWV0
mFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0
+
aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3Rh
YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2x
+
bnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFj
vb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3Rhbn
+
dGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0
QEEG51bWJlcl9sdW1wX3VzZWQIY29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0Y
+
aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQB
W50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAAAAA=
+
LQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEG51bWJlcl9sdW1wX3VzZWQI
 +
Y29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcI
 +
Y29uc3RhbnQDAAAAAAAAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhj
 +
b25zdGFudAQFbWl4ZXI=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 433: Line 424:
 
|
 
|
 
|
 
|
|10
+
|12
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 439: Line 430:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
 +
; Process ore into dust
 
:global int dust_up_loop_tier
 
:global int dust_up_loop_tier
 
:global double dust_up_missing
 
:global double dust_up_missing
Line 446: Line 438:
 
number_ore = count("ore",dust_up_loop_tier)
 
number_ore = count("ore",dust_up_loop_tier)
 
gotoif(processpartially, number_ore > dust_up_missing)
 
gotoif(processpartially, number_ore > dust_up_missing)
 +
gotoif(99, number_ore < 1.0)
 
waitwhile(active("crusher"))
 
waitwhile(active("crusher"))
 
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
 
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
 
dust_up_missing = dust_up_missing - number_ore
 
dust_up_missing = dust_up_missing - number_ore
goto(99)
+
goto(end)
 
processpartially: number_ore_used = dust_up_missing
 
processpartially: number_ore_used = dust_up_missing
 
waitwhile(active("crusher"))
 
waitwhile(active("crusher"))
 
produce("ore", dust_up_loop_tier, number_ore_used, "crusher")
 
produce("ore", dust_up_loop_tier, number_ore_used, "crusher")
 
dust_up_missing = 0.0
 
dust_up_missing = 0.0
 +
end: waitwhile(active("crusher"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAoAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQ
+
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAwAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQK
KbnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZX
+
bnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQI
QIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgcAAAARY
+
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29t
29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25z
+
cGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25zdGFu
dGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWM
+
dAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nDmdlbmVyaWMuZ290
ud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS
+
b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vc
+
dAQKbnVtYmVyX29yZQhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxFnZW5lcmljLndhaXR3aGls
F90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm51bWJlcl9vcmUIY29uc3RhbnQEB2NydXNo
+
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmR
+
b25zdGFudAQDb3JlDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2Nh
vdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BA
+
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
EtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm51bWJlcl9vcmUMZ2VuZXJpYy5nb3RvCGNvbnN0Y
+
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFs
W50AmMAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQPbnVtYmVyX29yZV91c2VkEWdsb2JhbC5k
+
LmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25zdGFudAQBLRBsb2NhbC5kb3Vi
b3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9
+
bGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlDGdlbmVyaWMuZ290bwhjb25zdGFudAIMAAAAEGxvY2Fs
yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3Rhbn
+
LmRvdWJsZS5zZXQIY29uc3RhbnQED251bWJlcl9vcmVfdXNlZBFnbG9iYWwuZG91YmxlLmdldAhjb25z
QEA29yZQ5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91Y
+
dGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3Rp
mxlLmdldAhjb25zdGFudAQPbnVtYmVyX29yZV91c2VkCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
+
dmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmlu
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAAAAA=
+
dC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 +
D251bWJlcl9vcmVfdXNlZAhjb25zdGFudAQHY3J1c2hlchFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFu
 +
dAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3Rv
 +
cnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXI=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 480: Line 477:
 
|
 
|
 
|
 
|
|10
+
|13
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 486: Line 483:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
 +
; Process ingots into dust
 
:global int dust_up_loop_tier
 
:global int dust_up_loop_tier
 
:global double dust_up_missing
 
:global double dust_up_missing
 
:local double number_ingot
 
:local double number_ingot
 
:local double number_ingot_used
 
:local double number_ingot_used
 +
:global double dust_up_use_ingots
  
 +
gotoif(99, dust_up_use_ingots < 1.0)
 
number_ingot = count("ingot",dust_up_loop_tier)
 
number_ingot = count("ingot",dust_up_loop_tier)
 
gotoif(processpartially, number_ingot > dust_up_missing)
 
gotoif(processpartially, number_ingot > dust_up_missing)
 +
gotoif(99, number_ingot < 1.0)
 
waitwhile(active("crusher"))
 
waitwhile(active("crusher"))
 
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
 
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
 
dust_up_missing = dust_up_missing - number_ingot
 
dust_up_missing = dust_up_missing - number_ingot
goto(99)
+
goto(end)
 
processpartially: number_ingot_used = dust_up_missing
 
processpartially: number_ingot_used = dust_up_missing
 
waitwhile(active("crusher"))
 
waitwhile(active("crusher"))
 
produce("ingot", dust_up_loop_tier, number_ingot_used, "crusher")
 
produce("ingot", dust_up_loop_tier, number_ingot_used, "crusher")
 
dust_up_missing = 0.0
 
dust_up_missing = 0.0
 +
end: waitwhile(active("crusher"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAACgAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW5
+
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAADQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJj
0BAxudW1iZXJfaW5nb3QTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLm
+
AAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3Vz
ludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50A
+
ZV9pbmdvdHMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91YmxlLnNldAhjb25z
gcAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2lu
+
dGFudAQMbnVtYmVyX2luZ290E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290Dmdsb2Jh
Z290CGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3Npbmc
+
bC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5nZW5lcmljLmdvdG9pZghjb25zdGFu
RZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hlcg
+
dAIJAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9p
9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWluZ290Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkd
+
bmdvdAhjb25zdGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5n
XN0X3VwX2xvb3BfdGllchBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QIY29u
+
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
c3RhbnQEB2NydXNoZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxF
+
LmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdl
hcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW
+
bmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFj
5nCGNvbnN0YW50BAEtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9pbmdvdAxnZW5lc
+
dG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91
mljLmdvdG8IY29uc3RhbnQCYwAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BBFudW1iZXJfaW5n
+
cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50
b3RfdXNlZBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWM
+
BAdjcnVzaGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGht
ud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS
+
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25z
5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb
+
dGFudAQBLRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QMZ2VuZXJpYy5nb3Rv
29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3VzZWQIY29uc3Rh
+
CGNvbnN0YW50Ag0AAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3VzZWQR
bnQEB2NydXNoZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25
+
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFnZW5lcmljLndhaXR3aGls
zdGFudAMAAAAAAAAAAA==
+
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
 +
b25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxv
 +
Y2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEW51bWJlcl9pbmdvdF91c2VkCGNvbnN0YW50BAdjcnVzaGVy
 +
EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAA
 +
AAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hl
 +
cg==
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 529: Line 536:
  
 
|
 
|
|9
+
|10
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 542: Line 549:
 
waitwhile(active("mixer"))
 
waitwhile(active("mixer"))
 
mix_left = global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1))
 
mix_left = global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1))
loop: gotoif(99, mix_left < 1.0)
+
loop: gotoif(finish, mix_left < 1.0)
 
mix_now = min(mix_left, count("dust", dust_up_loop_tier + 1))
 
mix_now = min(mix_left, count("dust", dust_up_loop_tier + 1))
 
craft("lump", dust_up_loop_tier, mix_now)
 
craft("lump", dust_up_loop_tier, mix_now)
Line 548: Line 555:
 
mix_left = mix_left - mix_now
 
mix_left = mix_left - mix_now
 
goto(loop)
 
goto(loop)
 +
finish: waitwhile(active("mixer"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
C2R1c3RfdXBfbWl4AAAAAAAAAAAJAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGF
+
C2R1c3RfdXBfbWl4AAAAAAAAAAAKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFy
yaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW
+
aXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
50BAI+PQhjb25zdGFudAIKAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3Rpd
+
BAI+PQhjb25zdGFudAIKAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
mUIY29uc3RhbnQEBW1peGVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECG1peF9sZWZ0EWdsb2Jh
+
Y29uc3RhbnQEBW1peGVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECG1peF9sZWZ0EWdsb2JhbC5k
bC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJ
+
b3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGht
pdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbn
+
ZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
N0YW50BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc
+
BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABFjb21wYXJpc29uLmRv
29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhtaXhfbGVmdAhjb25zdGFudAQBPAhj
+
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhtaXhfbGVmdAhjb25zdGFudAQBPAhjb25zdGFu
b25zdGFudAMAAAAAAADwPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAdtaXhfbm93CmRvdWJsZS5
+
dAMAAAAAAADwPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAdtaXhfbm93CmRvdWJsZS5taW4QbG9j
taW4QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQTZmFjdG9yeS5pdGVtcy5jb3VudA
+
YWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
hjb25zdGFudAQEZHVzdA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzd
+
dAQEZHVzdA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29w
F91cF9sb29wX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0
+
X3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0YW50BARsdW1w
YW50BARsdW1wDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2NhbC5
+
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2NhbC5kb3VibGUuZ2V0
kb3VibGUuZ2V0CGNvbnN0YW50BAdtaXhfbm93D2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA
+
CGNvbnN0YW50BAdtaXhfbm93D2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA5nbG9iYWwuaW50
5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdld
+
LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQH
Ahjb25zdGFudAQHbWl4X25vdwhjb25zdGFudAQFbWl4ZXIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFu
+
bWl4X25vdwhjb25zdGFudAQFbWl4ZXIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIbWl4X2xlZnQR
dAQIbWl4X2xlZnQRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl
+
YXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQIY29uc3Rh
4X2xlZnQIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHbWl4X25vdwxnZW5lcm
+
bnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHbWl4X25vdwxnZW5lcmljLmdvdG8IY29uc3Rh
ljLmdvdG8IY29uc3RhbnQCBAAAAA==
+
bnQCBAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAVt
 +
aXhlcg==
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 586: Line 595:
 
:global int dust_up_loop_tier
 
:global int dust_up_loop_tier
 
:global double dust_up_missing
 
:global double dust_up_missing
 +
:global double dust_up_use_ingots
  
 
gotoif(99, dust_up_loop_tier != target_dust_tier)
 
gotoif(99, dust_up_loop_tier != target_dust_tier)
dust_up_missing = max(0.0, global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier)) - count("dust", dust_up_loop_tier) - count("ingot", dust_up_loop_tier))
+
dust_up_missing = max(0.0, target_dust_count - count("dust", dust_up_loop_tier) - (count("ingot", dust_up_loop_tier) * dust_up_use_ingots))
 
gotoif(99, dust_up_missing < 1.0)
 
gotoif(99, dust_up_missing < 1.0)
 
executesync("dust_up_process_lump")
 
executesync("dust_up_process_lump")
Line 595: Line 605:
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
EGR1c3RfdXBfZmluYWxpemUAAAAAAAAAAAUAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5
+
EGR1c3RfdXBfZmluYWxpemUAAAAAAAAAAAUAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5j
jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY2
+
b21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
9uc3RhbnQEAiE9Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2Jhb
+
c3RhbnQEAiE9Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5k
C5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcKZG91YmxlLm1heAhjb25zdGFudAMA
+
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcKZG91YmxlLm1heAhjb25zdGFudAMAAAAA
AAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmd
+
AAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
ldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGllcl8DaTJzDmdsb2JhbC5pbnQuZ2
+
b25zdGFudAQRdGFyZ2V0X2R1c3RfY291bnQIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhj
V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvd
+
b25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
W50CGNvbnN0YW50BARkdXN0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
+
c3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5n
cghjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW5
+
b3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAEqEWds
0LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYw
+
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMOZ2VuZXJpYy5nb3RvaWYI
AAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9ta
+
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
XNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29u
+
ZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0
c3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEE2R
+
ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29u
1c3RfdXBfcHJvY2Vzc19vcmU=
+
c3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmU=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Line 628: Line 638:
 
|
 
|
 
|
 
|
|13
+
|14
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 640: Line 650:
 
:global int target_dust_tier
 
:global int target_dust_tier
 
:global double target_dust_count
 
:global double target_dust_count
 +
:global double dust_up_use_ingots
  
 
gotoif(99, (((global.int.get("craft_tier:ingot") < 1) | (global.int.get("craft_tier:ingot") > 10)) | (global.double.get("craft_count:ingot") <= 0.0)) | (craft_status > 199))
 
gotoif(99, (((global.int.get("craft_tier:ingot") < 1) | (global.int.get("craft_tier:ingot") > 10)) | (global.double.get("craft_count:ingot") <= 0.0)) | (craft_status > 199))
Line 646: Line 657:
  
 
target_dust_tier = global.int.get("craft_tier:ingot")
 
target_dust_tier = global.int.get("craft_tier:ingot")
target_dust_count = global.double.get("craft_count:ingot")
+
target_dust_count = ceil(global.double.get("craft_count:ingot"))
 +
dust_up_use_ingots = 0.0
 
executesync("dust_up_integrated")
 
executesync("dust_up_integrated")
 
gotoif(bad, resources_needed_tier_1 > 0.0)
 
gotoif(bad, resources_needed_tier_1 > 0.0)
Line 652: Line 664:
 
waitwhile(active("oven"))
 
waitwhile(active("oven"))
 
produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
 
produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
waituntil(count("ingot", global.int.get("craft_tier:ingot")) >= global.double.get("craft_count:ingot"))
+
waitwhile(active("oven"))
 
goto(99)
 
goto(99)
 
bad: craft_require_tier = global.int.get("craft_tier:ingot")
 
bad: craft_require_tier = global.int.get("craft_tier:ingot")
Line 660: Line 672:
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
C2NyYWZ0IGluZ290AAAAAAAAAAANAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGF
+
C2NyYWZ0IGluZ290AAAAAAAAAAAOAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGFy
yaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2
+
aXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xv
xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEATwIY29uc3Rhb
+
YmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEATwIY29uc3RhbnQC
nQCAQAAAAhjb25zdGFudAQBfA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQ
+
AQAAAAhjb25zdGFudAQBfA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3Jh
Y3JhZnRfdGllcjppbmdvdAhjb25zdGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXB
+
ZnRfdGllcjppbmdvdAhjb25zdGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlz
hcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdA
+
b24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25z
hjb25zdGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ
+
dGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALH
+
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdl
AAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmR
+
bmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5n
vdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290CGNvbnN0YW50BAI8PRNmYWN0b3J5Lm
+
ZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290CGNvbnN0YW50BAI8PRNmYWN0b3J5Lml0ZW1zLmNv
l0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfd
+
dW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdv
GllcjppbmdvdA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllcg5nbG9iYWwu
+
dA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllcg5nbG9iYWwuaW50LmdldAhj
aW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdvdBFnbG9iYWwuZG91YmxlLnNldAhjb25zdGF
+
b25zdGFudAQQY3JhZnRfdGllcjppbmdvdBFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRdGFyZ2V0
udAQRdGFyZ2V0X2R1c3RfY291bnQRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW
+
X2R1c3RfY291bnQLZG91YmxlLmNlaWwRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2Nv
50OmluZ290E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEEmR1c3RfdXBfaW50ZWdyYXRlZA5nZ
+
dW50OmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29u
W5lcmljLmdvdG9pZghjb25zdGFudAILAAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUu
+
c3RhbnQDAAAAAAAAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3Jh
Z2V0CGNvbnN0YW50BBdyZXNvdXJjZXNfbmVlZGVkX3RpZXJfMQhjb25zdGFudAQBPghjb25zdGFudAM
+
dGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgwAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRv
AAAAAAAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BA
+
dWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+CGNvbnN0
RvdmVuD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFud
+
YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3Rh
AQQY3JhZnRfdGllcjppbmdvdAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91
+
bnQEBG92ZW4PZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARkdXN0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
YmxlLmdldAhjb25zdGFudAQRY3JhZnRfY291bnQ6aW5nb3QIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGV
+
YW50BBBjcmFmdF90aWVyOmluZ290C2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5k
tcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZX
+
b3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25zdGFudAQBLRNmYWN0b3J5Lml0
I6aW5nb3QIY29uc3RhbnQEBG92ZW4RZ2VuZXJpYy53YWl0dW50aWwRY29tcGFyaXNvbi5kb3VibGUTZ
+
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGll
mFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQE
+
cjppbmdvdAhjb25zdGFudAQEb3ZlbhFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0
EGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEAj49EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBF
+
aXZlCGNvbnN0YW50BARvdmVuDGdlbmVyaWMuZ290bwhjb25zdGFudAJjAAAADmdsb2JhbC5pbnQuc2V0
jcmFmdF9jb3VudDppbmdvdAxnZW5lcmljLmdvdG8IY29uc3RhbnQCYwAAAA5nbG9iYWwuaW50LnNldA
+
CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXIOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0
hjb25zdGFudAQSY3JhZnRfcmVxdWlyZV90aWVyDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBBjcmFmd
+
X3RpZXI6aW5nb3QRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQR
F90aWVyOmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBNjcmFmdF9yZXF1aXJlX2NvdW50
+
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290Dmdsb2JhbC5pbnQuc2V0
EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdA5nbG9iYWwuaW50LnN
+
CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQCnAEAAA==
ldAhjb25zdGFudAQMY3JhZnRfc3RhdHVzCGNvbnN0YW50ApwBAAA=
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|}
 
|}

Latest revision as of 10:03, 25 January 2021

A collection of helpful scripts This page structure (and the tamperscript) is copied directly from user Troylaurin https://www.perfecttower2.com/wiki/index.php?title=User:Troylaurin

Click to copy (tamperscript)
// ==UserScript==
// @name         Click to copy on <pre> tags
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add click to copy buttons to <pre> tags
// @author       Troy.Laurin@gmail.com
// @match        https://www.perfecttower2.com/wiki/*
// @grant        GM_addStyle
// @require      https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js
// @require      http://code.jquery.com/jquery-3.5.1.slim.min.js
// ==/UserScript==

(function() {
    'use strict';

    // ------------------------------------------
    // CSS part injected in the page
    GM_addStyle(" \
.precontainer { \
position: relative; \
} \
.copy-btn { \
background: #DDD; \
font-family: monospace; \
font-weight: bolder; \
margin: 0; \
opacity: 0; \
padding: 4px; \
position: absolute; \
right: 1px; \
top: 1px; \
cursor: pointer; \
-webkit-transition: opacity 0.3s ease-in-out; \
-o-transition: opacity 0.3s ease-in-out; \
transition: opacity 0.3s ease-in-out; \
} \
.precontainer:hover >.copy-btn { \
opacity: 1; \
} \
table { width: 100% } \
");

    $('pre').wrap('<div class="precontainer"></div>');
    $('pre').before($('<span class="copy-btn">&lt;/&gt;</span>'));

    new ClipboardJS('.copy-btn', {
        text: function(trigger) {
            return $(trigger.nextElementSibling).text();
        }
    })
        .on('success',function (e) {
        $(e.trigger).html("&lt;copied/&gt;")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    })
        .on('error',function (e) {
        $(e.trigger).html("Error!")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    });
})();

Summary

These scripts will upgrade your dusts to your specified tier and number of that tier. It will process ores, lums and (if set so) ingots. It will make sure that you've got enough resources to even reach your goal and will leave you with at least 1 resource of each tier, so that you never run out of a tier.

To use it, you have to set the global variables "target_dust_tier", "target_dust_count" and "dust_up_use_ingots" to your need. Either you set it in the "dust_up" script, tu run it manually or you set those values in one of your scripts and execute "dust_up_integrated".

Dust Up Scripts

Script Impulses Conditions Lines Source
dust_up
  • key 1
  • factory screen open
4
:global int target_dust_tier
:global double target_dust_count
:global double dust_up_use_ingots

key.1()

isopen("factory")

target_dust_tier = 8
target_dust_count = 350.0
dust_up_use_ingots = 1.0
executesync("dust_up_integrated")
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkE
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAAAR
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAAAAA
4HVAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQD
AAAAAAAA8D8TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3JhdGVk
dust_up_integrated
13
:global double dust_up_missing
:global int dust_up_loop_tier
:global double resources_needed_tier_1
:global double target_dust_count
:global int target_dust_tier

executesync("dust_count_resources")
executesync("dust_calc_needed")
gotoif(99, resources_needed_tier_1 > 0.0)
dust_up_loop_tier = 1
loop: dust_up_missing = max(0.0, (global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1)) * 4.0) - count("dust", dust_up_loop_tier))
gotoif(mix, dust_up_missing < 1.0)
executesync("dust_up_process_lump")
executesync("dust_up_process_ore")
executesync("dust_up_process_ingot")
mix: executesync("dust_up_mix")
dust_up_loop_tier = dust_up_loop_tier + 1
gotoif(loop, dust_up_loop_tier < target_dust_tier)
executesync("dust_up_finalize")
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADQAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2Nh
bGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xv
YmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+
CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
cghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcK
ZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGll
cl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3Bf
dGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAABBA
CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvYmFsLmludC5n
ZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAR
Y29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2lu
Zwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNkdXN0X3Vw
X3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3RfdXBfcHJvY2Vzc19p
bmdvdBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtkdXN0X3VwX21peA5nbG9iYWwuaW50LnNl
dAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQI
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJp
Yy5nb3RvaWYIY29uc3RhbnQCBQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFu
dAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEATwOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRh
cmdldF9kdXN0X3RpZXITZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQQZHVzdF91cF9maW5hbGl6
ZQ==
dust_count_resources 10
:global double resources_tier_10
:global double resources_tier_9
:global double resources_tier_8
:global double resources_tier_7
:global double resources_tier_6
:global double resources_tier_5
:global double resources_tier_4
:global double resources_tier_3
:global double resources_tier_2
:global double resources_tier_1
:global double dust_up_use_ingots

resources_tier_10 = max(0.0,(dust_up_use_ingots * count("ingot",10)) + count("dust", 10) + count("ore",10) + (count("lump",9) * 2.0) - 1.0)
resources_tier_9 = max(0.0,(dust_up_use_ingots * count("ingot",9)) + count("dust", 9) + count("ore",9) + (count("lump",8) * 2.0) - 1.0)
resources_tier_8 = max(0.0,(dust_up_use_ingots * count("ingot",8)) + count("dust", 8) + count("ore",8) + (count("lump",7) * 2.0) - 1.0)
resources_tier_7 = max(0.0,(dust_up_use_ingots * count("ingot",7)) + count("dust", 7) + count("ore",7) + (count("lump",6) * 2.0) - 1.0)
resources_tier_6 = max(0.0,(dust_up_use_ingots * count("ingot",6)) + count("dust", 6) + count("ore",6) + (count("lump",5) * 2.0) - 1.0)
resources_tier_5 = max(0.0,(dust_up_use_ingots * count("ingot",5)) + count("dust", 5) + count("ore",5) + (count("lump",4) * 2.0) - 1.0)
resources_tier_4 = max(0.0,(dust_up_use_ingots * count("ingot",4)) + count("dust", 4) + count("ore",4) + (count("lump",3) * 2.0) - 1.0)
resources_tier_3 = max(0.0,(dust_up_use_ingots * count("ingot",3)) + count("dust", 3) + count("ore",3) + (count("lump",2) * 2.0) - 1.0)
resources_tier_2 = max(0.0,(dust_up_use_ingots * count("ingot",2)) + count("dust", 2) + count("ore",2) + (count("lump",1) * 2.0) - 1.0)
resources_tier_1 = max(0.0,(dust_up_use_ingots * count("ingot",1)) + count("dust", 1) + count("ore",1) - 1.0)
FGR1c3RfY291bnRfcmVzb3VyY2VzAAAAAAAAAAAKAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50
BBFyZXNvdXJjZXNfdGllcl8xMApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
EWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9p
bmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3Rh
bnQCCgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0
YW50AgoAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0
YW50AgoAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQEbHVtcAhjb25zdGFudAIJAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNv
bnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNv
dXJjZXNfdGllcl85CmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGUR
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhj
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIJAAAA
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCCQAA
AAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCCQAA
AAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
BARsdW1wCGNvbnN0YW50AggAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
AS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190
aWVyXzgKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1l
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50
BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AggAAAAIY29uc3Rh
bnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIIAAAACGNvbnN0
YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIIAAAACGNvbnN0
YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAI
Y29uc3RhbnQCBwAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25z
dGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNwpk
b3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCBwAAAAhjb25zdGFudAQBKxNm
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsT
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsR
YXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFu
dAIGAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAA
AAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl82CmRvdWJsZS5t
YXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJp
dGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
dWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIGAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
aXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxNmYWN0b3J5
Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxFhcml0aG1l
dGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgUAAAAI
Y29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8R
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190aWVyXzUKZG91YmxlLm1heAhjb25z
dGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
dAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291
bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
b3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
Y291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBAAAAAhjb25zdGFu
dAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwu
ZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNApkb3VibGUubWF4CGNvbnN0YW50AwAA
AAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25z
dGFudAQFaW5nb3QIY29uc3RhbnQCBAAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNv
bnN0YW50BARkdXN0CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQDb3JlCGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFudAIDAAAACGNvbnN0YW50BAEqCGNv
bnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUu
c2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl8zCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAAR
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1
c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVp
bmdvdAhjb25zdGFudAIDAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
BGR1c3QIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
BANvcmUIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASoIY29uc3RhbnQD
AAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29u
c3RhbnQEEHJlc291cmNlc190aWVyXzIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1l
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91
c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNv
bnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhj
b25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhj
b25zdGFudAICAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAA
QAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQ
cmVzb3VyY2VzX3RpZXJfMQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNm
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsT
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0I
Y29uc3RhbnQDAAAAAAAA8D8=
dust_calc_needed 11
:global double target_dust_count
:global int target_dust_tier
:local int loop_tier

loop_tier = 11
targettier: loop_tier = loop_tier - 1
gotoif(skip, loop_tier > target_dust_tier)
global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, target_dust_count - global.double.get("resources_tier_" . i2s(loop_tier))))
goto(continueloop)
smalltiers: global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, (global.double.get("resources_needed_tier_" . i2s(loop_tier + 1)) * 4.0) - global.double.get("resources_tier_" . i2s(loop_tier))))
continueloop: loop_tier = loop_tier - 1
gotoif(smalltiers, loop_tier > 0)
goto(99)
skip: global.double.set("resources_needed_tier_" . i2s(loop_tier), 0.0)
goto(targettier)
EGR1c3RfY2FsY19uZWVkZWQAAAAAAAAAAAsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF9
0aWVyCGNvbnN0YW50AgsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobW
V0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zd
GFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwu
aW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyCGNvbnN0YW50BAE+Dmdsb2JhbC5pbnQuZ2V0CGNvbnN
0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQWcm
Vzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyC
mRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJs
ZS5nZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGU
uZ2V0BmNvbmNhdAhjb25zdGFudAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbn
N0YW50BAlsb29wX3RpZXIMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AgcAAAARZ2xvYmFsLmRvdWJsZS5zZ
XQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0
CGNvbnN0YW50BAlsb29wX3RpZXIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGl
jLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3Rhbn
QEFnJlc291cmNlc19uZWVkZWRfdGllcl8DaTJzDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY
29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNv
bnN0YW50AwAAAAAAABBACGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGF
udAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXINbG
9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZ
XQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290
b2lmCGNvbnN0YW50AgYAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9
vcF90aWVyCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AmMAAA
ARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA
2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXIIY29uc3RhbnQDAAAAAAAAAAAMZ2Vu
ZXJpYy5nb3RvCGNvbnN0YW50AgIAAAA=
dust_up_process_lump 13
; Process lumps into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_lumps
:local double number_lump_used

gotoif(99, dust_up_loop_tier == 1)
number_lumps = count("lump",dust_up_loop_tier - 1)
gotoif(processpartially, number_lumps * 2.0 > dust_up_missing)
gotoif(99, number_lumps < 1.0)
waitwhile(active("mixer"))
processall: produce("lump", dust_up_loop_tier - 1, number_lumps, "mixer")
dust_up_missing = dust_up_missing - (number_lumps * 2.0)
goto(end)
processpartially: number_lump_used = ceil(dust_up_missing / 2.0)
waitwhile(active("mixer"))
produce("lump", dust_up_loop_tier - 1, number_lump_used, "mixer")
dust_up_missing = 0.0
end: waitwhile(active("mixer"))
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAANAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMA
AAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVy
CGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51bWJl
cl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
dAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgkAAAARY29tcGFyaXNvbi5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvbnN0YW50
BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
BA9kdXN0X3VwX21pc3NpbmcOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRv
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfbHVtcHMIY29uc3RhbnQEATwIY29u
c3RhbnQDAAAAAAAA8D8RZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25z
dGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
dAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhjb25zdGFudAQFbWl4
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAEt
EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29uc3RhbnQCDQAAABBsb2Nh
bC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJsZS5jZWlsEWFyaXRobWV0
aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3Rh
bnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFj
dGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0
aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQB
LQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEG51bWJlcl9sdW1wX3VzZWQI
Y29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcI
Y29uc3RhbnQDAAAAAAAAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhj
b25zdGFudAQFbWl4ZXI=
dust_up_process_ore 12
; Process ore into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_ore
:local double number_ore_used

number_ore = count("ore",dust_up_loop_tier)
gotoif(processpartially, number_ore > dust_up_missing)
gotoif(99, number_ore < 1.0)
waitwhile(active("crusher"))
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
dust_up_missing = dust_up_missing - number_ore
goto(end)
processpartially: number_ore_used = dust_up_missing
waitwhile(active("crusher"))
produce("ore", dust_up_loop_tier, number_ore_used, "crusher")
dust_up_missing = 0.0
end: waitwhile(active("crusher"))
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAwAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQK
bnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQI
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29t
cGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25zdGFu
dAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nDmdlbmVyaWMuZ290
b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
dAQKbnVtYmVyX29yZQhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxFnZW5lcmljLndhaXR3aGls
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
b25zdGFudAQDb3JlDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2Nh
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFs
LmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25zdGFudAQBLRBsb2NhbC5kb3Vi
bGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlDGdlbmVyaWMuZ290bwhjb25zdGFudAIMAAAAEGxvY2Fs
LmRvdWJsZS5zZXQIY29uc3RhbnQED251bWJlcl9vcmVfdXNlZBFnbG9iYWwuZG91YmxlLmdldAhjb25z
dGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3Rp
dmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmlu
dC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
D251bWJlcl9vcmVfdXNlZAhjb25zdGFudAQHY3J1c2hlchFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFu
dAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3Rv
cnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXI=
dust_up_process_ingot 13
; Process ingots into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_ingot
:local double number_ingot_used
:global double dust_up_use_ingots

gotoif(99, dust_up_use_ingots < 1.0)
number_ingot = count("ingot",dust_up_loop_tier)
gotoif(processpartially, number_ingot > dust_up_missing)
gotoif(99, number_ingot < 1.0)
waitwhile(active("crusher"))
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
dust_up_missing = dust_up_missing - number_ingot
goto(end)
processpartially: number_ingot_used = dust_up_missing
waitwhile(active("crusher"))
produce("ingot", dust_up_loop_tier, number_ingot_used, "crusher")
dust_up_missing = 0.0
end: waitwhile(active("crusher"))
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAADQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJj
AAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3Vz
ZV9pbmdvdHMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91YmxlLnNldAhjb25z
dGFudAQMbnVtYmVyX2luZ290E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290Dmdsb2Jh
bC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5nZW5lcmljLmdvdG9pZghjb25zdGFu
dAIJAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9p
bmdvdAhjb25zdGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5n
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
LmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdl
bmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFj
dG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91
cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50
BAdjcnVzaGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGht
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25z
dGFudAQBLRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QMZ2VuZXJpYy5nb3Rv
CGNvbnN0YW50Ag0AAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3VzZWQR
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFnZW5lcmljLndhaXR3aGls
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
b25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxv
Y2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEW51bWJlcl9pbmdvdF91c2VkCGNvbnN0YW50BAdjcnVzaGVy
EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAA
AAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hl
cg==
dust_up_mix 10
:global int dust_up_loop_tier
:local double mix_left
:local double mix_now

gotoif(99, dust_up_loop_tier >= 10)
waitwhile(active("mixer"))
mix_left = global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1))
loop: gotoif(finish, mix_left < 1.0)
mix_now = min(mix_left, count("dust", dust_up_loop_tier + 1))
craft("lump", dust_up_loop_tier, mix_now)
produce("lump", dust_up_loop_tier, mix_now, "mixer")
mix_left = mix_left - mix_now
goto(loop)
finish: waitwhile(active("mixer"))
C2R1c3RfdXBfbWl4AAAAAAAAAAAKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFy
aXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
BAI+PQhjb25zdGFudAIKAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
Y29uc3RhbnQEBW1peGVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECG1peF9sZWZ0EWdsb2JhbC5k
b3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGht
ZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABFjb21wYXJpc29uLmRv
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhtaXhfbGVmdAhjb25zdGFudAQBPAhjb25zdGFu
dAMAAAAAAADwPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAdtaXhfbm93CmRvdWJsZS5taW4QbG9j
YWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
dAQEZHVzdA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29w
X3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0YW50BARsdW1w
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2NhbC5kb3VibGUuZ2V0
CGNvbnN0YW50BAdtaXhfbm93D2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA5nbG9iYWwuaW50
LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQH
bWl4X25vdwhjb25zdGFudAQFbWl4ZXIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIbWl4X2xlZnQR
YXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQIY29uc3Rh
bnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHbWl4X25vdwxnZW5lcmljLmdvdG8IY29uc3Rh
bnQCBAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAVt
aXhlcg==
dust_up_finalize 5
:global int target_dust_tier
:global double target_dust_count
:global int dust_up_loop_tier
:global double dust_up_missing
:global double dust_up_use_ingots

gotoif(99, dust_up_loop_tier != target_dust_tier)
dust_up_missing = max(0.0, target_dust_count - count("dust", dust_up_loop_tier) - (count("ingot", dust_up_loop_tier) * dust_up_use_ingots))
gotoif(99, dust_up_missing < 1.0)
executesync("dust_up_process_lump")
executesync("dust_up_process_ore")
EGR1c3RfdXBfZmluYWxpemUAAAAAAAAAAAUAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5j
b21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
c3RhbnQEAiE9Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5k
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcKZG91YmxlLm1heAhjb25zdGFudAMAAAAA
AAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
b25zdGFudAQRdGFyZ2V0X2R1c3RfY291bnQIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
c3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5n
b3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAEqEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMOZ2VuZXJpYy5nb3RvaWYI
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
ZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0
ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29u
c3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmU=

Examples of integrating the Dust Up scripts


Name Impulses Conditions Lines Code
Troylaurin's crafting scripts:

"craft ingot"

as of 2021-01-19

14
:global double craft_require_count
:global int craft_require_tier
:global int craft_status
:global double resources_needed_tier_1
:global int target_dust_tier
:global double target_dust_count
:global double dust_up_use_ingots

gotoif(99, (((global.int.get("craft_tier:ingot") < 1) | (global.int.get("craft_tier:ingot") > 10)) | (global.double.get("craft_count:ingot") <= 0.0)) | (craft_status > 199))

gotoif(99, global.double.get("craft_count:ingot") <= count("ingot", global.int.get("craft_tier:ingot")))

target_dust_tier = global.int.get("craft_tier:ingot")
target_dust_count = ceil(global.double.get("craft_count:ingot"))
dust_up_use_ingots = 0.0
executesync("dust_up_integrated")
gotoif(bad, resources_needed_tier_1 > 0.0)

waitwhile(active("oven"))
produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
waitwhile(active("oven"))
goto(99)
bad: craft_require_tier = global.int.get("craft_tier:ingot")
craft_require_count = global.double.get("craft_count:ingot")
craft_status = 412
C2NyYWZ0IGluZ290AAAAAAAAAAAOAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGFy
aXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xv
YmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEATwIY29uc3RhbnQC
AQAAAAhjb25zdGFudAQBfA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3Jh
ZnRfdGllcjppbmdvdAhjb25zdGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlz
b24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25z
dGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdl
bmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5n
ZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290CGNvbnN0YW50BAI8PRNmYWN0b3J5Lml0ZW1zLmNv
dW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdv
dA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllcg5nbG9iYWwuaW50LmdldAhj
b25zdGFudAQQY3JhZnRfdGllcjppbmdvdBFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRdGFyZ2V0
X2R1c3RfY291bnQLZG91YmxlLmNlaWwRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2Nv
dW50OmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29u
c3RhbnQDAAAAAAAAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3Jh
dGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgwAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRv
dWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+CGNvbnN0
YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3Rh
bnQEBG92ZW4PZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARkdXN0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
YW50BBBjcmFmdF90aWVyOmluZ290C2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5k
b3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25zdGFudAQBLRNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGll
cjppbmdvdAhjb25zdGFudAQEb3ZlbhFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0
aXZlCGNvbnN0YW50BARvdmVuDGdlbmVyaWMuZ290bwhjb25zdGFudAJjAAAADmdsb2JhbC5pbnQuc2V0
CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXIOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0
X3RpZXI6aW5nb3QRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQR
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290Dmdsb2JhbC5pbnQuc2V0
CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQCnAEAAA==