@shipload/sdk 2.0.0-rc1 → 2.0.0-rc10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/lib/shipload.d.ts +1591 -1101
  2. package/lib/shipload.js +6735 -3491
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +6421 -3275
  5. package/lib/shipload.m.js.map +1 -1
  6. package/package.json +6 -6
  7. package/src/capabilities/crafting.ts +26 -0
  8. package/src/capabilities/extraction.ts +36 -0
  9. package/src/capabilities/guards.ts +38 -0
  10. package/src/capabilities/hauling.ts +22 -0
  11. package/src/capabilities/index.ts +8 -0
  12. package/src/capabilities/loading.ts +8 -0
  13. package/src/capabilities/modules.ts +57 -0
  14. package/src/capabilities/movement.ts +29 -0
  15. package/src/capabilities/storage.ts +72 -0
  16. package/src/contracts/server.ts +890 -309
  17. package/src/data/capabilities.ts +408 -0
  18. package/src/data/categories.ts +58 -0
  19. package/src/data/colors.ts +52 -0
  20. package/src/data/items.json +17 -0
  21. package/src/data/locations.ts +53 -0
  22. package/src/data/nebula-adjectives.json +211 -0
  23. package/src/data/nebula-nouns.json +151 -0
  24. package/src/data/recipes.ts +571 -0
  25. package/src/data/syllables.json +1386 -780
  26. package/src/data/tiers.ts +45 -0
  27. package/src/derivation/crafting.ts +197 -0
  28. package/src/derivation/index.ts +28 -0
  29. package/src/derivation/location-size.ts +15 -0
  30. package/src/derivation/resources.ts +142 -0
  31. package/src/derivation/stats.ts +146 -0
  32. package/src/derivation/stratum.ts +118 -0
  33. package/src/entities/cargo-utils.ts +46 -9
  34. package/src/entities/container.ts +106 -0
  35. package/src/entities/entity-inventory.ts +13 -13
  36. package/src/entities/inventory-accessor.ts +42 -0
  37. package/src/entities/location.ts +7 -188
  38. package/src/entities/makers.ts +72 -0
  39. package/src/entities/player.ts +1 -273
  40. package/src/entities/ship-deploy.ts +263 -0
  41. package/src/entities/ship.ts +93 -453
  42. package/src/entities/warehouse.ts +34 -148
  43. package/src/errors.ts +4 -4
  44. package/src/index-module.ts +225 -42
  45. package/src/managers/actions.ts +107 -78
  46. package/src/managers/context.ts +0 -9
  47. package/src/managers/entities.ts +22 -5
  48. package/src/managers/index.ts +0 -1
  49. package/src/managers/locations.ts +15 -79
  50. package/src/market/items.ts +30 -0
  51. package/src/nft/description.ts +175 -0
  52. package/src/nft/deserializers.ts +81 -0
  53. package/src/nft/index.ts +2 -0
  54. package/src/resolution/resolve-item.ts +313 -0
  55. package/src/scheduling/accessor.ts +82 -0
  56. package/src/scheduling/projection.ts +158 -54
  57. package/src/scheduling/schedule.ts +24 -0
  58. package/src/shipload.ts +0 -5
  59. package/src/travel/travel.ts +93 -19
  60. package/src/types/capabilities.ts +71 -0
  61. package/src/types/entity-traits.ts +69 -0
  62. package/src/types/entity.ts +39 -0
  63. package/src/types/index.ts +3 -0
  64. package/src/types.ts +76 -33
  65. package/src/utils/hash.ts +1 -1
  66. package/src/utils/system.ts +139 -11
  67. package/src/data/goods.json +0 -23
  68. package/src/managers/trades.ts +0 -119
  69. package/src/market/goods.ts +0 -31
  70. package/src/market/market.ts +0 -209
  71. package/src/market/rolls.ts +0 -8
  72. package/src/trading/collect.ts +0 -939
  73. package/src/trading/deal.ts +0 -208
  74. package/src/trading/trade.ts +0 -203
@@ -1,6 +1,7 @@
1
1
  import type {
2
2
  Action,
3
3
  Checksum256Type,
4
+ Int32Type,
4
5
  Int64Type,
5
6
  NameType,
6
7
  TimePointType,
@@ -12,8 +13,10 @@ import type {
12
13
  import {
13
14
  ABI,
14
15
  Blob,
16
+ Bytes,
15
17
  Checksum256,
16
18
  Checksum512,
19
+ Int32,
17
20
  Int64,
18
21
  Name,
19
22
  Struct,
@@ -26,10 +29,32 @@ import {
26
29
  import type {ActionOptions, ContractArgs, PartialBy, Table} from '@wharfkit/contract'
27
30
  import {Contract as BaseContract} from '@wharfkit/contract'
28
31
  export const abiBlob = Blob.from(
29
- 'DmVvc2lvOjphYmkvMS4yAEEHYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2CGJ1eWdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyB2J1eXNoaXAAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcMYnV5d2FyZWhvdXNlAAMHYWNjb3VudARuYW1lB3NoaXBfaWQGdWludDY0BG5hbWUGc3RyaW5nBmNhbmNlbAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50BnVpbnQ2NApjYW5jZWxfbG9nAAYFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAV1aW50OAR0YXNrBHRhc2sKc3RhcnRlZF9hdAp0aW1lX3BvaW50DmNhbmNlbF9yZXN1bHRzAAQJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/CmNhcmdvX2l0ZW0AAwdnb29kX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIJdW5pdF9jb3N0BnVpbnQ2NAljYXJnb19yb3cABQJpZAZ1aW50NjQJZW50aXR5X2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQJdW5pdF9jb3N0BnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAEGY29tbWl0C2NoZWNrc3VtMjU2C2Nvb3JkaW5hdGVzAAMBeAVpbnQ2NAF5BWludDY0AXoHdWludDE2PwZlbmFibGUAAQdlbmFibGVkBGJvb2wMZW5lcmd5X3N0YXRzAAIIY2FwYWNpdHkGdWludDE2CHJlY2hhcmdlBnVpbnQxNgtlbnRpdHlfaW5mbwAUBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcIbG9jYXRpb24LY29vcmRpbmF0ZXMJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb19pdGVtW10HbG9hZGVycw1sb2FkZXJfc3RhdHM/BmVuZXJneQd1aW50MTY/BG1hc3MHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwhjYXBhY2l0eQd1aW50MzI/B2lzX2lkbGUEYm9vbAxjdXJyZW50X3Rhc2sFdGFzaz8UY3VycmVudF90YXNrX2VsYXBzZWQGdWludDMyFmN1cnJlbnRfdGFza19yZW1haW5pbmcGdWludDMyDXBlbmRpbmdfdGFza3MGdGFza1tdB2lkbGVfYXQLdGltZV9wb2ludD8Ic2NoZWR1bGUJc2NoZWR1bGU/DGVudGl0eV9zdGF0ZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzBmVuZXJneQZ1aW50MTYOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CGdldGdvb2RzAAALZ2V0bG9jYXRpb24AAgF4BWludDY0AXkFaW50NjQJZ2V0bmVhcmJ5AAMLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CHJlY2hhcmdlBGJvb2wJZ2V0cGxheWVyAAEHYWNjb3VudARuYW1lDGdldHN1bW1hcmllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8EZ29vZAADAmlkBnVpbnQxNgpiYXNlX3ByaWNlBnVpbnQzMgRtYXNzBnVpbnQzMgpnb29kc19pbmZvAAEFZ29vZHMGZ29vZFtdBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NgRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgNbG9jYXRpb25fZ29vZAAFAmlkBnVpbnQxNgVwcmljZQZ1aW50MzIGc3VwcGx5BnVpbnQxNhFyYXJpdHlfbXVsdGlwbGllcgZ1aW50MzITbG9jYXRpb25fbXVsdGlwbGllcgZ1aW50MzINbG9jYXRpb25faW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbAVnb29kcw9sb2NhdGlvbl9nb29kW10MbG9jYXRpb25fcm93AAUCaWQGdWludDY0C2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBWVwb2NoBnVpbnQ2NAdnb29kX2lkBnVpbnQxNgZzdXBwbHkGdWludDE2CWxvZ2NhbmNlbAABA2xvZwpjYW5jZWxfbG9nCmxvZ3Jlc29sdmUAAQNsb2cLcmVzb2x2ZV9sb2cObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50DGVudGl0eV9zdGF0ZQlwcm9qZWN0ZWQMZW50aXR5X3N0YXRlCm1heF9lbmVyZ3kGdWludDE2B3N5c3RlbXMPbmVhcmJ5X3N5c3RlbVtdDW5lYXJieV9zeXN0ZW0ABAhkaXN0YW5jZQZ1aW50NjQLZW5lcmd5X2Nvc3QGdWludDY0C2ZsaWdodF90aW1lBnVpbnQzMghsb2NhdGlvbg1sb2NhdGlvbl9pbmZvB3BheWxvYW4AAgdhY2NvdW50BG5hbWUGYW1vdW50BnVpbnQ2NAtwbGF5ZXJfaW5mbwALBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwdiYWxhbmNlBnVpbnQ2NARkZWJ0BnVpbnQzMghuZXR3b3J0aAVpbnQ2NA5hdmFpbGFibGVfbG9hbgZ1aW50NjQPbmV4dF9zaGlwX3ByaWNlBnVpbnQ2NBRuZXh0X3dhcmVob3VzZV9wcmljZQZ1aW50NjQKc2hpcF9jb3VudAZ1aW50NjQPd2FyZWhvdXNlX2NvdW50BnVpbnQ2NApwbGF5ZXJfcm93AAQFb3duZXIEbmFtZQdiYWxhbmNlBnVpbnQ2NARkZWJ0BnVpbnQzMghuZXR3b3J0aAVpbnQ2NAtwdXJnZXN1cHBseQABCG1heF9yb3dzB3VpbnQ2ND8IcmVjaGFyZ2UAAgtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAdyZXNvbHZlAAILZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQLcmVzb2x2ZV9sb2cADQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAp0YXNrX2luZGV4BXVpbnQ4BHRhc2sEdGFzawpzdGFydGVkX2F0CnRpbWVfcG9pbnQMY29tcGxldGVkX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MTY/DG5ld19sb2NhdGlvbgxjb29yZGluYXRlcz8PY2FyZ29tYXNzX2RlbHRhBWludDY0C2NhcmdvX2FkZGVkDGNhcmdvX2l0ZW1bXQ1jYXJnb19yZW1vdmVkDGNhcmdvX2l0ZW1bXQdjcmVkaXRzBmludDY0Pw9yZXNvbHZlX3Jlc3VsdHMABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUOcmVzb2x2ZWRfY291bnQFdWludDgUbmV3X3NjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8Ec2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQlzZWxsZ29vZHMAAwdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIMc2VxdWVuY2Vfcm93AAIDa2V5BG5hbWUFdmFsdWUGdWludDY0CHNoaXBfcm93AAsCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcIbG9jYXRpb24LY29vcmRpbmF0ZXMEbWFzcwZ1aW50MzIIY2FwYWNpdHkGdWludDMyBmVuZXJneQZ1aW50MTYHZW5naW5lcw5tb3ZlbWVudF9zdGF0cwlnZW5lcmF0b3IMZW5lcmd5X3N0YXRzB2xvYWRlcnMMbG9hZGVyX3N0YXRzCHNjaGVkdWxlCXNjaGVkdWxlPwlzdGF0ZV9yb3cABgdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNhbHQGdWludDY0BXNoaXBzBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1Ngh0YWtlbG9hbgACB2FjY291bnQEbmFtZQZhbW91bnQGdWludDY0BHRhc2sABwR0eXBlBXVpbnQ4CGR1cmF0aW9uBnVpbnQzMgpjYW5jZWxhYmxlBXVpbnQ4CGxvY2F0aW9uDGNvb3JkaW5hdGVzPwVjYXJnbwxjYXJnb19pdGVtW10GZW50aXR5B3VpbnQ2ND8HY3JlZGl0cwZpbnQ2ND8MdGFza19yZXN1bHRzAAEIZW50aXRpZXMSZW50aXR5X3Rhc2tfaW5mb1tdCHRyYW5zZmVyAAYLc291cmNlX3R5cGUEbmFtZQlzb3VyY2VfaWQGdWludDY0CWRlc3RfdHlwZQRuYW1lB2Rlc3RfaWQGdWludDY0B2dvb2RfaWQGdWludDE2CHF1YW50aXR5BnVpbnQzMgZ0cmF2ZWwABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cAAgJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeQx1cGRhdGVjcmVkaXQAAgdhY2NvdW50BG5hbWUGYW1vdW50BWludDY0CnVwZGF0ZWRlYnQAAgdhY2NvdW50BG5hbWUGYW1vdW50BWludDY0DXdhcmVob3VzZV9yb3cABwJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwhsb2NhdGlvbgtjb29yZGluYXRlcwhjYXBhY2l0eQZ1aW50MzIHbG9hZGVycwxsb2FkZXJfc3RhdHMIc2NoZWR1bGUJc2NoZWR1bGU/BHdpcGUAAAx3aXBlc2VxdWVuY2UAACIAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAOFHKvD4IYnV5Z29vZHPdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBidXlnb29kcwpzdW1tYXJ5OiAnQnV5IGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBnb29kcyBhbmQgYWRkIHRoZW0gdG8gYSBzaGlwJ3MgY2FyZ28uAAAAoLqGvT4HYnV5c2hpcMYBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJ1eXNoaXAKc3VtbWFyeTogJ0J1eSBhIG5ldyBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBhIG5ldyBzaGlwoLCmTV3DvT4MYnV5d2FyZWhvdXNlzAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYnV5d2FyZWhvdXNlCnN1bW1hcnk6ICdCdXkgYSBuZXcgd2FyZWhvdXNlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBhIG5ldyB3YXJlaG91c2UgYXQgdGhlIGxvY2F0aW9uIG9mIGFuIGlkbGUgc2hpcC4gV2FyZWhvdXNlcyBwcm92aWRlIGNhcmdvIHN0b3JhZ2Ugd2l0aCBsb2FkaW5nL3VubG9hZGluZyBjYXBhYmlsaXRpZXMgYnV0IGNhbm5vdCBtb3ZlLgAAAABEhaZBBmNhbmNlbMcCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgoKLS0tAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdPEBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4KCi0tLQAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQCwctnlqbJiC2dldGVudGl0aWVzpAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXRpZXMKc3VtbWFyeTogJ0dldCBhbGwgZW50aXRpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGZ1bGwgZW50aXR5IGluZm8gZm9yIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllci4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAADw2eWpsmIJZ2V0ZW50aXR5ogItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXR5CnN1bW1hcnk6ICdHZXQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGFuIGVudGl0eSBpbmNsdWRpbmcgaWRlbnRpdHksIGNhcmdvLCBzY2hlZHVsZSBzdGF0ZSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzLgAAADhRyrJiCGdldGdvb2RzqgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Z29vZHMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgdHJhZGVhYmxlIGdvb2RzIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgbmFtZSwgYmFzZSBwcmljZSwgYW5kIG1hc3MuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggZ29vZDogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAAAAANCwaQRoYXNo/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgoKLS0tAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tAACICk2DGI0JbG9nY2FuY2VsAACA2pFidRmNCmxvZ3Jlc29sdmUAAAAAYBoavakHcGF5bG9hbq8BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBheWxvYW4Kc3VtbWFyeTogJ0xvYW4gUGF5bWVudCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQB8rFVjxa6uC3B1cmdlc3VwcGx56QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcHVyZ2VzdXBwbHkKc3VtbWFyeTogJ1VwZGF0ZSBHYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJnZSBvbGQgc3VwcGx5IHJlY29yZHMgYW5kIGhlbHAgY2xlYW51cCBnYW1lIHN0YXRlLgAAAIpd05C6CHJlY2hhcmdl0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4KCi0tLQAAAEDtSLG6B3Jlc29sdmXEAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgYWxsIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4KCi0tLQAAAAAAkKPBBHNhbHTdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgoKLS0tAADAiVIWo8IJc2VsbGdvb2Rz1QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2VsbGdvb2RzCnN1bW1hcnk6ICdTZWxsIGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZWxsIGdvb2RzIGZyb20gYSBzaGlwJ3MgY2FyZ28uCgotLS0AAADT0KigyQh0YWtlbG9hbuoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRha2Vsb2FuCnN1bW1hcnk6ICdDcmVkaXQgTG9hbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQm9ycm93IGNyZWRpdHMgZnJvbSB0aGUgYmFuayB0aGF0IHdpbGwgbmVlZCB0byBiZSByZXBhaWQuAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbMsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBhIGdpdmVuIGxvY2F0aW9uLpBdUhepbFLVDHVwZGF0ZWNyZWRpdMIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWNyZWRpdApzdW1tYXJ5OiAnREVCVUc6IHVwZGF0ZWNyZWRpdCBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AQD4qqWxS1Qp1cGRhdGVkZWJ0vgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBkYXRlZGVidApzdW1tYXJ5OiAnREVCVUc6IHVwZGF0ZWRlYnQgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0IAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAk7psEI0DaTY0AAAMbG9jYXRpb25fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAQAAAAOFHKvD4MdGFza19yZXN1bHRzAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm8AAAA4UcqyYgpnb29kc19pbmZvACZ12SAas2INbG9jYXRpb25faW5mbwAA8OcaNbNiC25lYXJieV9pbmZvAAC4yptYs2ILcGxheWVyX2luZm+AlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAwIlSFqPCDHRhc2tfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cw=='
32
+ 'DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDhxCWFkZG1vZHVsZQAFC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgPbW9kdWxlX2NhcmdvX2lkBnVpbnQ2NA90YXJnZXRfY2FyZ29faWQGdWludDY0CGFkZG5leHVzAAMKbmV4dXNfbmFtZQZzdHJpbmcBeAVpbnQ2NAF5BWludDY0B2FkdmFuY2UAAgZyZXZlYWwGc3RyaW5nBmNvbW1pdAtjaGVja3N1bTI1NgVibGVuZAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BmlucHV0cwxjYXJnb19pdGVtW10GY2FuY2VsAAMLZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIEc2VlZAd1aW50NjQ/B21vZHVsZXMObW9kdWxlX2VudHJ5W10JY2FyZ29fcm93AAYCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10KY2FyZ29fc2VlZAACB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQLZW50aXR5X25hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMABRJ3YXJlaG91c2VfY2FwYWNpdHkGdWludDMyC3dhcmVob3VzZV96BnVpbnQxNhJjb250YWluZXJfaHVsbG1hc3MGdWludDMyEmNvbnRhaW5lcl9jYXBhY2l0eQZ1aW50MzILY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABcEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8GZW5lcmd5B3VpbnQxNj8IaHVsbG1hc3MHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwhjYXBhY2l0eQd1aW50MzI/CWV4dHJhY3RvchBleHRyYWN0b3Jfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPwplbnRpdHlfcmVmAAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkCnRpbWVfcG9pbnQPZW50aXR5Z3JvdXBfcm93AAICaWQGdWludDY0DHBhcnRpY2lwYW50cwxlbnRpdHlfcmVmW10HZXh0cmFjdAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0B3N0cmF0dW0GdWludDE2CHF1YW50aXR5BnVpbnQzMg9leHRyYWN0b3Jfc3RhdHMABARyYXRlBnVpbnQxNgVkcmFpbgZ1aW50MTYFZGVwdGgGdWludDE2BWRyaWxsBnVpbnQxNgtnYW1lX2NvbmZpZwADB3ZlcnNpb24GdWludDMyCGRlZmF1bHRzD2VudGl0eV9kZWZhdWx0cwVpdGVtcwppdGVtX2RlZltdCWdldGNvbmZpZwAAC2dldGVudGl0aWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwlnZXRlbnRpdHkAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQLZ2V0aXRlbWRhdGEAAAhnZXRpdGVtcwAAC2dldGxvY2F0aW9uAAIBeAVpbnQ2NAF5BWludDY0CmdldGxvY2RhdGEAAgF4BWludDY0AXkFaW50NjQKZ2V0bW9kdWxlcwAACWdldG5lYXJieQADC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhyZWNoYXJnZQRib29sCmdldG5mdGluZm8AAAlnZXRwbGF5ZXIAAQdhY2NvdW50BG5hbWUJZ2V0cmVjaXBlAAEOb3V0cHV0X2l0ZW1faWQGdWludDE2CmdldHJlY2lwZXMAAgtsb3dlcl9ib3VuZAZ1aW50MTYFbGltaXQFdWludDgMZ2V0cmVzb3VyY2VzAAAKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OA9pdGVtZGF0YV9yZXN1bHQAAgVpdGVtcwppdGVtX2RlZltdB3JlY2lwZXMOcmVjaXBlc19yZXN1bHQKaXRlbXNfaW5mbwABBWl0ZW1zCml0ZW1fZGVmW10Eam9pbgABB2FjY291bnQEbmFtZQxsb2FkZXJfc3RhdHMAAwRtYXNzBnVpbnQzMgZ0aHJ1c3QGdWludDE2CHF1YW50aXR5BXVpbnQ4EGxvY2F0aW9uX2Rlcml2ZWQAAwxzdGF0aWNfcHJvcHMPbG9jYXRpb25fc3RhdGljC2Vwb2NoX3Byb3BzDmxvY2F0aW9uX2Vwb2NoBHNpemUGdWludDE2DmxvY2F0aW9uX2Vwb2NoAAMGYWN0aXZlBGJvb2wFc2VlZDAFdWludDgFc2VlZDEFdWludDgNbG9jYXRpb25faW5mbwACBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbAxsb2NhdGlvbl9yb3cABgJpZAZ1aW50NjQFb3duZXIEbmFtZQtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQhzY2hlZHVsZQlzY2hlZHVsZT8PbG9jYXRpb25fc3RhdGljAAUGY29vcmRzC2Nvb3JkaW5hdGVzBHR5cGUNbG9jYXRpb25fdHlwZQdzdWJ0eXBlBXVpbnQ4BXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DG1vZHVsZV9lbnRyeQACBHR5cGUFdWludDgJaW5zdGFsbGVkC2NhcmdvX3NlZWQ/C21vZHVsZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyC21vZHVsZV90eXBlBXVpbnQ4BHRpZXIFdWludDgObW9kdWxlc19yZXN1bHQAAQdtb2R1bGVzDW1vZHVsZV9pbmZvW10ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbwluZXh1c19yb3cABAJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcw5uZnRfc2NoZW1hX2RlZgACC3NjaGVtYV9uYW1lBG5hbWUGZmllbGRzDnNjaGVtYV9maWVsZFtdEG5mdF90ZW1wbGF0ZV9kZWYAAgdpdGVtX2lkBnVpbnQxNgtzY2hlbWFfbmFtZQRuYW1lDW5mdGNvbmZpZ19yb3cAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDm5mdGluZm9fcmVzdWx0AAIHc2NoZW1hcxBuZnRfc2NoZW1hX2RlZltdCXRlbXBsYXRlcxJuZnRfdGVtcGxhdGVfZGVmW10Gbm90aWZ5AAEFZXZlbnQKdGFza19ldmVudAtwbGF5ZXJfaW5mbwAGBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwpzaGlwX2NvdW50BnVpbnQ2NA93YXJlaG91c2VfY291bnQGdWludDY0D2NvbnRhaW5lcl9jb3VudAZ1aW50NjQKcGxheWVyX3JvdwABBW93bmVyBG5hbWUIcmVjaGFyZ2UAAgtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAxyZWNpcGVfaW5wdXQAAwdpdGVtX2lkBnVpbnQxNghjYXRlZ29yeQV1aW50OAhxdWFudGl0eQZ1aW50MzIQcmVjaXBlX2l0ZW1faW5mbwACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMg9yZWNpcGVfcmVzcG9uc2UABw5vdXRwdXRfaXRlbV9pZAZ1aW50MTYLb3V0cHV0X21hc3MGdWludDMyBmlucHV0cw5yZWNpcGVfaW5wdXRbXQpzdGF0X3Nsb3RzFHN0YXRfc2xvdF9yZXNwb25zZVtdDWJsZW5kX3dlaWdodHMFYnl0ZXMLb3V0cHV0X2l0ZW0QcmVjaXBlX2l0ZW1faW5mbwtpbnB1dF9pdGVtcxJyZWNpcGVfaXRlbV9pbmZvW10OcmVjaXBlc19yZXN1bHQAAQdyZWNpcGVzEXJlY2lwZV9yZXNwb25zZVtdC3Jlc2VydmVfcm93AAICaWQGdWludDY0CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DXJlc291cmNlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OA5yZXNvdXJjZV9zdGF0cwADBXN0YXQxBnVpbnQxNgVzdGF0MgZ1aW50MTYFc3RhdDMGdWludDE2EHJlc291cmNlc19yZXN1bHQAAQlyZXNvdXJjZXMPcmVzb3VyY2VfaW5mb1tdCHJtbW9kdWxlAAQLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OA90YXJnZXRfY2FyZ29faWQGdWludDY0CHJtbmZ0Y2ZnAAEHaXRlbV9pZAZ1aW50MTYEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQJc2V0bmZ0Y2ZnAAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQhzaGlwX3JvdwARAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBHNlZWQGdWludDY0C2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzB3VpbnQzMj8IY2FwYWNpdHkHdWludDMyPwZlbmVyZ3kHdWludDE2PwljYXJnb21hc3MGdWludDMyB2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/B2xvYWRlcnMNbG9hZGVyX3N0YXRzPwlleHRyYWN0b3IQZXh0cmFjdG9yX3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/B2NyYWZ0ZXIOY3JhZnRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhzY2hlZHVsZQlzY2hlZHVsZT8Kc3Bhd25jYXJnbwADCWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0C3NwYXduc2VlZGVkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQEc2VlZAZ1aW50NjQSc3RhdF9zbG90X3Jlc3BvbnNlAAEHc291cmNlcw1zdGF0X3NvdXJjZVtdC3N0YXRfc291cmNlAAILaW5wdXRfaW5kZXgFdWludDgQaW5wdXRfc3RhdF9pbmRleAV1aW50OAlzdGF0ZV9yb3cABgdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNhbHQGdWludDY0BXNoaXBzBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABAdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzIEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10IdHJhbnNmZXIABgtzb3VyY2VfdHlwZQRuYW1lCXNvdXJjZV9pZAZ1aW50NjQJZGVzdF90eXBlBG5hbWUHZGVzdF9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBnRyYXZlbAAFC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sCXR5cGVzX3JvdwADAmlkBnVpbnQ2NBNlbnRpdHlfc3VtbWFyeV90eXBlDmVudGl0eV9zdW1tYXJ5EGdhbWVfY29uZmlnX3R5cGULZ2FtZV9jb25maWcNd2FyZWhvdXNlX3JvdwALAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBHNlZWQGdWludDY0C2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzB3VpbnQzMj8IY2FwYWNpdHkHdWludDMyPwljYXJnb21hc3MGdWludDMyB2xvYWRlcnMNbG9hZGVyX3N0YXRzPwdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHNjaGVkdWxlCXNjaGVkdWxlPwR3YXJwAAQLZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CndhcnBfc3RhdHMAAQVyYW5nZQZ1aW50MzIEd2lwZQAADHdpcGVzZXF1ZW5jZQAABHdyYXAABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhjYXJnb19pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0MgAAUFEnKlMyCWFkZG1vZHVsZccDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkZG1vZHVsZQpzdW1tYXJ5OiAnSW5zdGFsbCBhIG1vZHVsZSBpbnRvIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFsbCBhIG1vZHVsZSBmcm9tIGNhcmdvIGludG8gYSBtb2R1bGUgc2xvdCBvbiBhIGxpdmUgZW50aXR5IG9yIGEgcGFja2VkIGVudGl0eSBpbiBjYXJnby4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBubyBzY2hlZHVsZWQgdGFza3MuIFRoZSBtb2R1bGUgdHlwZSBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgdGFyZ2V0IHNsb3QgdHlwZS4gVGhlIG1vZHVsZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSBjYXJnbyB1cG9uIGluc3RhbGxhdGlvbi4AAABYdzVTMghhZGRuZXh1cwAAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAIA0VTwFYmxlbmT9Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIGEgbmV3IGJsZW5kZWQgc2VlZC4gQWxsIGlucHV0IHN0YWNrcyBtdXN0IHNoYXJlIHRoZSBzYW1lIGl0ZW0gaWQuIFRoZSBvdXRwdXQgc3RhY2sgaGFzIHRoZSBjb21iaW5lZCBxdWFudGl0eSBvZiBhbGwgaW5wdXRzLgAAAABEhaZBBmNhbmNlbMICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgAAqBvfaVRECWNsZWFucnN2cOwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFucnN2cApzdW1tYXJ5OiAnQ2xlYW4gdXAgcGFzdCBlcG9jaCByZXNlcnZlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXJhc2UgcmVzZXJ2ZSB0YWJsZSByb3dzIGZyb20gYSBwYXN0IGVwb2NoLiBDYW5ub3QgY2xlYW4gdGhlIGN1cnJlbnQgb3IgZnV0dXJlIGVwb2Nocy4gVGhlIG1heF9yb3dzIHBhcmFtZXRlciBjYXBzIHRoZSBudW1iZXIgb2Ygcm93cyBlcmFzZWQgcGVyIGNhbGwgdG8gbGltaXQgQ1BVIHVzYWdlLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTsAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uAABgNDK3JkUJY29uZmlnbG9n3QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29uZmlnbG9nCnN1bW1hcnk6ICdMb2cgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBsb2dzIHRoZSBjdXJyZW50IGdhbWUgY29uZmlndXJhdGlvbi4gQ2FsbGVkIGlubGluZSBhZnRlciBpbml0aWFsaXphdGlvbiB0byBicm9hZGNhc3QgY29uZmlnIHZpYSBhY3Rpb24gdHJhY2VzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAAAAAIC8zEUFY3JhZnTIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjcmFmdApzdW1tYXJ5OiAnQ3JhZnQgaXRlbXMgZnJvbSBhIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmb3JtIGNhcmdvIGl0ZW1zIGludG8gYSBuZXcgaXRlbSB1c2luZyBhIHJlY2lwZS4gVGhlIGVudGl0eSBtdXN0IGhhdmUgYSBjcmFmdGVyIG1vZHVsZSBpbnN0YWxsZWQuIENvbnN1bWVzIGVuZXJneSBhbmQgc2NoZWR1bGVzIGEgY3JhZnRpbmcgdGFzayB3aXRoIGR1cmF0aW9uIGJhc2VkIG9uIHRvdGFsIGlucHV0IG1hc3MgYW5kIGNyYWZ0ZXIgc3BlZWQuIElucHV0IHF1YW50aXRpZXMgbXVzdCBleGFjdGx5IG1hdGNoIHRoZSByZWNpcGUgcmVxdWlyZW1lbnRzLuCzy1OpbNRFDGNyZWF0ZWVudGl0eb8BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNyZWF0ZWVudGl0eQpzdW1tYXJ5OiAnREVCVUc6IGNyZWF0ZSBhbiBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAeBqrSgZkZXBsb3nsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXBsb3kKc3VtbWFyeTogJ0RlcGxveSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClVucGFjayBhIHBhY2tlZCBlbnRpdHkgaXRlbSAocGFja2VkIHNoaXAgb3IgcGFja2VkIGNvbnRhaW5lcikgZnJvbSBjYXJnbywgc2NoZWR1bGluZyBhIGRlcGxveSB0YXNrIHRoYXQgY3JlYXRlcyB0aGUgbmV3IGVudGl0eSBhdCB0aGUgZGVwbG95aW5nIGVudGl0eSdzIGxvY2F0aW9uIHVwb24gcmVzb2x1dGlvbi4AAAAAqHjMVAZlbmFibGXdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQuAAAAICNzc1cHZXh0cmFjdKEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGV4dHJhY3QKc3VtbWFyeTogJ0V4dHJhY3QgcmVzb3VyY2VzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFeHRyYWN0IHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZXh0cmFjdGFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhbiBleHRyYWN0aW9uIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGV4dHJhY3RvciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnygItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Y29uZmlnCnN1bW1hcnk6ICdHZXQgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBnYW1lIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGRlZmF1bHQgZW50aXR5IHN0YXRzIGZvciB3YXJlaG91c2VzIGFuZCBjb250YWluZXJzLCBhbmQgdGhlIGZ1bGwgaXRlbSBkZWZpbml0aW9ucyB0YWJsZS4AsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4ATDZJquyyYgtnZXRpdGVtZGF0YQAAAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AAFZRJyqzYgpnZXRtb2R1bGVzAAAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgAAXdPlNbNiCmdldG5mdGluZm8AAAC4yptYs2IJZ2V0cGxheWVy/QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cGxheWVyCnN1bW1hcnk6ICdHZXQgcGxheWVyIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgcGxheWVyIGluY2x1ZGluZyBiYWxhbmNlLCBkZWJ0LCBuZXR3b3J0aCwgZW50aXR5IGNvdW50cywgYW5kIHByaWNpbmcgZm9yIG5leHQgcHVyY2hhc2VzLiBSZXR1cm5zIGlzX3BsYXllcj1mYWxzZSBpZiB0aGUgYWNjb3VudCBoYXMgbm90IGpvaW5lZCB0aGUgZ2FtZS4AAFDVIXWzYglnZXRyZWNpcGUAAABW1SF1s2IKZ2V0cmVjaXBlcwCAFbqaYnWzYgxnZXRyZXNvdXJjZXMAAIDU2dyMs2IKZ2V0c3RyYXR1bdICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN0cmF0dW0Kc3VtbWFyeTogJ0dldCByZXNvdXJjZSBzdHJhdHVtIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhIGZvciBhIHNwZWNpZmljIGRlcHRoIGxheWVyIGF0IGEgY29vcmRpbmF0ZSwgaW5jbHVkaW5nIHRoZSBzdHJhdHVtIHNlZWQgaW5mbyBhbmQgZGVyaXZlZCByZXNvdXJjZSBzdGF0cy6AlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaPgBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAABAhNKwaQdoYXNoNTEy+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaDUxMgpzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTUxMiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGE1MTIgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAAAAkN10BGluaXT6AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBpbml0CnN1bW1hcnk6ICdJbml0aWFsaXplIGdhbWUgc2VlZCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhbGl6ZSBhIHRoZSBnYW1lcyBzZWVkIGFuZCBzZWVkIHZhbHVlcyB0byBib290c3RyYXAgZ2FtZSBzdGF0ZS4AAAAAADAdfQRqb2luxAEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogam9pbgpzdW1tYXJ5OiAnSm9pbiBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkpvaW4gYSBnYW1lIG9mIFNoaXBsb2FkAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAAAAil3TkLoIcmVjaGFyZ2XNAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWNoYXJnZQpzdW1tYXJ5OiAnUmVjaGFyZ2Ugc2hpcCBlbmVyZ3knCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNjaGVkdWxlIGEgcmVjaGFyZ2UgdGFzayBmb3IgYW4gZW50aXR5IHRvIHJlc3RvcmUgZW5lcmd5IHRvIGZ1bGwgY2FwYWNpdHkuIFRoZSByZWNoYXJnZSBkdXJhdGlvbiBkZXBlbmRzIG9uIGN1cnJlbnQgZW5lcmd5IGxldmVsIGFuZCByZWNoYXJnZSByYXRlLgAAAEDtSLG6B3Jlc29sdmXQAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuAAAAKupEpbwIcm1tb2R1bGW8Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW1vZHVsZQpzdW1tYXJ5OiAnUmVtb3ZlIGEgbW9kdWxlIGZyb20gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgYW4gaW5zdGFsbGVkIG1vZHVsZSBmcm9tIGEgc2xvdCBvbiBhIGxpdmUgZW50aXR5IG9yIGEgcGFja2VkIGVudGl0eSBpbiBjYXJnby4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBubyBzY2hlZHVsZWQgdGFza3MuIFRoZSBtb2R1bGUgaXMgcmV0dXJuZWQgdG8gY2FyZ28uIEZhaWxzIGlmIHRoZSBlbnRpdHkgZG9lcyBub3QgaGF2ZSBlbm91Z2ggY2FyZ28gY2FwYWNpdHkgdG8gaG9sZCB0aGUgcmV0dXJuZWQgbW9kdWxlLgAAAGyhvKa8CHJtbmZ0Y2ZnAAAAAAAAkKPBBHNhbHTYAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgAAYAvlNbPCCXNldG5mdGNmZwAAAGXXoMlNxQpzcGF3bmNhcmdvxQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25jYXJnbwpzdW1tYXJ5OiAnREVCVUc6IHNwYXduIGNhcmdvIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCSSkrhyU3FC3NwYXduc2VlZGVkzQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25zZWVkZWQKc3VtbWFyeTogJ0RFQlVHOiBzcGF3biBzZWVkZWQgY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbPsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4AAAAAAFCv4QR3YXJwnwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2FycApzdW1tYXJ5OiAnV2FycCB0byBhIGRlc3RpbmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YW50bHkgdGVsZXBvcnQgYW4gZW50aXR5IHRvIGEgZGVzdGluYXRpb24gc3lzdGVtLiBSZXF1aXJlcyB3YXJwIGNhcGFiaWxpdHksIGZ1bGwgZW5lcmd5LCBlbXB0eSBjYXJnbywgYW5kIGFuIGVtcHR5IHNjaGVkdWxlLiBUaGUgZGVzdGluYXRpb24gbXVzdCBiZSBhIHZhbGlkIHN5c3RlbSB3aXRoaW4gd2FycCByYW5nZS4gUmVzb2x2ZXMgaW1tZWRpYXRlbHkgYXMgYSB6ZXJvLWR1cmF0aW9uIHRhc2suAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAFDN5QR3cmFwAA0AAAAAAMquQQNpNjQAAAljYXJnb19yb3cAALhqOpMnRQNpNjQAAA1jb250YWluZXJfcm93AKqml/ns8lQDaTY0AAAPZW50aXR5Z3JvdXBfcm93AAAAk7psEI0DaTY0AAAMbG9jYXRpb25fcm93AAAAAACsu5oDaTY0AAAJbmV4dXNfcm93AABgbk2K8poDaTY0AAANbmZ0Y29uZmlnX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAABA7auwugNpNjQAAAtyZXNlcnZlX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAdAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAAAAeBqrSgx0YXNrX3Jlc3VsdHMAAAAgI3NzVwx0YXNrX3Jlc3VsdHMAAGBuTYqyYgtnYW1lX2NvbmZpZwCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwBMNkmq7LJiD2l0ZW1kYXRhX3Jlc3VsdAAAAFiq7LJiCml0ZW1zX2luZm8AJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AAF3T5TWzYg5uZnRpbmZvX3Jlc3VsdAAAuMqbWLNiC3BsYXllcl9pbmZvAABQ1SF1s2IOcmVjaXBlc19yZXN1bHQAAFbVIXWzYg5yZWNpcGVzX3Jlc3VsdIAVuppidbNiEHJlc291cmNlc19yZXN1bHQAgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cwAAAAAAUM3lDHRhc2tfcmVzdWx0cw=='
30
33
  )
31
34
  export const abi = ABI.from(abiBlob)
32
35
  export namespace Types {
36
+ @Struct.type('addmodule')
37
+ export class addmodule extends Struct {
38
+ @Struct.field(Name)
39
+ declare entity_type: Name
40
+ @Struct.field(UInt64)
41
+ declare entity_id: UInt64
42
+ @Struct.field(UInt8)
43
+ declare module_index: UInt8
44
+ @Struct.field(UInt64)
45
+ declare module_cargo_id: UInt64
46
+ @Struct.field(UInt64)
47
+ declare target_cargo_id: UInt64
48
+ }
49
+ @Struct.type('addnexus')
50
+ export class addnexus extends Struct {
51
+ @Struct.field('string')
52
+ declare nexus_name: string
53
+ @Struct.field(Int64)
54
+ declare x: Int64
55
+ @Struct.field(Int64)
56
+ declare y: Int64
57
+ }
33
58
  @Struct.type('advance')
34
59
  export class advance extends Struct {
35
60
  @Struct.field('string')
@@ -37,30 +62,39 @@ export namespace Types {
37
62
  @Struct.field(Checksum256)
38
63
  declare commit: Checksum256
39
64
  }
40
- @Struct.type('buygoods')
41
- export class buygoods extends Struct {
65
+ @Struct.type('cargo_seed')
66
+ export class cargo_seed extends Struct {
67
+ @Struct.field(UInt16)
68
+ declare item_id: UInt16
42
69
  @Struct.field(UInt64)
43
- declare ship_id: UInt64
70
+ declare seed: UInt64
71
+ }
72
+ @Struct.type('module_entry')
73
+ export class module_entry extends Struct {
74
+ @Struct.field(UInt8)
75
+ declare type: UInt8
76
+ @Struct.field(cargo_seed, {optional: true})
77
+ declare installed?: cargo_seed
78
+ }
79
+ @Struct.type('cargo_item')
80
+ export class cargo_item extends Struct {
44
81
  @Struct.field(UInt16)
45
- declare good_id: UInt16
82
+ declare item_id: UInt16
46
83
  @Struct.field(UInt32)
47
84
  declare quantity: UInt32
85
+ @Struct.field(UInt64, {optional: true})
86
+ declare seed?: UInt64
87
+ @Struct.field(module_entry, {array: true})
88
+ declare modules: module_entry[]
48
89
  }
49
- @Struct.type('buyship')
50
- export class buyship extends Struct {
51
- @Struct.field(Name)
52
- declare account: Name
53
- @Struct.field('string')
54
- declare name: string
55
- }
56
- @Struct.type('buywarehouse')
57
- export class buywarehouse extends Struct {
90
+ @Struct.type('blend')
91
+ export class blend extends Struct {
58
92
  @Struct.field(Name)
59
- declare account: Name
93
+ declare entity_type: Name
60
94
  @Struct.field(UInt64)
61
- declare ship_id: UInt64
62
- @Struct.field('string')
63
- declare name: string
95
+ declare id: UInt64
96
+ @Struct.field(cargo_item, {array: true})
97
+ declare inputs: cargo_item[]
64
98
  }
65
99
  @Struct.type('cancel')
66
100
  export class cancel extends Struct {
@@ -71,55 +105,12 @@ export namespace Types {
71
105
  @Struct.field(UInt64)
72
106
  declare count: UInt64
73
107
  }
74
- @Struct.type('coordinates')
75
- export class coordinates extends Struct {
76
- @Struct.field(Int64)
77
- declare x: Int64
78
- @Struct.field(Int64)
79
- declare y: Int64
80
- @Struct.field(UInt16, {optional: true})
81
- declare z?: UInt16
82
- }
83
- @Struct.type('cargo_item')
84
- export class cargo_item extends Struct {
85
- @Struct.field(UInt16)
86
- declare good_id: UInt16
87
- @Struct.field(UInt32)
88
- declare quantity: UInt32
89
- @Struct.field(UInt64)
90
- declare unit_cost: UInt64
91
- }
92
- @Struct.type('task')
93
- export class task extends Struct {
94
- @Struct.field(UInt8)
95
- declare type: UInt8
96
- @Struct.field(UInt32)
97
- declare duration: UInt32
98
- @Struct.field(UInt8)
99
- declare cancelable: UInt8
100
- @Struct.field(coordinates, {optional: true})
101
- declare location?: coordinates
102
- @Struct.field(cargo_item, {array: true})
103
- declare cargo: cargo_item[]
104
- @Struct.field(UInt64, {optional: true})
105
- declare entity?: UInt64
106
- @Struct.field(Int64, {optional: true})
107
- declare credits?: Int64
108
- }
109
- @Struct.type('cancel_log')
110
- export class cancel_log extends Struct {
111
- @Struct.field(Name)
112
- declare owner: Name
108
+ @Struct.type('entity_ref')
109
+ export class entity_ref extends Struct {
113
110
  @Struct.field(Name)
114
111
  declare entity_type: Name
115
112
  @Struct.field(UInt64)
116
113
  declare entity_id: UInt64
117
- @Struct.field(UInt8)
118
- declare task_index: UInt8
119
- @Struct.field(task)
120
- declare task: task
121
- @Struct.field(TimePoint)
122
- declare started_at: TimePoint
123
114
  }
124
115
  @Struct.type('cancel_results')
125
116
  export class cancel_results extends Struct {
@@ -131,6 +122,10 @@ export namespace Types {
131
122
  declare cancelled_count: UInt8
132
123
  @Struct.field(TimePoint, {optional: true})
133
124
  declare schedule_started?: TimePoint
125
+ @Struct.field(UInt64, {optional: true})
126
+ declare entitygroup?: UInt64
127
+ @Struct.field(entity_ref, {array: true, optional: true})
128
+ declare group_members?: entity_ref[]
134
129
  }
135
130
  @Struct.type('cargo_row')
136
131
  export class cargo_row extends Struct {
@@ -139,11 +134,20 @@ export namespace Types {
139
134
  @Struct.field(UInt64)
140
135
  declare entity_id: UInt64
141
136
  @Struct.field(UInt64)
142
- declare good_id: UInt64
137
+ declare item_id: UInt64
143
138
  @Struct.field(UInt64)
144
139
  declare quantity: UInt64
145
140
  @Struct.field(UInt64)
146
- declare unit_cost: UInt64
141
+ declare seed: UInt64
142
+ @Struct.field(module_entry, {array: true})
143
+ declare modules: module_entry[]
144
+ }
145
+ @Struct.type('cleanrsvp')
146
+ export class cleanrsvp extends Struct {
147
+ @Struct.field(UInt64)
148
+ declare epoch: UInt64
149
+ @Struct.field(UInt64)
150
+ declare max_rows: UInt64
147
151
  }
148
152
  @Struct.type('cleartable')
149
153
  export class cleartable extends Struct {
@@ -159,6 +163,146 @@ export namespace Types {
159
163
  @Struct.field(Checksum256)
160
164
  declare commit: Checksum256
161
165
  }
166
+ @Struct.type('entity_defaults')
167
+ export class entity_defaults extends Struct {
168
+ @Struct.field(UInt32)
169
+ declare warehouse_capacity: UInt32
170
+ @Struct.field(UInt16)
171
+ declare warehouse_z: UInt16
172
+ @Struct.field(UInt32)
173
+ declare container_hullmass: UInt32
174
+ @Struct.field(UInt32)
175
+ declare container_capacity: UInt32
176
+ @Struct.field(UInt16)
177
+ declare container_z: UInt16
178
+ }
179
+ @Struct.type('item_def')
180
+ export class item_def extends Struct {
181
+ @Struct.field(UInt16)
182
+ declare id: UInt16
183
+ @Struct.field(UInt32)
184
+ declare mass: UInt32
185
+ @Struct.field(UInt8)
186
+ declare type: UInt8
187
+ @Struct.field(UInt8)
188
+ declare subtype: UInt8
189
+ @Struct.field(UInt8)
190
+ declare tier: UInt8
191
+ }
192
+ @Struct.type('game_config')
193
+ export class game_config extends Struct {
194
+ @Struct.field(UInt32)
195
+ declare version: UInt32
196
+ @Struct.field(entity_defaults)
197
+ declare defaults: entity_defaults
198
+ @Struct.field(item_def, {array: true})
199
+ declare items: item_def[]
200
+ }
201
+ @Struct.type('configlog')
202
+ export class configlog extends Struct {
203
+ @Struct.field(game_config)
204
+ declare config: game_config
205
+ }
206
+ @Struct.type('coordinates')
207
+ export class coordinates extends Struct {
208
+ @Struct.field(Int64)
209
+ declare x: Int64
210
+ @Struct.field(Int64)
211
+ declare y: Int64
212
+ @Struct.field(UInt16, {optional: true})
213
+ declare z?: UInt16
214
+ }
215
+ @Struct.type('task')
216
+ export class task extends Struct {
217
+ @Struct.field(UInt8)
218
+ declare type: UInt8
219
+ @Struct.field(UInt32)
220
+ declare duration: UInt32
221
+ @Struct.field(UInt8)
222
+ declare cancelable: UInt8
223
+ @Struct.field(coordinates, {optional: true})
224
+ declare coordinates?: coordinates
225
+ @Struct.field(cargo_item, {array: true})
226
+ declare cargo: cargo_item[]
227
+ @Struct.field(entity_ref, {optional: true})
228
+ declare entitytarget?: entity_ref
229
+ @Struct.field(UInt64, {optional: true})
230
+ declare entitygroup?: UInt64
231
+ @Struct.field(UInt16, {optional: true})
232
+ declare energy_cost?: UInt16
233
+ }
234
+ @Struct.type('schedule')
235
+ export class schedule extends Struct {
236
+ @Struct.field(TimePoint)
237
+ declare started: TimePoint
238
+ @Struct.field(task, {array: true})
239
+ declare tasks: task[]
240
+ }
241
+ @Struct.type('container_row')
242
+ export class container_row extends Struct {
243
+ @Struct.field(UInt64)
244
+ declare id: UInt64
245
+ @Struct.field(Name)
246
+ declare owner: Name
247
+ @Struct.field('string')
248
+ declare name: string
249
+ @Struct.field(coordinates)
250
+ declare coordinates: coordinates
251
+ @Struct.field(UInt32)
252
+ declare hullmass: UInt32
253
+ @Struct.field(UInt32)
254
+ declare capacity: UInt32
255
+ @Struct.field(UInt32)
256
+ declare cargomass: UInt32
257
+ @Struct.field(schedule, {optional: true})
258
+ declare schedule?: schedule
259
+ }
260
+ @Struct.type('craft')
261
+ export class craft extends Struct {
262
+ @Struct.field(Name)
263
+ declare entity_type: Name
264
+ @Struct.field(UInt64)
265
+ declare id: UInt64
266
+ @Struct.field(UInt16)
267
+ declare recipe_id: UInt16
268
+ @Struct.field(UInt32)
269
+ declare quantity: UInt32
270
+ @Struct.field(cargo_item, {array: true})
271
+ declare inputs: cargo_item[]
272
+ }
273
+ @Struct.type('crafter_stats')
274
+ export class crafter_stats extends Struct {
275
+ @Struct.field(UInt16)
276
+ declare speed: UInt16
277
+ @Struct.field(UInt16)
278
+ declare drain: UInt16
279
+ }
280
+ @Struct.type('createentity')
281
+ export class createentity extends Struct {
282
+ @Struct.field(Name)
283
+ declare owner: Name
284
+ @Struct.field(Name)
285
+ declare entity_type: Name
286
+ @Struct.field('string')
287
+ declare entity_name: string
288
+ @Struct.field(Int64)
289
+ declare x: Int64
290
+ @Struct.field(Int64)
291
+ declare y: Int64
292
+ }
293
+ @Struct.type('deploy')
294
+ export class deploy extends Struct {
295
+ @Struct.field(Name)
296
+ declare entity_type: Name
297
+ @Struct.field(UInt64)
298
+ declare id: UInt64
299
+ @Struct.field(UInt16)
300
+ declare packed_item_id: UInt16
301
+ @Struct.field(UInt64)
302
+ declare seed: UInt64
303
+ @Struct.field('string')
304
+ declare entity_name: string
305
+ }
162
306
  @Struct.type('enable')
163
307
  export class enable extends Struct {
164
308
  @Struct.field('bool')
@@ -171,6 +315,13 @@ export namespace Types {
171
315
  @Struct.field(UInt16)
172
316
  declare recharge: UInt16
173
317
  }
318
+ @Struct.type('entity_current_state')
319
+ export class entity_current_state extends Struct {
320
+ @Struct.field(coordinates)
321
+ declare coordinates: coordinates
322
+ @Struct.field(UInt16)
323
+ declare energy: UInt16
324
+ }
174
325
  @Struct.type('loader_stats')
175
326
  export class loader_stats extends Struct {
176
327
  @Struct.field(UInt32)
@@ -187,12 +338,30 @@ export namespace Types {
187
338
  @Struct.field(UInt16)
188
339
  declare drain: UInt16
189
340
  }
190
- @Struct.type('schedule')
191
- export class schedule extends Struct {
192
- @Struct.field(TimePoint)
193
- declare started: TimePoint
194
- @Struct.field(task, {array: true})
195
- declare tasks: task[]
341
+ @Struct.type('extractor_stats')
342
+ export class extractor_stats extends Struct {
343
+ @Struct.field(UInt16)
344
+ declare rate: UInt16
345
+ @Struct.field(UInt16)
346
+ declare drain: UInt16
347
+ @Struct.field(UInt16)
348
+ declare depth: UInt16
349
+ @Struct.field(UInt16)
350
+ declare drill: UInt16
351
+ }
352
+ @Struct.type('hauler_stats')
353
+ export class hauler_stats extends Struct {
354
+ @Struct.field(UInt8)
355
+ declare capacity: UInt8
356
+ @Struct.field(UInt16)
357
+ declare efficiency: UInt16
358
+ @Struct.field(UInt16)
359
+ declare drain: UInt16
360
+ }
361
+ @Struct.type('warp_stats')
362
+ export class warp_stats extends Struct {
363
+ @Struct.field(UInt32)
364
+ declare range: UInt32
196
365
  }
197
366
  @Struct.type('entity_info')
198
367
  export class entity_info extends Struct {
@@ -205,7 +374,7 @@ export namespace Types {
205
374
  @Struct.field('string')
206
375
  declare entity_name: string
207
376
  @Struct.field(coordinates)
208
- declare location: coordinates
377
+ declare coordinates: coordinates
209
378
  @Struct.field(UInt32)
210
379
  declare cargomass: UInt32
211
380
  @Struct.field(cargo_item, {array: true})
@@ -215,13 +384,21 @@ export namespace Types {
215
384
  @Struct.field(UInt16, {optional: true})
216
385
  declare energy?: UInt16
217
386
  @Struct.field(UInt32, {optional: true})
218
- declare mass?: UInt32
387
+ declare hullmass?: UInt32
219
388
  @Struct.field(movement_stats, {optional: true})
220
389
  declare engines?: movement_stats
221
390
  @Struct.field(energy_stats, {optional: true})
222
391
  declare generator?: energy_stats
223
392
  @Struct.field(UInt32, {optional: true})
224
393
  declare capacity?: UInt32
394
+ @Struct.field(extractor_stats, {optional: true})
395
+ declare extractor?: extractor_stats
396
+ @Struct.field(hauler_stats, {optional: true})
397
+ declare hauler?: hauler_stats
398
+ @Struct.field(warp_stats, {optional: true})
399
+ declare warp?: warp_stats
400
+ @Struct.field(crafter_stats, {optional: true})
401
+ declare crafter?: crafter_stats
225
402
  @Struct.field('bool')
226
403
  declare is_idle: boolean
227
404
  @Struct.field(task, {optional: true})
@@ -237,13 +414,6 @@ export namespace Types {
237
414
  @Struct.field(schedule, {optional: true})
238
415
  declare schedule?: schedule
239
416
  }
240
- @Struct.type('entity_state')
241
- export class entity_state extends Struct {
242
- @Struct.field(coordinates)
243
- declare location: coordinates
244
- @Struct.field(UInt16)
245
- declare energy: UInt16
246
- }
247
417
  @Struct.type('entity_summary')
248
418
  export class entity_summary extends Struct {
249
419
  @Struct.field(Name)
@@ -255,7 +425,7 @@ export namespace Types {
255
425
  @Struct.field('string')
256
426
  declare entity_name: string
257
427
  @Struct.field(coordinates)
258
- declare location: coordinates
428
+ declare coordinates: coordinates
259
429
  @Struct.field('bool')
260
430
  declare is_idle: boolean
261
431
  @Struct.field(UInt32)
@@ -274,6 +444,26 @@ export namespace Types {
274
444
  @Struct.field(TimePoint)
275
445
  declare schedule_started: TimePoint
276
446
  }
447
+ @Struct.type('entitygroup_row')
448
+ export class entitygroup_row extends Struct {
449
+ @Struct.field(UInt64)
450
+ declare id: UInt64
451
+ @Struct.field(entity_ref, {array: true})
452
+ declare participants: entity_ref[]
453
+ }
454
+ @Struct.type('extract')
455
+ export class extract extends Struct {
456
+ @Struct.field(Name)
457
+ declare entity_type: Name
458
+ @Struct.field(UInt64)
459
+ declare id: UInt64
460
+ @Struct.field(UInt16)
461
+ declare stratum: UInt16
462
+ @Struct.field(UInt32)
463
+ declare quantity: UInt32
464
+ }
465
+ @Struct.type('getconfig')
466
+ export class getconfig extends Struct {}
277
467
  @Struct.type('getentities')
278
468
  export class getentities extends Struct {
279
469
  @Struct.field(Name)
@@ -288,8 +478,10 @@ export namespace Types {
288
478
  @Struct.field(UInt64)
289
479
  declare entity_id: UInt64
290
480
  }
291
- @Struct.type('getgoods')
292
- export class getgoods extends Struct {}
481
+ @Struct.type('getitemdata')
482
+ export class getitemdata extends Struct {}
483
+ @Struct.type('getitems')
484
+ export class getitems extends Struct {}
293
485
  @Struct.type('getlocation')
294
486
  export class getlocation extends Struct {
295
487
  @Struct.field(Int64)
@@ -297,6 +489,15 @@ export namespace Types {
297
489
  @Struct.field(Int64)
298
490
  declare y: Int64
299
491
  }
492
+ @Struct.type('getlocdata')
493
+ export class getlocdata extends Struct {
494
+ @Struct.field(Int64)
495
+ declare x: Int64
496
+ @Struct.field(Int64)
497
+ declare y: Int64
498
+ }
499
+ @Struct.type('getmodules')
500
+ export class getmodules extends Struct {}
300
501
  @Struct.type('getnearby')
301
502
  export class getnearby extends Struct {
302
503
  @Struct.field(Name)
@@ -306,11 +507,36 @@ export namespace Types {
306
507
  @Struct.field('bool')
307
508
  declare recharge: boolean
308
509
  }
510
+ @Struct.type('getnftinfo')
511
+ export class getnftinfo extends Struct {}
309
512
  @Struct.type('getplayer')
310
513
  export class getplayer extends Struct {
311
514
  @Struct.field(Name)
312
515
  declare account: Name
313
516
  }
517
+ @Struct.type('getrecipe')
518
+ export class getrecipe extends Struct {
519
+ @Struct.field(UInt16)
520
+ declare output_item_id: UInt16
521
+ }
522
+ @Struct.type('getrecipes')
523
+ export class getrecipes extends Struct {
524
+ @Struct.field(UInt16)
525
+ declare lower_bound: UInt16
526
+ @Struct.field(UInt8)
527
+ declare limit: UInt8
528
+ }
529
+ @Struct.type('getresources')
530
+ export class getresources extends Struct {}
531
+ @Struct.type('getstratum')
532
+ export class getstratum extends Struct {
533
+ @Struct.field(Int64)
534
+ declare x: Int64
535
+ @Struct.field(Int64)
536
+ declare y: Int64
537
+ @Struct.field(UInt16)
538
+ declare stratum: UInt16
539
+ }
314
540
  @Struct.type('getsummaries')
315
541
  export class getsummaries extends Struct {
316
542
  @Struct.field(Name)
@@ -318,19 +544,16 @@ export namespace Types {
318
544
  @Struct.field(Name, {optional: true})
319
545
  declare entity_type?: Name
320
546
  }
321
- @Struct.type('good')
322
- export class good extends Struct {
323
- @Struct.field(UInt16)
324
- declare id: UInt16
325
- @Struct.field(UInt32)
326
- declare base_price: UInt32
327
- @Struct.field(UInt32)
328
- declare mass: UInt32
329
- }
330
- @Struct.type('goods_info')
331
- export class goods_info extends Struct {
332
- @Struct.field(good, {array: true})
333
- declare goods: good[]
547
+ @Struct.type('grouptravel')
548
+ export class grouptravel extends Struct {
549
+ @Struct.field(entity_ref, {array: true})
550
+ declare entities: entity_ref[]
551
+ @Struct.field(Int64)
552
+ declare x: Int64
553
+ @Struct.field(Int64)
554
+ declare y: Int64
555
+ @Struct.field('bool')
556
+ declare recharge: boolean
334
557
  }
335
558
  @Struct.type('hash')
336
559
  export class hash extends Struct {
@@ -347,23 +570,103 @@ export namespace Types {
347
570
  @Struct.field(Checksum256)
348
571
  declare seed: Checksum256
349
572
  }
350
- @Struct.type('join')
351
- export class join extends Struct {
352
- @Struct.field(Name)
353
- declare account: Name
573
+ @Struct.type('recipe_input')
574
+ export class recipe_input extends Struct {
575
+ @Struct.field(UInt16)
576
+ declare item_id: UInt16
577
+ @Struct.field(UInt8)
578
+ declare category: UInt8
579
+ @Struct.field(UInt32)
580
+ declare quantity: UInt32
354
581
  }
355
- @Struct.type('location_good')
356
- export class location_good extends Struct {
582
+ @Struct.type('stat_source')
583
+ export class stat_source extends Struct {
584
+ @Struct.field(UInt8)
585
+ declare input_index: UInt8
586
+ @Struct.field(UInt8)
587
+ declare input_stat_index: UInt8
588
+ }
589
+ @Struct.type('stat_slot_response')
590
+ export class stat_slot_response extends Struct {
591
+ @Struct.field(stat_source, {array: true})
592
+ declare sources: stat_source[]
593
+ }
594
+ @Struct.type('recipe_item_info')
595
+ export class recipe_item_info extends Struct {
357
596
  @Struct.field(UInt16)
358
597
  declare id: UInt16
359
598
  @Struct.field(UInt32)
360
- declare price: UInt32
599
+ declare mass: UInt32
600
+ }
601
+ @Struct.type('recipe_response')
602
+ export class recipe_response extends Struct {
361
603
  @Struct.field(UInt16)
362
- declare supply: UInt16
363
- @Struct.field(UInt32)
364
- declare rarity_multiplier: UInt32
604
+ declare output_item_id: UInt16
365
605
  @Struct.field(UInt32)
366
- declare location_multiplier: UInt32
606
+ declare output_mass: UInt32
607
+ @Struct.field(recipe_input, {array: true})
608
+ declare inputs: recipe_input[]
609
+ @Struct.field(stat_slot_response, {array: true})
610
+ declare stat_slots: stat_slot_response[]
611
+ @Struct.field(Bytes)
612
+ declare blend_weights: Bytes
613
+ @Struct.field(recipe_item_info)
614
+ declare output_item: recipe_item_info
615
+ @Struct.field(recipe_item_info, {array: true})
616
+ declare input_items: recipe_item_info[]
617
+ }
618
+ @Struct.type('recipes_result')
619
+ export class recipes_result extends Struct {
620
+ @Struct.field(recipe_response, {array: true})
621
+ declare recipes: recipe_response[]
622
+ }
623
+ @Struct.type('itemdata_result')
624
+ export class itemdata_result extends Struct {
625
+ @Struct.field(item_def, {array: true})
626
+ declare items: item_def[]
627
+ @Struct.field(recipes_result)
628
+ declare recipes: recipes_result
629
+ }
630
+ @Struct.type('items_info')
631
+ export class items_info extends Struct {
632
+ @Struct.field(item_def, {array: true})
633
+ declare items: item_def[]
634
+ }
635
+ @Struct.type('join')
636
+ export class join extends Struct {
637
+ @Struct.field(Name)
638
+ declare account: Name
639
+ }
640
+ @Struct.type('location_static')
641
+ export class location_static extends Struct {
642
+ @Struct.field(coordinates)
643
+ declare coords: coordinates
644
+ @Struct.field(UInt8)
645
+ declare type: UInt8
646
+ @Struct.field(UInt8)
647
+ declare subtype: UInt8
648
+ @Struct.field(UInt8)
649
+ declare seed0: UInt8
650
+ @Struct.field(UInt8)
651
+ declare seed1: UInt8
652
+ }
653
+ @Struct.type('location_epoch')
654
+ export class location_epoch extends Struct {
655
+ @Struct.field('bool')
656
+ declare active: boolean
657
+ @Struct.field(UInt8)
658
+ declare seed0: UInt8
659
+ @Struct.field(UInt8)
660
+ declare seed1: UInt8
661
+ }
662
+ @Struct.type('location_derived')
663
+ export class location_derived extends Struct {
664
+ @Struct.field(location_static)
665
+ declare static_props: location_static
666
+ @Struct.field(location_epoch)
667
+ declare epoch_props: location_epoch
668
+ @Struct.field(UInt16)
669
+ declare size: UInt16
367
670
  }
368
671
  @Struct.type('location_info')
369
672
  export class location_info extends Struct {
@@ -371,60 +674,37 @@ export namespace Types {
371
674
  declare coords: coordinates
372
675
  @Struct.field('bool')
373
676
  declare is_system: boolean
374
- @Struct.field(location_good, {array: true})
375
- declare goods: location_good[]
376
677
  }
377
678
  @Struct.type('location_row')
378
679
  export class location_row extends Struct {
379
680
  @Struct.field(UInt64)
380
681
  declare id: UInt64
381
- @Struct.field(coordinates)
382
- declare coordinates: coordinates
383
- @Struct.field(UInt64)
384
- declare epoch: UInt64
385
- @Struct.field(UInt16)
386
- declare good_id: UInt16
387
- @Struct.field(UInt16)
388
- declare supply: UInt16
389
- }
390
- @Struct.type('logcancel')
391
- export class logcancel extends Struct {
392
- @Struct.field(cancel_log)
393
- declare log: cancel_log
394
- }
395
- @Struct.type('resolve_log')
396
- export class resolve_log extends Struct {
397
682
  @Struct.field(Name)
398
683
  declare owner: Name
399
- @Struct.field(Name)
400
- declare entity_type: Name
401
- @Struct.field(UInt64)
402
- declare entity_id: UInt64
403
- @Struct.field(UInt8)
404
- declare task_index: UInt8
405
- @Struct.field(task)
406
- declare task: task
407
- @Struct.field(TimePoint)
408
- declare started_at: TimePoint
409
- @Struct.field(TimePoint)
410
- declare completed_at: TimePoint
411
- @Struct.field(UInt16, {optional: true})
412
- declare new_energy?: UInt16
413
- @Struct.field(coordinates, {optional: true})
414
- declare new_location?: coordinates
415
- @Struct.field(Int64)
416
- declare cargomass_delta: Int64
417
- @Struct.field(cargo_item, {array: true})
418
- declare cargo_added: cargo_item[]
684
+ @Struct.field(coordinates)
685
+ declare coordinates: coordinates
686
+ @Struct.field(UInt32)
687
+ declare cargomass: UInt32
419
688
  @Struct.field(cargo_item, {array: true})
420
- declare cargo_removed: cargo_item[]
421
- @Struct.field(Int64, {optional: true})
422
- declare credits?: Int64
689
+ declare cargo: cargo_item[]
690
+ @Struct.field(schedule, {optional: true})
691
+ declare schedule?: schedule
692
+ }
693
+ @Struct.type('module_info')
694
+ export class module_info extends Struct {
695
+ @Struct.field(UInt16)
696
+ declare id: UInt16
697
+ @Struct.field(UInt32)
698
+ declare mass: UInt32
699
+ @Struct.field(UInt8)
700
+ declare module_type: UInt8
701
+ @Struct.field(UInt8)
702
+ declare tier: UInt8
423
703
  }
424
- @Struct.type('logresolve')
425
- export class logresolve extends Struct {
426
- @Struct.field(resolve_log)
427
- declare log: resolve_log
704
+ @Struct.type('modules_result')
705
+ export class modules_result extends Struct {
706
+ @Struct.field(module_info, {array: true})
707
+ declare modules: module_info[]
428
708
  }
429
709
  @Struct.type('nearby_system')
430
710
  export class nearby_system extends Struct {
@@ -441,21 +721,88 @@ export namespace Types {
441
721
  export class nearby_info extends Struct {
442
722
  @Struct.field('bool')
443
723
  declare can_travel: boolean
444
- @Struct.field(entity_state)
445
- declare current: entity_state
446
- @Struct.field(entity_state)
447
- declare projected: entity_state
724
+ @Struct.field(entity_current_state)
725
+ declare current: entity_current_state
726
+ @Struct.field(entity_current_state)
727
+ declare projected: entity_current_state
448
728
  @Struct.field(UInt16)
449
729
  declare max_energy: UInt16
450
730
  @Struct.field(nearby_system, {array: true})
451
731
  declare systems: nearby_system[]
452
732
  }
453
- @Struct.type('payloan')
454
- export class payloan extends Struct {
733
+ @Struct.type('nexus_row')
734
+ export class nexus_row extends Struct {
735
+ @Struct.field(UInt64)
736
+ declare id: UInt64
455
737
  @Struct.field(Name)
456
- declare account: Name
738
+ declare owner: Name
739
+ @Struct.field('string')
740
+ declare name: string
741
+ @Struct.field(coordinates)
742
+ declare coordinates: coordinates
743
+ }
744
+ @Struct.type('schema_field')
745
+ export class schema_field extends Struct {
746
+ @Struct.field('string')
747
+ declare name: string
748
+ @Struct.field('string')
749
+ declare field_type: string
750
+ }
751
+ @Struct.type('nft_schema_def')
752
+ export class nft_schema_def extends Struct {
753
+ @Struct.field(Name)
754
+ declare schema_name: Name
755
+ @Struct.field(schema_field, {array: true})
756
+ declare fields: schema_field[]
757
+ }
758
+ @Struct.type('nft_template_def')
759
+ export class nft_template_def extends Struct {
760
+ @Struct.field(UInt16)
761
+ declare item_id: UInt16
762
+ @Struct.field(Name)
763
+ declare schema_name: Name
764
+ }
765
+ @Struct.type('nftconfig_row')
766
+ export class nftconfig_row extends Struct {
767
+ @Struct.field(UInt16)
768
+ declare item_id: UInt16
769
+ @Struct.field(Int32)
770
+ declare template_id: Int32
771
+ @Struct.field(Name)
772
+ declare schema_name: Name
773
+ }
774
+ @Struct.type('nftinfo_result')
775
+ export class nftinfo_result extends Struct {
776
+ @Struct.field(nft_schema_def, {array: true})
777
+ declare schemas: nft_schema_def[]
778
+ @Struct.field(nft_template_def, {array: true})
779
+ declare templates: nft_template_def[]
780
+ }
781
+ @Struct.type('task_event')
782
+ export class task_event extends Struct {
783
+ @Struct.field(UInt8)
784
+ declare event_type: UInt8
785
+ @Struct.field(Name)
786
+ declare owner: Name
787
+ @Struct.field(Name)
788
+ declare entity_type: Name
457
789
  @Struct.field(UInt64)
458
- declare amount: UInt64
790
+ declare entity_id: UInt64
791
+ @Struct.field(UInt8)
792
+ declare task_index: UInt8
793
+ @Struct.field(task)
794
+ declare task: task
795
+ @Struct.field(TimePoint)
796
+ declare starts_at: TimePoint
797
+ @Struct.field(TimePoint)
798
+ declare completes_at: TimePoint
799
+ @Struct.field(UInt16, {optional: true})
800
+ declare new_energy?: UInt16
801
+ }
802
+ @Struct.type('notify')
803
+ export class notify extends Struct {
804
+ @Struct.field(task_event)
805
+ declare event: task_event
459
806
  }
460
807
  @Struct.type('player_info')
461
808
  export class player_info extends Struct {
@@ -466,37 +813,16 @@ export namespace Types {
466
813
  @Struct.field('string')
467
814
  declare company_name: string
468
815
  @Struct.field(UInt64)
469
- declare balance: UInt64
470
- @Struct.field(UInt32)
471
- declare debt: UInt32
472
- @Struct.field(Int64)
473
- declare networth: Int64
474
- @Struct.field(UInt64)
475
- declare available_loan: UInt64
476
- @Struct.field(UInt64)
477
- declare next_ship_price: UInt64
478
- @Struct.field(UInt64)
479
- declare next_warehouse_price: UInt64
480
- @Struct.field(UInt64)
481
816
  declare ship_count: UInt64
482
817
  @Struct.field(UInt64)
483
818
  declare warehouse_count: UInt64
819
+ @Struct.field(UInt64)
820
+ declare container_count: UInt64
484
821
  }
485
822
  @Struct.type('player_row')
486
823
  export class player_row extends Struct {
487
824
  @Struct.field(Name)
488
825
  declare owner: Name
489
- @Struct.field(UInt64)
490
- declare balance: UInt64
491
- @Struct.field(UInt32)
492
- declare debt: UInt32
493
- @Struct.field(Int64)
494
- declare networth: Int64
495
- }
496
- @Struct.type('purgesupply')
497
- export class purgesupply extends Struct {
498
- @Struct.field(UInt64, {optional: true})
499
- declare max_rows?: UInt64
500
826
  }
501
827
  @Struct.type('recharge')
502
828
  export class recharge extends Struct {
@@ -505,12 +831,21 @@ export namespace Types {
505
831
  @Struct.field(UInt64)
506
832
  declare id: UInt64
507
833
  }
834
+ @Struct.type('reserve_row')
835
+ export class reserve_row extends Struct {
836
+ @Struct.field(UInt64)
837
+ declare id: UInt64
838
+ @Struct.field(UInt32)
839
+ declare remaining: UInt32
840
+ }
508
841
  @Struct.type('resolve')
509
842
  export class resolve extends Struct {
510
843
  @Struct.field(Name)
511
844
  declare entity_type: Name
512
845
  @Struct.field(UInt64)
513
846
  declare id: UInt64
847
+ @Struct.field(UInt64, {optional: true})
848
+ declare count?: UInt64
514
849
  }
515
850
  @Struct.type('resolve_results')
516
851
  export class resolve_results extends Struct {
@@ -522,21 +857,57 @@ export namespace Types {
522
857
  declare resolved_count: UInt8
523
858
  @Struct.field(TimePoint, {optional: true})
524
859
  declare new_schedule_started?: TimePoint
860
+ @Struct.field(UInt64, {optional: true})
861
+ declare entitygroup?: UInt64
862
+ @Struct.field(entity_ref, {array: true, optional: true})
863
+ declare group_members?: entity_ref[]
864
+ }
865
+ @Struct.type('resource_info')
866
+ export class resource_info extends Struct {
867
+ @Struct.field(UInt16)
868
+ declare id: UInt16
869
+ @Struct.field(UInt32)
870
+ declare mass: UInt32
871
+ @Struct.field(UInt8)
872
+ declare category: UInt8
873
+ @Struct.field(UInt8)
874
+ declare tier: UInt8
875
+ }
876
+ @Struct.type('resource_stats')
877
+ export class resource_stats extends Struct {
878
+ @Struct.field(UInt16)
879
+ declare stat1: UInt16
880
+ @Struct.field(UInt16)
881
+ declare stat2: UInt16
882
+ @Struct.field(UInt16)
883
+ declare stat3: UInt16
884
+ }
885
+ @Struct.type('resources_result')
886
+ export class resources_result extends Struct {
887
+ @Struct.field(resource_info, {array: true})
888
+ declare resources: resource_info[]
889
+ }
890
+ @Struct.type('rmmodule')
891
+ export class rmmodule extends Struct {
892
+ @Struct.field(Name)
893
+ declare entity_type: Name
894
+ @Struct.field(UInt64)
895
+ declare entity_id: UInt64
896
+ @Struct.field(UInt8)
897
+ declare module_index: UInt8
898
+ @Struct.field(UInt64)
899
+ declare target_cargo_id: UInt64
900
+ }
901
+ @Struct.type('rmnftcfg')
902
+ export class rmnftcfg extends Struct {
903
+ @Struct.field(UInt16)
904
+ declare item_id: UInt16
525
905
  }
526
906
  @Struct.type('salt')
527
907
  export class salt extends Struct {
528
908
  @Struct.field(UInt64)
529
909
  declare salt: UInt64
530
910
  }
531
- @Struct.type('sellgoods')
532
- export class sellgoods extends Struct {
533
- @Struct.field(UInt64)
534
- declare ship_id: UInt64
535
- @Struct.field(UInt16)
536
- declare good_id: UInt16
537
- @Struct.field(UInt32)
538
- declare quantity: UInt32
539
- }
540
911
  @Struct.type('sequence_row')
541
912
  export class sequence_row extends Struct {
542
913
  @Struct.field(Name)
@@ -544,6 +915,15 @@ export namespace Types {
544
915
  @Struct.field(UInt64)
545
916
  declare value: UInt64
546
917
  }
918
+ @Struct.type('setnftcfg')
919
+ export class setnftcfg extends Struct {
920
+ @Struct.field(UInt16)
921
+ declare item_id: UInt16
922
+ @Struct.field(Int32)
923
+ declare template_id: Int32
924
+ @Struct.field(Name)
925
+ declare schema_name: Name
926
+ }
547
927
  @Struct.type('ship_row')
548
928
  export class ship_row extends Struct {
549
929
  @Struct.field(UInt64)
@@ -552,23 +932,57 @@ export namespace Types {
552
932
  declare owner: Name
553
933
  @Struct.field('string')
554
934
  declare name: string
935
+ @Struct.field(UInt64)
936
+ declare seed: UInt64
555
937
  @Struct.field(coordinates)
556
- declare location: coordinates
557
- @Struct.field(UInt32)
558
- declare mass: UInt32
938
+ declare coordinates: coordinates
939
+ @Struct.field(UInt32, {optional: true})
940
+ declare hullmass?: UInt32
941
+ @Struct.field(UInt32, {optional: true})
942
+ declare capacity?: UInt32
943
+ @Struct.field(UInt16, {optional: true})
944
+ declare energy?: UInt16
559
945
  @Struct.field(UInt32)
560
- declare capacity: UInt32
561
- @Struct.field(UInt16)
562
- declare energy: UInt16
563
- @Struct.field(movement_stats)
564
- declare engines: movement_stats
565
- @Struct.field(energy_stats)
566
- declare generator: energy_stats
567
- @Struct.field(loader_stats)
568
- declare loaders: loader_stats
946
+ declare cargomass: UInt32
947
+ @Struct.field(movement_stats, {optional: true})
948
+ declare engines?: movement_stats
949
+ @Struct.field(energy_stats, {optional: true})
950
+ declare generator?: energy_stats
951
+ @Struct.field(loader_stats, {optional: true})
952
+ declare loaders?: loader_stats
953
+ @Struct.field(extractor_stats, {optional: true})
954
+ declare extractor?: extractor_stats
955
+ @Struct.field(hauler_stats, {optional: true})
956
+ declare hauler?: hauler_stats
957
+ @Struct.field(warp_stats, {optional: true})
958
+ declare warp?: warp_stats
959
+ @Struct.field(crafter_stats, {optional: true})
960
+ declare crafter?: crafter_stats
961
+ @Struct.field(module_entry, {array: true})
962
+ declare modules: module_entry[]
569
963
  @Struct.field(schedule, {optional: true})
570
964
  declare schedule?: schedule
571
965
  }
966
+ @Struct.type('spawncargo')
967
+ export class spawncargo extends Struct {
968
+ @Struct.field(UInt64)
969
+ declare entity_id: UInt64
970
+ @Struct.field(UInt64)
971
+ declare item_id: UInt64
972
+ @Struct.field(UInt64)
973
+ declare quantity: UInt64
974
+ }
975
+ @Struct.type('spawnseeded')
976
+ export class spawnseeded extends Struct {
977
+ @Struct.field(UInt64)
978
+ declare entity_id: UInt64
979
+ @Struct.field(UInt64)
980
+ declare item_id: UInt64
981
+ @Struct.field(UInt64)
982
+ declare quantity: UInt64
983
+ @Struct.field(UInt64)
984
+ declare seed: UInt64
985
+ }
572
986
  @Struct.type('state_row')
573
987
  export class state_row extends Struct {
574
988
  @Struct.field('bool')
@@ -584,12 +998,23 @@ export namespace Types {
584
998
  @Struct.field(Checksum256)
585
999
  declare commit: Checksum256
586
1000
  }
587
- @Struct.type('takeloan')
588
- export class takeloan extends Struct {
589
- @Struct.field(Name)
590
- declare account: Name
1001
+ @Struct.type('stratum_info')
1002
+ export class stratum_info extends Struct {
1003
+ @Struct.field(UInt16)
1004
+ declare item_id: UInt16
591
1005
  @Struct.field(UInt64)
592
- declare amount: UInt64
1006
+ declare seed: UInt64
1007
+ @Struct.field(UInt16)
1008
+ declare richness: UInt16
1009
+ @Struct.field(UInt32)
1010
+ declare reserve: UInt32
1011
+ }
1012
+ @Struct.type('stratum_data')
1013
+ export class stratum_data extends Struct {
1014
+ @Struct.field(stratum_info)
1015
+ declare stratum: stratum_info
1016
+ @Struct.field(resource_stats)
1017
+ declare stats: resource_stats
593
1018
  }
594
1019
  @Struct.type('task_results')
595
1020
  export class task_results extends Struct {
@@ -607,7 +1032,7 @@ export namespace Types {
607
1032
  @Struct.field(UInt64)
608
1033
  declare dest_id: UInt64
609
1034
  @Struct.field(UInt16)
610
- declare good_id: UInt16
1035
+ declare item_id: UInt16
611
1036
  @Struct.field(UInt32)
612
1037
  declare quantity: UInt32
613
1038
  }
@@ -630,20 +1055,8 @@ export namespace Types {
630
1055
  declare id: UInt64
631
1056
  @Struct.field(entity_summary)
632
1057
  declare entity_summary_type: entity_summary
633
- }
634
- @Struct.type('updatecredit')
635
- export class updatecredit extends Struct {
636
- @Struct.field(Name)
637
- declare account: Name
638
- @Struct.field(Int64)
639
- declare amount: Int64
640
- }
641
- @Struct.type('updatedebt')
642
- export class updatedebt extends Struct {
643
- @Struct.field(Name)
644
- declare account: Name
645
- @Struct.field(Int64)
646
- declare amount: Int64
1058
+ @Struct.field(game_config)
1059
+ declare game_config_type: game_config
647
1060
  }
648
1061
  @Struct.type('warehouse_row')
649
1062
  export class warehouse_row extends Struct {
@@ -653,24 +1066,61 @@ export namespace Types {
653
1066
  declare owner: Name
654
1067
  @Struct.field('string')
655
1068
  declare name: string
1069
+ @Struct.field(UInt64)
1070
+ declare seed: UInt64
656
1071
  @Struct.field(coordinates)
657
- declare location: coordinates
1072
+ declare coordinates: coordinates
1073
+ @Struct.field(UInt32, {optional: true})
1074
+ declare hullmass?: UInt32
1075
+ @Struct.field(UInt32, {optional: true})
1076
+ declare capacity?: UInt32
658
1077
  @Struct.field(UInt32)
659
- declare capacity: UInt32
660
- @Struct.field(loader_stats)
661
- declare loaders: loader_stats
1078
+ declare cargomass: UInt32
1079
+ @Struct.field(loader_stats, {optional: true})
1080
+ declare loaders?: loader_stats
1081
+ @Struct.field(module_entry, {array: true})
1082
+ declare modules: module_entry[]
662
1083
  @Struct.field(schedule, {optional: true})
663
1084
  declare schedule?: schedule
664
1085
  }
1086
+ @Struct.type('warp')
1087
+ export class warp extends Struct {
1088
+ @Struct.field(Name)
1089
+ declare entity_type: Name
1090
+ @Struct.field(UInt64)
1091
+ declare id: UInt64
1092
+ @Struct.field(Int64)
1093
+ declare x: Int64
1094
+ @Struct.field(Int64)
1095
+ declare y: Int64
1096
+ }
665
1097
  @Struct.type('wipe')
666
1098
  export class wipe extends Struct {}
667
1099
  @Struct.type('wipesequence')
668
1100
  export class wipesequence extends Struct {}
1101
+ @Struct.type('wrap')
1102
+ export class wrap extends Struct {
1103
+ @Struct.field(Name)
1104
+ declare owner: Name
1105
+ @Struct.field(Name)
1106
+ declare entity_type: Name
1107
+ @Struct.field(UInt64)
1108
+ declare entity_id: UInt64
1109
+ @Struct.field(UInt64)
1110
+ declare cargo_id: UInt64
1111
+ @Struct.field(UInt64)
1112
+ declare quantity: UInt64
1113
+ }
669
1114
  }
670
1115
  export const TableMap = {
671
1116
  cargo: Types.cargo_row,
1117
+ container: Types.container_row,
1118
+ entitygroup: Types.entitygroup_row,
672
1119
  location: Types.location_row,
1120
+ nexus: Types.nexus_row,
1121
+ nftconfig: Types.nftconfig_row,
673
1122
  player: Types.player_row,
1123
+ reserve: Types.reserve_row,
674
1124
  sequence: Types.sequence_row,
675
1125
  ship: Types.ship_row,
676
1126
  state: Types.state_row,
@@ -679,8 +1129,13 @@ export const TableMap = {
679
1129
  }
680
1130
  export interface TableTypes {
681
1131
  cargo: Types.cargo_row
1132
+ container: Types.container_row
1133
+ entitygroup: Types.entitygroup_row
682
1134
  location: Types.location_row
1135
+ nexus: Types.nexus_row
1136
+ nftconfig: Types.nftconfig_row
683
1137
  player: Types.player_row
1138
+ reserve: Types.reserve_row
684
1139
  sequence: Types.sequence_row
685
1140
  ship: Types.ship_row
686
1141
  state: Types.state_row
@@ -691,72 +1146,100 @@ export type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any
691
1146
  export type TableNames = keyof TableTypes
692
1147
  export namespace ActionParams {
693
1148
  export namespace Type {
694
- export interface cancel_log {
1149
+ export interface cargo_item {
1150
+ item_id: UInt16Type
1151
+ quantity: UInt32Type
1152
+ seed?: UInt64Type
1153
+ modules: Type.module_entry[]
1154
+ }
1155
+ export interface module_entry {
1156
+ type: UInt8Type
1157
+ installed?: Type.cargo_seed
1158
+ }
1159
+ export interface cargo_seed {
1160
+ item_id: UInt16Type
1161
+ seed: UInt64Type
1162
+ }
1163
+ export interface game_config {
1164
+ version: UInt32Type
1165
+ defaults: Type.entity_defaults
1166
+ items: Type.item_def[]
1167
+ }
1168
+ export interface entity_defaults {
1169
+ warehouse_capacity: UInt32Type
1170
+ warehouse_z: UInt16Type
1171
+ container_hullmass: UInt32Type
1172
+ container_capacity: UInt32Type
1173
+ container_z: UInt16Type
1174
+ }
1175
+ export interface item_def {
1176
+ id: UInt16Type
1177
+ mass: UInt32Type
1178
+ type: UInt8Type
1179
+ subtype: UInt8Type
1180
+ tier: UInt8Type
1181
+ }
1182
+ export interface entity_ref {
1183
+ entity_type: NameType
1184
+ entity_id: UInt64Type
1185
+ }
1186
+ export interface task_event {
1187
+ event_type: UInt8Type
695
1188
  owner: NameType
696
1189
  entity_type: NameType
697
1190
  entity_id: UInt64Type
698
1191
  task_index: UInt8Type
699
1192
  task: Type.task
700
- started_at: TimePointType
1193
+ starts_at: TimePointType
1194
+ completes_at: TimePointType
1195
+ new_energy?: UInt16Type
701
1196
  }
702
1197
  export interface task {
703
1198
  type: UInt8Type
704
1199
  duration: UInt32Type
705
1200
  cancelable: UInt8Type
706
- location?: Type.coordinates
1201
+ coordinates?: Type.coordinates
707
1202
  cargo: Type.cargo_item[]
708
- entity?: UInt64Type
709
- credits?: Int64Type
1203
+ entitytarget?: Type.entity_ref
1204
+ entitygroup?: UInt64Type
1205
+ energy_cost?: UInt16Type
710
1206
  }
711
1207
  export interface coordinates {
712
1208
  x: Int64Type
713
1209
  y: Int64Type
714
1210
  z?: UInt16Type
715
1211
  }
716
- export interface cargo_item {
717
- good_id: UInt16Type
718
- quantity: UInt32Type
719
- unit_cost: UInt64Type
720
- }
721
- export interface resolve_log {
722
- owner: NameType
723
- entity_type: NameType
724
- entity_id: UInt64Type
725
- task_index: UInt8Type
726
- task: Type.task
727
- started_at: TimePointType
728
- completed_at: TimePointType
729
- new_energy?: UInt16Type
730
- new_location?: Type.coordinates
731
- cargomass_delta: Int64Type
732
- cargo_added: Type.cargo_item[]
733
- cargo_removed: Type.cargo_item[]
734
- credits?: Int64Type
735
- }
1212
+ }
1213
+ export interface addmodule {
1214
+ entity_type: NameType
1215
+ entity_id: UInt64Type
1216
+ module_index: UInt8Type
1217
+ module_cargo_id: UInt64Type
1218
+ target_cargo_id: UInt64Type
1219
+ }
1220
+ export interface addnexus {
1221
+ nexus_name: string
1222
+ x: Int64Type
1223
+ y: Int64Type
736
1224
  }
737
1225
  export interface advance {
738
1226
  reveal: string
739
1227
  commit: Checksum256Type
740
1228
  }
741
- export interface buygoods {
742
- ship_id: UInt64Type
743
- good_id: UInt16Type
744
- quantity: UInt32Type
745
- }
746
- export interface buyship {
747
- account: NameType
748
- name: string
749
- }
750
- export interface buywarehouse {
751
- account: NameType
752
- ship_id: UInt64Type
753
- name: string
1229
+ export interface blend {
1230
+ entity_type: NameType
1231
+ id: UInt64Type
1232
+ inputs: Type.cargo_item[]
754
1233
  }
755
1234
  export interface cancel {
756
1235
  entity_type: NameType
757
1236
  id: UInt64Type
758
1237
  count: UInt64Type
759
1238
  }
1239
+ export interface cleanrsvp {
1240
+ epoch: UInt64Type
1241
+ max_rows: UInt64Type
1242
+ }
760
1243
  export interface cleartable {
761
1244
  table_name: NameType
762
1245
  scope?: NameType
@@ -765,9 +1248,40 @@ export namespace ActionParams {
765
1248
  export interface commit {
766
1249
  commit: Checksum256Type
767
1250
  }
1251
+ export interface configlog {
1252
+ config: Type.game_config
1253
+ }
1254
+ export interface craft {
1255
+ entity_type: NameType
1256
+ id: UInt64Type
1257
+ recipe_id: UInt16Type
1258
+ quantity: UInt32Type
1259
+ inputs: Type.cargo_item[]
1260
+ }
1261
+ export interface createentity {
1262
+ owner: NameType
1263
+ entity_type: NameType
1264
+ entity_name: string
1265
+ x: Int64Type
1266
+ y: Int64Type
1267
+ }
1268
+ export interface deploy {
1269
+ entity_type: NameType
1270
+ id: UInt64Type
1271
+ packed_item_id: UInt16Type
1272
+ seed: UInt64Type
1273
+ entity_name: string
1274
+ }
768
1275
  export interface enable {
769
1276
  enabled: boolean
770
1277
  }
1278
+ export interface extract {
1279
+ entity_type: NameType
1280
+ id: UInt64Type
1281
+ stratum: UInt16Type
1282
+ quantity: UInt32Type
1283
+ }
1284
+ export interface getconfig {}
771
1285
  export interface getentities {
772
1286
  owner: NameType
773
1287
  entity_type?: NameType
@@ -776,23 +1290,49 @@ export namespace ActionParams {
776
1290
  entity_type: NameType
777
1291
  entity_id: UInt64Type
778
1292
  }
779
- export interface getgoods {}
1293
+ export interface getitemdata {}
1294
+ export interface getitems {}
780
1295
  export interface getlocation {
781
1296
  x: Int64Type
782
1297
  y: Int64Type
783
1298
  }
1299
+ export interface getlocdata {
1300
+ x: Int64Type
1301
+ y: Int64Type
1302
+ }
1303
+ export interface getmodules {}
784
1304
  export interface getnearby {
785
1305
  entity_type: NameType
786
1306
  entity_id: UInt64Type
787
1307
  recharge: boolean
788
1308
  }
1309
+ export interface getnftinfo {}
789
1310
  export interface getplayer {
790
1311
  account: NameType
791
1312
  }
1313
+ export interface getrecipe {
1314
+ output_item_id: UInt16Type
1315
+ }
1316
+ export interface getrecipes {
1317
+ lower_bound: UInt16Type
1318
+ limit: UInt8Type
1319
+ }
1320
+ export interface getresources {}
1321
+ export interface getstratum {
1322
+ x: Int64Type
1323
+ y: Int64Type
1324
+ stratum: UInt16Type
1325
+ }
792
1326
  export interface getsummaries {
793
1327
  owner: NameType
794
1328
  entity_type?: NameType
795
1329
  }
1330
+ export interface grouptravel {
1331
+ entities: Type.entity_ref[]
1332
+ x: Int64Type
1333
+ y: Int64Type
1334
+ recharge: boolean
1335
+ }
796
1336
  export interface hash {
797
1337
  value: string
798
1338
  }
@@ -805,18 +1345,8 @@ export namespace ActionParams {
805
1345
  export interface join {
806
1346
  account: NameType
807
1347
  }
808
- export interface logcancel {
809
- log: Type.cancel_log
810
- }
811
- export interface logresolve {
812
- log: Type.resolve_log
813
- }
814
- export interface payloan {
815
- account: NameType
816
- amount: UInt64Type
817
- }
818
- export interface purgesupply {
819
- max_rows?: UInt64Type
1348
+ export interface notify {
1349
+ event: Type.task_event
820
1350
  }
821
1351
  export interface recharge {
822
1352
  entity_type: NameType
@@ -825,25 +1355,42 @@ export namespace ActionParams {
825
1355
  export interface resolve {
826
1356
  entity_type: NameType
827
1357
  id: UInt64Type
1358
+ count?: UInt64Type
1359
+ }
1360
+ export interface rmmodule {
1361
+ entity_type: NameType
1362
+ entity_id: UInt64Type
1363
+ module_index: UInt8Type
1364
+ target_cargo_id: UInt64Type
1365
+ }
1366
+ export interface rmnftcfg {
1367
+ item_id: UInt16Type
828
1368
  }
829
1369
  export interface salt {
830
1370
  salt: UInt64Type
831
1371
  }
832
- export interface sellgoods {
833
- ship_id: UInt64Type
834
- good_id: UInt16Type
835
- quantity: UInt32Type
1372
+ export interface setnftcfg {
1373
+ item_id: UInt16Type
1374
+ template_id: Int32Type
1375
+ schema_name: NameType
836
1376
  }
837
- export interface takeloan {
838
- account: NameType
839
- amount: UInt64Type
1377
+ export interface spawncargo {
1378
+ entity_id: UInt64Type
1379
+ item_id: UInt64Type
1380
+ quantity: UInt64Type
1381
+ }
1382
+ export interface spawnseeded {
1383
+ entity_id: UInt64Type
1384
+ item_id: UInt64Type
1385
+ quantity: UInt64Type
1386
+ seed: UInt64Type
840
1387
  }
841
1388
  export interface transfer {
842
1389
  source_type: NameType
843
1390
  source_id: UInt64Type
844
1391
  dest_type: NameType
845
1392
  dest_id: UInt64Type
846
- good_id: UInt16Type
1393
+ item_id: UInt16Type
847
1394
  quantity: UInt32Type
848
1395
  }
849
1396
  export interface travel {
@@ -853,71 +1400,105 @@ export namespace ActionParams {
853
1400
  y: Int64Type
854
1401
  recharge: boolean
855
1402
  }
856
- export interface updatecredit {
857
- account: NameType
858
- amount: Int64Type
859
- }
860
- export interface updatedebt {
861
- account: NameType
862
- amount: Int64Type
1403
+ export interface warp {
1404
+ entity_type: NameType
1405
+ id: UInt64Type
1406
+ x: Int64Type
1407
+ y: Int64Type
863
1408
  }
864
1409
  export interface wipe {}
865
1410
  export interface wipesequence {}
1411
+ export interface wrap {
1412
+ owner: NameType
1413
+ entity_type: NameType
1414
+ entity_id: UInt64Type
1415
+ cargo_id: UInt64Type
1416
+ quantity: UInt64Type
1417
+ }
866
1418
  }
867
1419
  export interface ActionNameParams {
1420
+ addmodule: ActionParams.addmodule
1421
+ addnexus: ActionParams.addnexus
868
1422
  advance: ActionParams.advance
869
- buygoods: ActionParams.buygoods
870
- buyship: ActionParams.buyship
871
- buywarehouse: ActionParams.buywarehouse
1423
+ blend: ActionParams.blend
872
1424
  cancel: ActionParams.cancel
1425
+ cleanrsvp: ActionParams.cleanrsvp
873
1426
  cleartable: ActionParams.cleartable
874
1427
  commit: ActionParams.commit
1428
+ configlog: ActionParams.configlog
1429
+ craft: ActionParams.craft
1430
+ createentity: ActionParams.createentity
1431
+ deploy: ActionParams.deploy
875
1432
  enable: ActionParams.enable
1433
+ extract: ActionParams.extract
1434
+ getconfig: ActionParams.getconfig
876
1435
  getentities: ActionParams.getentities
877
1436
  getentity: ActionParams.getentity
878
- getgoods: ActionParams.getgoods
1437
+ getitemdata: ActionParams.getitemdata
1438
+ getitems: ActionParams.getitems
879
1439
  getlocation: ActionParams.getlocation
1440
+ getlocdata: ActionParams.getlocdata
1441
+ getmodules: ActionParams.getmodules
880
1442
  getnearby: ActionParams.getnearby
1443
+ getnftinfo: ActionParams.getnftinfo
881
1444
  getplayer: ActionParams.getplayer
1445
+ getrecipe: ActionParams.getrecipe
1446
+ getrecipes: ActionParams.getrecipes
1447
+ getresources: ActionParams.getresources
1448
+ getstratum: ActionParams.getstratum
882
1449
  getsummaries: ActionParams.getsummaries
1450
+ grouptravel: ActionParams.grouptravel
883
1451
  hash: ActionParams.hash
884
1452
  hash512: ActionParams.hash512
885
1453
  init: ActionParams.init
886
1454
  join: ActionParams.join
887
- logcancel: ActionParams.logcancel
888
- logresolve: ActionParams.logresolve
889
- payloan: ActionParams.payloan
890
- purgesupply: ActionParams.purgesupply
1455
+ notify: ActionParams.notify
891
1456
  recharge: ActionParams.recharge
892
1457
  resolve: ActionParams.resolve
1458
+ rmmodule: ActionParams.rmmodule
1459
+ rmnftcfg: ActionParams.rmnftcfg
893
1460
  salt: ActionParams.salt
894
- sellgoods: ActionParams.sellgoods
895
- takeloan: ActionParams.takeloan
1461
+ setnftcfg: ActionParams.setnftcfg
1462
+ spawncargo: ActionParams.spawncargo
1463
+ spawnseeded: ActionParams.spawnseeded
896
1464
  transfer: ActionParams.transfer
897
1465
  travel: ActionParams.travel
898
- updatecredit: ActionParams.updatecredit
899
- updatedebt: ActionParams.updatedebt
1466
+ warp: ActionParams.warp
900
1467
  wipe: ActionParams.wipe
901
1468
  wipesequence: ActionParams.wipesequence
1469
+ wrap: ActionParams.wrap
902
1470
  }
903
1471
  export type ActionNames = keyof ActionNameParams
904
1472
  export interface ActionReturnValues {
905
- buygoods: Types.task_results
906
1473
  cancel: Types.cancel_results
1474
+ craft: Types.task_results
1475
+ deploy: Types.task_results
1476
+ extract: Types.task_results
1477
+ getconfig: Types.game_config
907
1478
  getentities: Types.entity_info[]
908
1479
  getentity: Types.entity_info
909
- getgoods: Types.goods_info
1480
+ getitemdata: Types.itemdata_result
1481
+ getitems: Types.items_info
910
1482
  getlocation: Types.location_info
1483
+ getlocdata: Types.location_derived
1484
+ getmodules: Types.modules_result
911
1485
  getnearby: Types.nearby_info
1486
+ getnftinfo: Types.nftinfo_result
912
1487
  getplayer: Types.player_info
1488
+ getrecipe: Types.recipes_result
1489
+ getrecipes: Types.recipes_result
1490
+ getresources: Types.resources_result
1491
+ getstratum: Types.stratum_data
913
1492
  getsummaries: Types.entity_summary[]
1493
+ grouptravel: Types.task_results
914
1494
  hash: Checksum256
915
1495
  hash512: Checksum512
916
1496
  recharge: Types.task_results
917
1497
  resolve: Types.resolve_results
918
- sellgoods: Types.task_results
919
1498
  transfer: Types.task_results
920
1499
  travel: Types.task_results
1500
+ warp: Types.task_results
1501
+ wrap: Types.task_results
921
1502
  }
922
1503
  export type ActionReturnNames = keyof ActionReturnValues
923
1504
  export class Contract extends BaseContract {