@shipload/sdk 1.0.0-next.2 → 1.0.0-next.21

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 (85) hide show
  1. package/lib/shipload.d.ts +1731 -1044
  2. package/lib/shipload.js +6758 -4523
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +6649 -4479
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +833 -0
  7. package/lib/testing.js +3647 -0
  8. package/lib/testing.js.map +1 -0
  9. package/lib/testing.m.js +3641 -0
  10. package/lib/testing.m.js.map +1 -0
  11. package/package.json +15 -2
  12. package/src/capabilities/gathering.ts +17 -7
  13. package/src/capabilities/modules.ts +9 -0
  14. package/src/capabilities/storage.ts +1 -1
  15. package/src/contracts/platform.ts +211 -3
  16. package/src/contracts/server.ts +723 -438
  17. package/src/data/capabilities.ts +9 -329
  18. package/src/data/capability-formulas.ts +76 -0
  19. package/src/data/catalog.ts +0 -5
  20. package/src/data/colors.ts +14 -28
  21. package/src/data/entities.json +46 -10
  22. package/src/data/item-ids.ts +17 -13
  23. package/src/data/items.json +308 -37
  24. package/src/data/kind-registry.json +85 -0
  25. package/src/data/kind-registry.ts +150 -0
  26. package/src/data/metadata.ts +99 -24
  27. package/src/data/recipes-runtime.ts +3 -23
  28. package/src/data/recipes.json +265 -96
  29. package/src/derivation/build-methods.ts +45 -0
  30. package/src/derivation/capabilities.ts +414 -0
  31. package/src/derivation/capability-mappings.ts +117 -0
  32. package/src/derivation/crafting.ts +23 -24
  33. package/src/derivation/index.ts +8 -2
  34. package/src/derivation/reserve-regen.ts +34 -0
  35. package/src/derivation/resources.ts +125 -38
  36. package/src/derivation/stats.ts +1 -2
  37. package/src/derivation/stratum.ts +15 -19
  38. package/src/derivation/tiers.ts +28 -7
  39. package/src/entities/entity.ts +98 -0
  40. package/src/entities/gamestate.ts +3 -28
  41. package/src/entities/makers.ts +75 -129
  42. package/src/entities/slot-multiplier.ts +37 -0
  43. package/src/errors.ts +10 -15
  44. package/src/format.ts +26 -4
  45. package/src/index-module.ts +151 -40
  46. package/src/managers/actions.ts +184 -82
  47. package/src/managers/base.ts +2 -2
  48. package/src/managers/construction-types.ts +68 -0
  49. package/src/managers/construction.ts +292 -0
  50. package/src/managers/context.ts +9 -0
  51. package/src/managers/entities.ts +18 -66
  52. package/src/managers/epochs.ts +40 -0
  53. package/src/managers/index.ts +16 -1
  54. package/src/managers/locations.ts +2 -20
  55. package/src/managers/nft.ts +28 -0
  56. package/src/managers/plot.ts +123 -0
  57. package/src/nft/atomicassets.ts +231 -0
  58. package/src/nft/atomicdata.ts +130 -0
  59. package/src/nft/buildImmutableData.ts +319 -0
  60. package/src/nft/description.ts +45 -13
  61. package/src/nft/index.ts +3 -0
  62. package/src/resolution/describe-module.ts +5 -8
  63. package/src/resolution/display-name.ts +38 -10
  64. package/src/resolution/resolve-item.ts +20 -12
  65. package/src/scheduling/accessor.ts +4 -0
  66. package/src/scheduling/projection.ts +79 -27
  67. package/src/scheduling/schedule.ts +15 -1
  68. package/src/scheduling/task-cargo.ts +46 -0
  69. package/src/shipload.ts +5 -0
  70. package/src/subscriptions/manager.ts +40 -6
  71. package/src/subscriptions/mappers.ts +3 -8
  72. package/src/subscriptions/types.ts +3 -2
  73. package/src/testing/catalog-hash.ts +19 -0
  74. package/src/testing/index.ts +2 -0
  75. package/src/testing/projection-parity.ts +143 -0
  76. package/src/travel/travel.ts +61 -2
  77. package/src/types/index.ts +0 -1
  78. package/src/types.ts +17 -12
  79. package/src/utils/cargo.ts +27 -0
  80. package/src/utils/system.ts +25 -24
  81. package/src/entities/container.ts +0 -108
  82. package/src/entities/ship-deploy.ts +0 -258
  83. package/src/entities/ship.ts +0 -204
  84. package/src/entities/warehouse.ts +0 -119
  85. package/src/types/entity-traits.ts +0 -69
@@ -0,0 +1,3641 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, UInt16, UInt8, Int64, TimePoint, BlockTimestamp, Bytes, Int32 } from '@wharfkit/antelope';
4
+ import { __decorate } from 'tslib';
5
+ import '@wharfkit/contract';
6
+
7
+ const CATALOG_FILES_REL = [
8
+ 'items.json',
9
+ 'recipes.json',
10
+ 'entities.json',
11
+ 'kind-registry.json',
12
+ 'item-ids.ts',
13
+ ];
14
+ function computeCatalogHash(filePaths) {
15
+ const hash = createHash('sha256');
16
+ for (const p of filePaths) {
17
+ hash.update(readFileSync(p));
18
+ hash.update('\0');
19
+ }
20
+ return hash.digest('hex');
21
+ }
22
+
23
+ const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yABsLYmFsYW5jZV9yb3cAAg50b2tlbl9jb250cmFjdARuYW1lB2JhbGFuY2UFYXNzZXQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BWNsb3NlAAMFb3duZXIEbmFtZQ50b2tlbl9jb250cmFjdARuYW1lDHRva2VuX3N5bWJvbAZzeW1ib2wLY29tcGFueV9yb3cAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcMZGViaXRkZXBvc2l0AAUFb3duZXIEbmFtZQV0b2tlbgRuYW1lBmxvY2tlZAVhc3NldAtmZWVfYWNjb3VudARuYW1lA2ZlZQVhc3NldA5kZXBvc2l0Y2ZnX3JvdwACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZW5hYmxlZ2FtZQACCGNvbnRyYWN0BG5hbWUHZW5hYmxlZARib29sDGZvdW5kY29tcGFueQACB2FjY291bnQEbmFtZQRuYW1lBnN0cmluZwtnYW1lX2NvbmZpZwAEBHNlZWQLY2hlY2tzdW0yNTYJZXBvY2h0aW1lBnVpbnQzMgVzdGFydA50aW1lX3BvaW50X3NlYwNlbmQOdGltZV9wb2ludF9zZWMJZ2FtZV9tZXRhAAQEbmFtZQZzdHJpbmcLZGVzY3JpcHRpb24Gc3RyaW5nA3VybAZzdHJpbmcHdmVyc2lvbgZzdHJpbmcIZ2FtZV9yb3cABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCmdhbWVfc3RhdGUAAQdlbmFibGVkBGJvb2wEb3BlbgADBW93bmVyBG5hbWUOdG9rZW5fY29udHJhY3QEbmFtZQx0b2tlbl9zeW1ib2wGc3ltYm9sDHNldGVwb2NodGltZQACCGNvbnRyYWN0BG5hbWUJZXBvY2h0aW1lBnVpbnQzMghzZXR0b2tlbgACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAt1bndyYXBjYXJnbwADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA51bndyYXBjdXN0X3JvdwACCGFzc2V0X2lkBnVpbnQ2NAVvd25lcgRuYW1lDHVud3JhcGVudGl0eQADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5DmV4dGVuZGVkX2Fzc2V0BG1lbW8Gc3RyaW5nCXdyYXBjYXJnbwAGBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0CGNhcmdvX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQKd3JhcGVudGl0eQAEBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0DHdyYXBnYXRlX3JvdwACBW93bmVyBG5hbWUNbGFzdF9hc3NldF9pZAZ1aW50NjQRAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAAAAhWlEBWNsb3Nl4gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xvc2UKc3VtbWFyeTogJ0Nsb3NlIGEgZGVwb3NpdCBiYWxhbmNlIHJvdycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkNsb3NlIHRoZSBvd25lcidzIGRlcG9zaXQgYmFsYW5jZSByb3cgZm9yIHRoZSBnaXZlbiB0b2tlbiBhbmQgZnJlZSBpdHMgUkFNLiBUaGUgYmFsYW5jZSBtdXN0IGJlIHplcm8gYmVmb3JlIGNsb3NpbmcuIFJlcXVpcmVzIHRoZSBvd25lcidzIGF1dGhvcml0eS6QHaZVpeyOSgxkZWJpdGRlcG9zaXSdBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZWJpdGRlcG9zaXQKc3VtbWFyeTogJ0RlYml0IGEgZGVwb3NpdCBiYWxhbmNlIGZvciBhIHdyYXAgb3BlcmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgYSByZWdpc3RlcmVkLCBlbmFibGVkIGdhbWUgY29udHJhY3Qgb25seS4gRGViaXRzIHRoZSBvd25lcidzIGRlcG9zaXQgYmFsYW5jZSBieSB0aGUgbG9ja2VkIGFtb3VudCBwbHVzIHRoZSBmZWUsIGFuZCBjcmVkaXRzIHRoZSBmZWUgdG8gdGhlIGNvbmZpZ3VyZWQgZmVlIGFjY291bnQuIFVzZWQgYnkgYSBnYW1lJ3Mgd3JhcCBmbG93IHRvIGNvbGxlY3QgdGhlIHdyYXAgY29zdC4gQ2Fubm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBwbGF5ZXJzIG9yIHVucmVnaXN0ZXJlZCBhY2NvdW50cy4AAAAAqHjMVAZlbmFibGXzAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ0VuYWJsZS9kaXNhYmxlIHBsYXRmb3JtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHBsYXRmb3JtIGNvbnRyYWN0LgCAkoapeMxUCmVuYWJsZWdhbWX8AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGVnYW1lCnN1bW1hcnk6ICdFbmFibGUvZGlzYmFibGUgYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LuCnqZKiNDVdDGZvdW5kY29tcGFueYMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvdW5kY29tcGFueQpzdW1tYXJ5OiAnRm91bmQgYSBuZXcgY29tcGFueScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkZvdW5kIGEgbmV3IGNvbXBhbnkgaW4gdGhlIFNoaXBsb2FkIHBsYXRmb3JtIGNvbnRyYWN0LgAAAAAAMFWlBG9wZW6bAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBvcGVuCnN1bW1hcnk6ICdPcGVuIGEgZGVwb3NpdCBiYWxhbmNlIHJvdycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCk9wZW4gYSB6ZXJvLWJhbGFuY2UgZGVwb3NpdCByb3cgZm9yIHRoZSBnaXZlbiBvd25lciBhbmQgdG9rZW4sIHdpdGggUkFNIHBhaWQgYnkgdGhlIG93bmVyLiBIYXMgbm8gZWZmZWN0IGlmIHRoZSByb3cgYWxyZWFkeSBleGlzdHMuIE11c3QgYmUgY2FsbGVkIGJlZm9yZSB0aGUgb3duZXIgY2FuIHJlY2VpdmUgdG9rZW4gZGVwb3NpdHMgb3Igd3JhcCByZWZ1bmRzLqCkyw3RqrLCDHNldGVwb2NodGltZcQCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldGVwb2NodGltZQpzdW1tYXJ5OiAnREVCVUc6IG92ZXJyaWRlIGEgZ2FtZScncyBlcG9jaCB0aW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpPdmVycmlkZSB0aGUgZXBvY2ggZHVyYXRpb24gaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAAAAU0Gas8IIc2V0dG9rZW6dAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXR0b2tlbgpzdW1tYXJ5OiAnU2V0IHRoZSBhY2NlcHRlZCBkZXBvc2l0IHRva2VuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKQWRtaW4gYWN0aW9uIHRoYXQgc2V0cyB0aGUgYWNjZXB0ZWQgZGVwb3NpdCB0b2tlbiAoY29udHJhY3QgYWNjb3VudCBhbmQgc3ltYm9sKSBmb3IgdGhlIHBsYXRmb3JtLiBBbGwgcGxheWVyIGRlcG9zaXRzIGFuZCB3cmFwIGNvc3RzIGFyZSBkZW5vbWluYXRlZCBpbiB0aGlzIHRva2VuLiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AKLsGVXP51At1bndyYXBjYXJnb88ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVud3JhcGNhcmdvCnN1bW1hcnk6ICdEZXBvc2l0IGFuIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlcG9zaXQgYW4gQXRvbWljQXNzZXRzIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnby4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAndW53cmFwJyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgY2FsbGVyIG11c3Qgb3duIHRoZSBob3N0LCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycywgYW5kIHRoZSBob3N0IG11c3QgaGF2ZSBjYXBhY2l0eSBoZWFkcm9vbSBmb3IgdGhlIHVud3JhcHBlZCBtYXNzLiBTY2hlZHVsZXMgYSBUQVNLX1VOV1JBUCBvbiB0aGUgaG9zdCB0aGF0LCBvbiByZXNvbHV0aW9uLCBwbGFjZXMgdGhlIGRlY29kZWQgaXRlbSBpbnRvIHRoZSBob3N0J3MgY2FyZ28gYW5kIGJ1cm5zIHRoZSBORlQu4LPLU1Vz+dQMdW53cmFwZW50aXR54gQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW53cmFwZW50aXR5CnN1bW1hcnk6ICdEZXBsb3kgYW4gZW50aXR5IE5GVCBkaXJlY3RseSB0byBhIG5leHVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZXBsb3kgYSBwYWNrZWQtZW50aXR5IEF0b21pY0Fzc2V0cyBORlQgKG9yYml0YWwgdmVzc2VsOiBzaGlwIG9yIGNvbnRhaW5lcikgZGlyZWN0bHkgYXMgYSBsaXZlIGVudGl0eS4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAnZGVwbG95JyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgTkZUIGlzIGJ1cm5lZCwgYSBuZXcgZW50aXR5IHJvdyBpcyBlbXBsYWNlZCBhdCB0aGUgTkZUJ3Mgd3JhcCBvcmlnaW4gcGFpZCBieSB0aGUgb3duZXIsIGFuZCBUQVNLX1RSQVZFTCBwbHVzIFRBU0tfUkVDSEFSR0UgYXJlIHF1ZXVlZCB0byBkZWxpdmVyIHRoZSBlbnRpdHkgdG8gdGhlIHRhcmdldCBuZXh1cyBhbmQgYnJpbmcgaXQgdG8gZnVsbCBlbmVyZ3kuAICShqlsUtUKdXBkYXRlZ2FtZY0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWdhbWUKc3VtbWFyeTogJ1VwZGF0ZSBnYW1lIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKVXBkYXRlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3QuCgotLS0AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAA3NzUsuMId2l0aGRyYXeXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXRoZHJhdwpzdW1tYXJ5OiAnV2l0aGRyYXcgdG9rZW5zIGZyb20gYSBkZXBvc2l0IGJhbGFuY2UnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpXaXRoZHJhdyB0b2tlbnMgZnJvbSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UuIERlYml0cyB0aGUgbGVkZ2VyIGJ5IHRoZSByZXF1ZXN0ZWQgYW1vdW50IGFuZCB0cmFuc2ZlcnMgdGhlIHRva2VucyB0byB0aGUgb3duZXIuIFJlcXVpcmVzIGEgc3VmZmljaWVudCBiYWxhbmNlIGFuZCB0aGUgb3duZXIncyBhdXRob3JpdHkuAACg7BpUzeUJd3JhcGNhcmdvAACAzy5PVc3lCndyYXBlbnRpdHm1BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3cmFwZW50aXR5CnN1bW1hcnk6ICdXcmFwIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpXcmFwIGFuIGVudGl0eSBpbnRvIGFuIEF0b21pY0Fzc2V0cyBORlQgbWludGVkIHRvIGl0cyBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGlkbGUgd2l0aCBlbXB0eSBjYXJnbywgYW5kIGhhdmUgYW4gbmZ0Y29uZmlnIG1hcHBpbmcgZm9yIGl0cyBpdGVtIGlkLiBFcmFzZXMgdGhlIGVudGl0eSBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUsIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlczsgdGhlIHBsYXllciBwYXlzIFJBTSBmb3IgdGhlIG5ldyBhc3NldCByb3cuIFJlcXVpcmVzIHRoZSBvd25lcidzIGFjdGl2ZSBwZXJtaXNzaW9uIChubyBzZXNzaW9uLWtleSBjb21wYXRpYmlsaXR5KS4HAAAAQKFpojkDaTY0AAALYmFsYW5jZV9yb3cAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAWyg7TKtKA2k2NAAADmRlcG9zaXRjZmdfcm93AAAAAACspGEDaTY0AAAIZ2FtZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAQMYaVXP51ANpNjQAAA51bndyYXBjdXN0X3JvdwAAACobVs3lA2k2NAAADHdyYXBnYXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let balance_row = class balance_row extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], balance_row.prototype, "token_contract", void 0);
32
+ __decorate([
33
+ Struct.field(Asset)
34
+ ], balance_row.prototype, "balance", void 0);
35
+ balance_row = __decorate([
36
+ Struct.type('balance_row')
37
+ ], balance_row);
38
+ Types.balance_row = balance_row;
39
+ let cleartable = class cleartable extends Struct {
40
+ };
41
+ __decorate([
42
+ Struct.field(Name)
43
+ ], cleartable.prototype, "table_name", void 0);
44
+ __decorate([
45
+ Struct.field(Name, { optional: true })
46
+ ], cleartable.prototype, "scope", void 0);
47
+ __decorate([
48
+ Struct.field(UInt64, { optional: true })
49
+ ], cleartable.prototype, "max_rows", void 0);
50
+ cleartable = __decorate([
51
+ Struct.type('cleartable')
52
+ ], cleartable);
53
+ Types.cleartable = cleartable;
54
+ let close = class close extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field(Name)
58
+ ], close.prototype, "owner", void 0);
59
+ __decorate([
60
+ Struct.field(Name)
61
+ ], close.prototype, "token_contract", void 0);
62
+ __decorate([
63
+ Struct.field(Asset.Symbol)
64
+ ], close.prototype, "token_symbol", void 0);
65
+ close = __decorate([
66
+ Struct.type('close')
67
+ ], close);
68
+ Types.close = close;
69
+ let company_row = class company_row extends Struct {
70
+ };
71
+ __decorate([
72
+ Struct.field(Name)
73
+ ], company_row.prototype, "account", void 0);
74
+ __decorate([
75
+ Struct.field('string')
76
+ ], company_row.prototype, "name", void 0);
77
+ company_row = __decorate([
78
+ Struct.type('company_row')
79
+ ], company_row);
80
+ Types.company_row = company_row;
81
+ let debitdeposit = class debitdeposit extends Struct {
82
+ };
83
+ __decorate([
84
+ Struct.field(Name)
85
+ ], debitdeposit.prototype, "owner", void 0);
86
+ __decorate([
87
+ Struct.field(Name)
88
+ ], debitdeposit.prototype, "token", void 0);
89
+ __decorate([
90
+ Struct.field(Asset)
91
+ ], debitdeposit.prototype, "locked", void 0);
92
+ __decorate([
93
+ Struct.field(Name)
94
+ ], debitdeposit.prototype, "fee_account", void 0);
95
+ __decorate([
96
+ Struct.field(Asset)
97
+ ], debitdeposit.prototype, "fee", void 0);
98
+ debitdeposit = __decorate([
99
+ Struct.type('debitdeposit')
100
+ ], debitdeposit);
101
+ Types.debitdeposit = debitdeposit;
102
+ let depositcfg_row = class depositcfg_row extends Struct {
103
+ };
104
+ __decorate([
105
+ Struct.field(Name)
106
+ ], depositcfg_row.prototype, "token_contract", void 0);
107
+ __decorate([
108
+ Struct.field(Asset.Symbol)
109
+ ], depositcfg_row.prototype, "token_symbol", void 0);
110
+ depositcfg_row = __decorate([
111
+ Struct.type('depositcfg_row')
112
+ ], depositcfg_row);
113
+ Types.depositcfg_row = depositcfg_row;
114
+ let enable = class enable extends Struct {
115
+ };
116
+ __decorate([
117
+ Struct.field('bool')
118
+ ], enable.prototype, "enabled", void 0);
119
+ enable = __decorate([
120
+ Struct.type('enable')
121
+ ], enable);
122
+ Types.enable = enable;
123
+ let enablegame = class enablegame extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field(Name)
127
+ ], enablegame.prototype, "contract", void 0);
128
+ __decorate([
129
+ Struct.field('bool')
130
+ ], enablegame.prototype, "enabled", void 0);
131
+ enablegame = __decorate([
132
+ Struct.type('enablegame')
133
+ ], enablegame);
134
+ Types.enablegame = enablegame;
135
+ let foundcompany = class foundcompany extends Struct {
136
+ };
137
+ __decorate([
138
+ Struct.field(Name)
139
+ ], foundcompany.prototype, "account", void 0);
140
+ __decorate([
141
+ Struct.field('string')
142
+ ], foundcompany.prototype, "name", void 0);
143
+ foundcompany = __decorate([
144
+ Struct.type('foundcompany')
145
+ ], foundcompany);
146
+ Types.foundcompany = foundcompany;
147
+ let game_config = class game_config extends Struct {
148
+ };
149
+ __decorate([
150
+ Struct.field(Checksum256)
151
+ ], game_config.prototype, "seed", void 0);
152
+ __decorate([
153
+ Struct.field(UInt32)
154
+ ], game_config.prototype, "epochtime", void 0);
155
+ __decorate([
156
+ Struct.field(TimePointSec)
157
+ ], game_config.prototype, "start", void 0);
158
+ __decorate([
159
+ Struct.field(TimePointSec)
160
+ ], game_config.prototype, "end", void 0);
161
+ game_config = __decorate([
162
+ Struct.type('game_config')
163
+ ], game_config);
164
+ Types.game_config = game_config;
165
+ let game_meta = class game_meta extends Struct {
166
+ };
167
+ __decorate([
168
+ Struct.field('string')
169
+ ], game_meta.prototype, "name", void 0);
170
+ __decorate([
171
+ Struct.field('string')
172
+ ], game_meta.prototype, "description", void 0);
173
+ __decorate([
174
+ Struct.field('string')
175
+ ], game_meta.prototype, "url", void 0);
176
+ __decorate([
177
+ Struct.field('string')
178
+ ], game_meta.prototype, "version", void 0);
179
+ game_meta = __decorate([
180
+ Struct.type('game_meta')
181
+ ], game_meta);
182
+ Types.game_meta = game_meta;
183
+ let game_state = class game_state extends Struct {
184
+ };
185
+ __decorate([
186
+ Struct.field('bool')
187
+ ], game_state.prototype, "enabled", void 0);
188
+ game_state = __decorate([
189
+ Struct.type('game_state')
190
+ ], game_state);
191
+ Types.game_state = game_state;
192
+ let game_row = class game_row extends Struct {
193
+ };
194
+ __decorate([
195
+ Struct.field(Name)
196
+ ], game_row.prototype, "contract", void 0);
197
+ __decorate([
198
+ Struct.field(game_config)
199
+ ], game_row.prototype, "config", void 0);
200
+ __decorate([
201
+ Struct.field(game_meta)
202
+ ], game_row.prototype, "meta", void 0);
203
+ __decorate([
204
+ Struct.field(game_state)
205
+ ], game_row.prototype, "state", void 0);
206
+ game_row = __decorate([
207
+ Struct.type('game_row')
208
+ ], game_row);
209
+ Types.game_row = game_row;
210
+ let open = class open extends Struct {
211
+ };
212
+ __decorate([
213
+ Struct.field(Name)
214
+ ], open.prototype, "owner", void 0);
215
+ __decorate([
216
+ Struct.field(Name)
217
+ ], open.prototype, "token_contract", void 0);
218
+ __decorate([
219
+ Struct.field(Asset.Symbol)
220
+ ], open.prototype, "token_symbol", void 0);
221
+ open = __decorate([
222
+ Struct.type('open')
223
+ ], open);
224
+ Types.open = open;
225
+ let setepochtime = class setepochtime extends Struct {
226
+ };
227
+ __decorate([
228
+ Struct.field(Name)
229
+ ], setepochtime.prototype, "contract", void 0);
230
+ __decorate([
231
+ Struct.field(UInt32)
232
+ ], setepochtime.prototype, "epochtime", void 0);
233
+ setepochtime = __decorate([
234
+ Struct.type('setepochtime')
235
+ ], setepochtime);
236
+ Types.setepochtime = setepochtime;
237
+ let settoken = class settoken extends Struct {
238
+ };
239
+ __decorate([
240
+ Struct.field(Name)
241
+ ], settoken.prototype, "token_contract", void 0);
242
+ __decorate([
243
+ Struct.field(Asset.Symbol)
244
+ ], settoken.prototype, "token_symbol", void 0);
245
+ settoken = __decorate([
246
+ Struct.type('settoken')
247
+ ], settoken);
248
+ Types.settoken = settoken;
249
+ let startgame = class startgame extends Struct {
250
+ };
251
+ __decorate([
252
+ Struct.field(Name)
253
+ ], startgame.prototype, "contract", void 0);
254
+ __decorate([
255
+ Struct.field(game_config)
256
+ ], startgame.prototype, "config", void 0);
257
+ __decorate([
258
+ Struct.field(game_meta)
259
+ ], startgame.prototype, "meta", void 0);
260
+ __decorate([
261
+ Struct.field(game_state)
262
+ ], startgame.prototype, "state", void 0);
263
+ startgame = __decorate([
264
+ Struct.type('startgame')
265
+ ], startgame);
266
+ Types.startgame = startgame;
267
+ let state_row = class state_row extends Struct {
268
+ };
269
+ __decorate([
270
+ Struct.field('bool')
271
+ ], state_row.prototype, "enabled", void 0);
272
+ state_row = __decorate([
273
+ Struct.type('state_row')
274
+ ], state_row);
275
+ Types.state_row = state_row;
276
+ let unwrapcargo = class unwrapcargo extends Struct {
277
+ };
278
+ __decorate([
279
+ Struct.field(Name)
280
+ ], unwrapcargo.prototype, "game", void 0);
281
+ __decorate([
282
+ Struct.field(Name)
283
+ ], unwrapcargo.prototype, "owner", void 0);
284
+ __decorate([
285
+ Struct.field(UInt64)
286
+ ], unwrapcargo.prototype, "asset_id", void 0);
287
+ unwrapcargo = __decorate([
288
+ Struct.type('unwrapcargo')
289
+ ], unwrapcargo);
290
+ Types.unwrapcargo = unwrapcargo;
291
+ let unwrapcust_row = class unwrapcust_row extends Struct {
292
+ };
293
+ __decorate([
294
+ Struct.field(UInt64)
295
+ ], unwrapcust_row.prototype, "asset_id", void 0);
296
+ __decorate([
297
+ Struct.field(Name)
298
+ ], unwrapcust_row.prototype, "owner", void 0);
299
+ unwrapcust_row = __decorate([
300
+ Struct.type('unwrapcust_row')
301
+ ], unwrapcust_row);
302
+ Types.unwrapcust_row = unwrapcust_row;
303
+ let unwrapentity = class unwrapentity extends Struct {
304
+ };
305
+ __decorate([
306
+ Struct.field(Name)
307
+ ], unwrapentity.prototype, "game", void 0);
308
+ __decorate([
309
+ Struct.field(Name)
310
+ ], unwrapentity.prototype, "owner", void 0);
311
+ __decorate([
312
+ Struct.field(UInt64)
313
+ ], unwrapentity.prototype, "asset_id", void 0);
314
+ unwrapentity = __decorate([
315
+ Struct.type('unwrapentity')
316
+ ], unwrapentity);
317
+ Types.unwrapentity = unwrapentity;
318
+ let updategame = class updategame extends Struct {
319
+ };
320
+ __decorate([
321
+ Struct.field(Name)
322
+ ], updategame.prototype, "contract", void 0);
323
+ __decorate([
324
+ Struct.field(game_meta)
325
+ ], updategame.prototype, "meta", void 0);
326
+ updategame = __decorate([
327
+ Struct.type('updategame')
328
+ ], updategame);
329
+ Types.updategame = updategame;
330
+ let wipe = class wipe extends Struct {
331
+ };
332
+ wipe = __decorate([
333
+ Struct.type('wipe')
334
+ ], wipe);
335
+ Types.wipe = wipe;
336
+ let withdraw = class withdraw extends Struct {
337
+ };
338
+ __decorate([
339
+ Struct.field(Name)
340
+ ], withdraw.prototype, "owner", void 0);
341
+ __decorate([
342
+ Struct.field(ExtendedAsset)
343
+ ], withdraw.prototype, "quantity", void 0);
344
+ __decorate([
345
+ Struct.field('string')
346
+ ], withdraw.prototype, "memo", void 0);
347
+ withdraw = __decorate([
348
+ Struct.type('withdraw')
349
+ ], withdraw);
350
+ Types.withdraw = withdraw;
351
+ let wrapcargo = class wrapcargo extends Struct {
352
+ };
353
+ __decorate([
354
+ Struct.field(Name)
355
+ ], wrapcargo.prototype, "game", void 0);
356
+ __decorate([
357
+ Struct.field(Name)
358
+ ], wrapcargo.prototype, "owner", void 0);
359
+ __decorate([
360
+ Struct.field(UInt64)
361
+ ], wrapcargo.prototype, "entity_id", void 0);
362
+ __decorate([
363
+ Struct.field(UInt64)
364
+ ], wrapcargo.prototype, "nexus_id", void 0);
365
+ __decorate([
366
+ Struct.field(UInt64)
367
+ ], wrapcargo.prototype, "cargo_id", void 0);
368
+ __decorate([
369
+ Struct.field(UInt64)
370
+ ], wrapcargo.prototype, "quantity", void 0);
371
+ wrapcargo = __decorate([
372
+ Struct.type('wrapcargo')
373
+ ], wrapcargo);
374
+ Types.wrapcargo = wrapcargo;
375
+ let wrapentity = class wrapentity extends Struct {
376
+ };
377
+ __decorate([
378
+ Struct.field(Name)
379
+ ], wrapentity.prototype, "game", void 0);
380
+ __decorate([
381
+ Struct.field(Name)
382
+ ], wrapentity.prototype, "owner", void 0);
383
+ __decorate([
384
+ Struct.field(UInt64)
385
+ ], wrapentity.prototype, "entity_id", void 0);
386
+ __decorate([
387
+ Struct.field(UInt64)
388
+ ], wrapentity.prototype, "nexus_id", void 0);
389
+ wrapentity = __decorate([
390
+ Struct.type('wrapentity')
391
+ ], wrapentity);
392
+ Types.wrapentity = wrapentity;
393
+ let wrapgate_row = class wrapgate_row extends Struct {
394
+ };
395
+ __decorate([
396
+ Struct.field(Name)
397
+ ], wrapgate_row.prototype, "owner", void 0);
398
+ __decorate([
399
+ Struct.field(UInt64)
400
+ ], wrapgate_row.prototype, "last_asset_id", void 0);
401
+ wrapgate_row = __decorate([
402
+ Struct.type('wrapgate_row')
403
+ ], wrapgate_row);
404
+ Types.wrapgate_row = wrapgate_row;
405
+ })(Types$1 || (Types$1 = {}));
406
+ ({
407
+ balance: Types$1.balance_row,
408
+ company: Types$1.company_row,
409
+ depositcfg: Types$1.depositcfg_row,
410
+ games: Types$1.game_row,
411
+ state: Types$1.state_row,
412
+ unwrapcust: Types$1.unwrapcust_row,
413
+ wrapgate: Types$1.wrapgate_row,
414
+ });
415
+
416
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDiiAQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQJYWRkb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUFYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQlidWlsZHBsb3QAAgpidWlsZGVyX2lkBnVpbnQ2NAdwbG90X2lkBnVpbnQ2NAZjYW5jZWwAAgJpZAZ1aW50NjQFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8JY2xhaW1wbG90AAMKYnVpbGRlcl9pZAZ1aW50NjQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BmNvb3Jkcwtjb29yZGluYXRlcwljbGVhbnJzdnAAAgVlcG9jaAZ1aW50NjQIbWF4X3Jvd3MGdWludDY0CmNsZWFydGFibGUAAwp0YWJsZV9uYW1lBG5hbWUFc2NvcGUFbmFtZT8IbWF4X3Jvd3MHdWludDY0PwZjb21taXQAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGY29tbWl0C2NoZWNrc3VtMjU2CmNvbW1pdF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcLY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAQCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10NY3JhZnRlcl9zdGF0cwACBXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MTYIZGVtb2xpc2gAAQllbnRpdHlfaWQGdWludDY0BmRlcGxveQACAmlkBnVpbnQ2NANyZWYJY2FyZ29fcmVmCmRlc2NlbnRpdHkABAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAxtb2R1bGVfaXRlbXMIdWludDE2W10MbW9kdWxlX3N0YXRzCHVpbnQ2NFtdBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAAgt3YXJlaG91c2VfegZ1aW50MTYLY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABoEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpdGVtX2lkBnVpbnQxNgljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX3ZpZXdbXQdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdBmVuZXJneQd1aW50MTY/CGh1bGxtYXNzB3VpbnQzMj8IY2FwYWNpdHkHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGdhdGhlcmVyD2dhdGhlcmVyX3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPw1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKZW50aXR5X3JvdwALAmlkBnVpbnQ2NAVvd25lcgRuYW1lBGtpbmQEbmFtZQdpdGVtX2lkBnVpbnQxNgRuYW1lBnN0cmluZwVzdGF0cwZ1aW50NjQLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHNjaGVkdWxlCXNjaGVkdWxlPw5lbnRpdHlfc2VxX3JvdwABB25leHRfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkCnRpbWVfcG9pbnQPZW50aXR5Z3JvdXBfcm93AAICaWQGdWludDY0DHBhcnRpY2lwYW50cwxlbnRpdHlfcmVmW10LZW51bV9tZW1iZXIAAgV2YWx1ZQV1aW50OARuYW1lBnN0cmluZwtlbnVtX3Jlc3VsdAABB21lbWJlcnMNZW51bV9tZW1iZXJbXQllcG9jaF9yb3cABAVlcG9jaAZ1aW50NjQKb3JhY2xlX2lkcwZuYW1lW10JdGhyZXNob2xkBXVpbnQ4BHNlZWQLY2hlY2tzdW0yNTYMZml4Y2FyZ29tYXNzAAEJZW50aXR5X2lkBnVpbnQ2NAtmb3JjZXJldmVhbAABBWVwb2NoBnVpbnQ2NAtnYW1lX2NvbmZpZwADB3ZlcnNpb24GdWludDMyCGRlZmF1bHRzD2VudGl0eV9kZWZhdWx0cwVpdGVtcwppdGVtX2RlZltdBmdhdGhlcgAECXNvdXJjZV9pZAZ1aW50NjQOZGVzdGluYXRpb25faWQGdWludDY0B3N0cmF0dW0GdWludDE2CHF1YW50aXR5BnVpbnQzMg5nYXRoZXJlcl9zdGF0cwADBXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MTYFZGVwdGgGdWludDE2CWdldGNvbmZpZwAACmdldGRlcG9zaXQAAgVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAAC2dldGl0ZW10eXBlAAEHaXRlbV9pZAZ1aW50MTYMZ2V0aXRlbXR5cGVzAAALZ2V0a2luZG1ldGEAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQxnZXRwcm9qc3RhdGUAAgllbnRpdHlfaWQGdWludDY0CnRhc2tfY291bnQGdWludDg/CWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtncm91cHRyYXZlbAAECGVudGl0aWVzDGVudGl0eV9yZWZbXQF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcMaGF1bGVyX3N0YXRzAAMIY2FwYWNpdHkFdWludDgKZWZmaWNpZW5jeQZ1aW50MTYFZHJhaW4GdWludDE2C2ltcG9ydGNhcmdvAAEDcm93CWNhcmdvX3JvdwxpbXBvcnRlbnRpdHkAAQNyb3cKZW50aXR5X3JvdwtpbXBvcnRncm91cAABA3Jvdw9lbnRpdHlncm91cF9yb3cMaW1wb3J0cGxheWVyAAEFb3duZXIEbmFtZQ1pbXBvcnRyZXNlcnZlAAILZXBvY2hfc2NvcGUGdWludDMyA3JvdwtyZXNlcnZlX3JvdwtpbXBvcnRzdGF0ZQABA3JvdwlzdGF0ZV9yb3cIaXRlbV9kZWYABQJpZAZ1aW50MTYEbWFzcwZ1aW50MzIEdHlwZQV1aW50OAdzdWJ0eXBlBXVpbnQ4BHRpZXIFdWludDgMaXRlbV9pZF9wYWlyAAICaWQGdWludDE2BG5hbWUGc3RyaW5nD2l0ZW1faWRzX3Jlc3VsdAABBWl0ZW1zDml0ZW1faWRfcGFpcltdD2l0ZW1kYXRhX3Jlc3VsdAACBWl0ZW1zCml0ZW1fZGVmW10HcmVjaXBlcw5yZWNpcGVzX3Jlc3VsdAppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lEGtpbmRfbWV0YV9yZXN1bHQAAgVraW5kcw9raW5kX21ldGFfcm93W10JdGVtcGxhdGVzE3RlbXBsYXRlX21ldGFfcm93W10Na2luZF9tZXRhX3JvdwAFBGtpbmQEbmFtZQ5jbGFzc2lmaWNhdGlvbgV1aW50OBBjYXBhYmlsaXR5X2ZsYWdzBXVpbnQ4B3pfY29vcmQGdWludDMyDWRlZmF1bHRfbGFiZWwGc3RyaW5nDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgQbG9jYXRpb25fZGVyaXZlZAACDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMEc2l6ZQZ1aW50MTYNbG9jYXRpb25faW5mbwACBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbA9sb2NhdGlvbl9zdGF0aWMABQZjb29yZHMLY29vcmRpbmF0ZXMEdHlwZQ1sb2NhdGlvbl90eXBlB3N1YnR5cGUFdWludDgFc2VlZDAFdWludDgFc2VlZDEFdWludDgMbW9kdWxlX2VudHJ5AAIEdHlwZQV1aW50OAlpbnN0YWxsZWQOcGFja2VkX21vZHVsZT8LbW9kdWxlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzILbW9kdWxlX3R5cGUFdWludDgEdGllcgV1aW50OA5tb2R1bGVzX3Jlc3VsdAABB21vZHVsZXMNbW9kdWxlX2luZm9bXQ5tb3ZlbWVudF9zdGF0cwACBnRocnVzdAZ1aW50MzIFZHJhaW4GdWludDE2C25lYXJieV9pbmZvAAUKY2FuX3RyYXZlbARib29sB2N1cnJlbnQUZW50aXR5X2N1cnJlbnRfc3RhdGUJcHJvamVjdGVkFGVudGl0eV9jdXJyZW50X3N0YXRlCm1heF9lbmVyZ3kGdWludDE2B3N5c3RlbXMPbmVhcmJ5X3N5c3RlbVtdDW5lYXJieV9zeXN0ZW0ABAhkaXN0YW5jZQZ1aW50NjQLZW5lcmd5X2Nvc3QGdWludDY0C2ZsaWdodF90aW1lBnVpbnQzMghsb2NhdGlvbg1sb2NhdGlvbl9pbmZvDm5mdF9jYXJnb19pdGVtAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10IcXVhbnRpdHkGdWludDMyEG5mdF9pdGVtX3BheWxvYWQAAgRpdGVtDm5mdF9jYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRfc2NoZW1hX2RlZgACC3NjaGVtYV9uYW1lBG5hbWUGZmllbGRzDnNjaGVtYV9maWVsZFtdEG5mdF90ZW1wbGF0ZV9kZWYAAwdpdGVtX2lkBnVpbnQxNgtzY2hlbWFfbmFtZQRuYW1lC3RlbXBsYXRlX2lkBWludDMyDW5mdGNvbmZpZ19yb3cAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lCW5mdGltZ3VybAACBGl0ZW0KY2FyZ29faXRlbQhsb2NhdGlvbgxjb29yZGluYXRlcz8ObmZ0aW5mb19yZXN1bHQAAgdzY2hlbWFzEG5mdF9zY2hlbWFfZGVmW10JdGVtcGxhdGVzEm5mdF90ZW1wbGF0ZV9kZWZbXQZub3RpZnkAAQVldmVudAp0YXNrX2V2ZW50EW9yYWNsZV9jb25maWdfcm93AAEJdGhyZXNob2xkBXVpbnQ4Cm9yYWNsZV9yb3cAAQJpZARuYW1lDXBhY2tlZF9tb2R1bGUAAgdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQKcGxhY2VjYXJnbwADBW93bmVyBG5hbWUHaG9zdF9pZAZ1aW50NjQIYXNzZXRfaWQGdWludDY0C3BsYWNlZW50aXR5AAMFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQPdGFyZ2V0X25leHVzX2lkBnVpbnQ2NAtwbGF5ZXJfaW5mbwADBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwpwbGF5ZXJfcm93AAEFb3duZXIEbmFtZQ9wcm9qZWN0ZWRfc3RhdGUADgVvd25lcgRuYW1lC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQd1aW50MTY/CWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29fdmlld1tdCGh1bGxtYXNzB3VpbnQzMj8IY2FwYWNpdHkHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGdhdGhlcmVyD2dhdGhlcmVyX3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwhyZWNoYXJnZQABAmlkBnVpbnQ2NAxyZWNpcGVfaW5wdXQAAgdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIQcmVjaXBlX2l0ZW1faW5mbwACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMg9yZWNpcGVfcmVzcG9uc2UABw5vdXRwdXRfaXRlbV9pZAZ1aW50MTYLb3V0cHV0X21hc3MGdWludDMyBmlucHV0cw5yZWNpcGVfaW5wdXRbXQpzdGF0X3Nsb3RzFHN0YXRfc2xvdF9yZXNwb25zZVtdDWJsZW5kX3dlaWdodHMFYnl0ZXMLb3V0cHV0X2l0ZW0QcmVjaXBlX2l0ZW1faW5mbwtpbnB1dF9pdGVtcxJyZWNpcGVfaXRlbV9pbmZvW10OcmVjaXBlc19yZXN1bHQAAQdyZWNpcGVzEXJlY2lwZV9yZXNwb25zZVtdDHJlZnJzaGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQMcmVtb3Zlb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWULcmVzZXJ2ZV9yb3cABQJpZAZ1aW50NjQIY29vcmRfaWQGdWludDY0B3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIKbGFzdF9ibG9jaxRibG9ja190aW1lc3RhbXBfdHlwZQdyZXNvbHZlAAICaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DXJlc291cmNlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OA5yZXNvdXJjZV9zdGF0cwADBXN0YXQxBnVpbnQxNgVzdGF0MgZ1aW50MTYFc3RhdDMGdWludDE2EHJlc291cmNlc19yZXN1bHQAAQlyZXNvdXJjZXMPcmVzb3VyY2VfaW5mb1tdBnJldmVhbAADCW9yYWNsZV9pZARuYW1lBWVwb2NoBnVpbnQ2NAZyZXZlYWwLY2hlY2tzdW0yNTYKcmV2ZWFsX3JvdwAEAmlkBnVpbnQ2NAVlcG9jaAZ1aW50NjQJb3JhY2xlX2lkBG5hbWUGcmV2ZWFsC2NoZWNrc3VtMjU2CHJtbW9kdWxlAAMJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgKdGFyZ2V0X3JlZgpjYXJnb19yZWY/CHJtbmZ0Y2ZnAAEHaXRlbV9pZAZ1aW50MTYIc2NoZWR1bGUAAgdzdGFydGVkCnRpbWVfcG9pbnQFdGFza3MGdGFza1tdDHNjaGVtYV9maWVsZAACBG5hbWUGc3RyaW5nCmZpZWxkX3R5cGUGc3RyaW5nCXNldG5mdGNmZwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUMc2V0dGhyZXNob2xkAAEJdGhyZXNob2xkBXVpbnQ4C3NldHdyYXBjb3N0AAMJaXRlbV90eXBlBXVpbnQ4BHRpZXIFdWludDgGYW1vdW50BnVpbnQ2NApzZXR3cmFwZmVlAAIHZmVlX3BjdAZ1aW50MTYLZmVlX2FjY291bnQEbmFtZQhzbG90X2RlZgACBHR5cGUFdWludDgKb3V0cHV0X3BjdAZ1aW50MTYSc3RhdF9zbG90X3Jlc3BvbnNlAAEHc291cmNlcw1zdGF0X3NvdXJjZVtdC3N0YXRfc291cmNlAAILaW5wdXRfaW5kZXgFdWludDgQaW5wdXRfc3RhdF9pbmRleAV1aW50OAlzdGF0ZV9yb3cAAwdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNlZWQLY2hlY2tzdW0yNTYJc3Rvd2NhcmdvAAUFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAhjYXJnb19pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0CnN0b3dlbnRpdHkAAwVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0DHN0cmF0dW1fZGF0YQACB3N0cmF0dW0Mc3RyYXR1bV9pbmZvBXN0YXRzDnJlc291cmNlX3N0YXRzDHN0cmF0dW1faW5mbwAFB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CHJpY2huZXNzBnVpbnQxNgdyZXNlcnZlBnVpbnQzMgtyZXNlcnZlX21heAZ1aW50MzIRc3RyYXR1bV9yZW1haW5pbmcAAwdzdHJhdHVtBnVpbnQxNglyZW1haW5pbmcGdWludDMyCmxhc3RfYmxvY2sUYmxvY2tfdGltZXN0YW1wX3R5cGUEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10RdGVtcGxhdGVfbWV0YV9yb3cAAwdpdGVtX2lkBnVpbnQxNgRraW5kBG5hbWUNZGlzcGxheV9sYWJlbAZzdHJpbmcIdHJhbnNmZXIAAwlzb3VyY2VfaWQGdWludDY0B2Rlc3RfaWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQZ0cmF2ZWwABAJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wJdHlwZXNfcm93AAUCaWQGdWludDY0E2VudGl0eV9zdW1tYXJ5X3R5cGUOZW50aXR5X3N1bW1hcnkQZ2FtZV9jb25maWdfdHlwZQtnYW1lX2NvbmZpZxZzdHJhdHVtX3JlbWFpbmluZ190eXBlEXN0cmF0dW1fcmVtYWluaW5nFW5mdF9pdGVtX3BheWxvYWRfdHlwZRBuZnRfaXRlbV9wYXlsb2FkCHVuZGVwbG95AAIHaG9zdF9pZAZ1aW50NjQJdGFyZ2V0X2lkBnVpbnQ2NAR3YXJwAAMCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAA53cmFwY29uZmlnX3JvdwACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUMd3JhcGNvc3Rfcm93AAMJaXRlbV90eXBlBXVpbnQ4BHRpZXIFdWludDgGYW1vdW50BnVpbnQ2NFAAAFBRJypTMglhZGRtb2R1bGXHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRtb2R1bGUKc3VtbWFyeTogJ0luc3RhbGwgYSBtb2R1bGUgaW50byBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbGwgYSBtb2R1bGUgZnJvbSBjYXJnbyBpbnRvIGEgbW9kdWxlIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIHR5cGUgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIHRhcmdldCBzbG90IHR5cGUuIFRoZSBtb2R1bGUgaXRlbSBpcyByZW1vdmVkIGZyb20gY2FyZ28gdXBvbiBpbnN0YWxsYXRpb24uAAAAWHc1UzIIYWRkbmV4dXOnAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRuZXh1cwpzdW1tYXJ5OiAnQWRkIGEgbmV4dXMgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNyZWF0ZSBhIG5ldyBuZXh1cyBlbnRpdHkgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzLiBOZXh1c2VzIGFyZSBvd25lZCBieSB0aGUgY29udHJhY3QgYW5kIHNlcnZlIGFzIGZpeGVkIGdhdGhlcmluZyBwb2ludHMgd2hlcmUgcGxheWVycyBjYW4gd3JhcCwgdW53cmFwLCBkZXBsb3ksIGFuZCBvdGhlcndpc2UgaW50ZXJhY3Qgd2l0aCBORlQtYmFja2VkIGFzc2V0cy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAUBGZS1MyCWFkZG9yYWNsZQAAAAAAgDRVPAVibGVuZPwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJsZW5kCnN1bW1hcnk6ICdCbGVuZCBjYXJnbyBzdGFja3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbWJpbmUgbXVsdGlwbGUgY2FyZ28gc3RhY2tzIG9mIHRoZSBzYW1lIGl0ZW0gdHlwZSBpbnRvIGEgc2luZ2xlIHN0YWNrIHdpdGggbmV3IGJsZW5kZWQgc3RhdHMuIEFsbCBpbnB1dCBzdGFja3MgbXVzdCBzaGFyZSB0aGUgc2FtZSBpdGVtIGlkLiBUaGUgb3V0cHV0IHN0YWNrIGhhcyB0aGUgY29tYmluZWQgcXVhbnRpdHkgb2YgYWxsIGlucHV0cy4AAMg01hSdPglidWlsZHBsb3QAAAAAAESFpkEGY2FuY2VswgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQuAADINFbpTEQJY2xhaW1wbG90AAAAqBvfaVRECWNsZWFucnN2cOwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFucnN2cApzdW1tYXJ5OiAnQ2xlYW4gdXAgcGFzdCBlcG9jaCByZXNlcnZlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXJhc2UgcmVzZXJ2ZSB0YWJsZSByb3dzIGZyb20gYSBwYXN0IGVwb2NoLiBDYW5ub3QgY2xlYW4gdGhlIGN1cnJlbnQgb3IgZnV0dXJlIGVwb2Nocy4gVGhlIG1heF9yb3dzIHBhcmFtZXRlciBjYXBzIHRoZSBudW1iZXIgb2Ygcm93cyBlcmFzZWQgcGVyIGNhbGwgdG8gbGltaXQgQ1BVIHVzYWdlLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTsAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uAABgNDK3JkUJY29uZmlnbG9n3QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29uZmlnbG9nCnN1bW1hcnk6ICdMb2cgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBsb2dzIHRoZSBjdXJyZW50IGdhbWUgY29uZmlndXJhdGlvbi4gQ2FsbGVkIGlubGluZSBhZnRlciBpbml0aWFsaXphdGlvbiB0byBicm9hZGNhc3QgY29uZmlnIHZpYSBhY3Rpb24gdHJhY2VzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAAAAAIC8zEUFY3JhZnTIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjcmFmdApzdW1tYXJ5OiAnQ3JhZnQgaXRlbXMgZnJvbSBhIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmb3JtIGNhcmdvIGl0ZW1zIGludG8gYSBuZXcgaXRlbSB1c2luZyBhIHJlY2lwZS4gVGhlIGVudGl0eSBtdXN0IGhhdmUgYSBjcmFmdGVyIG1vZHVsZSBpbnN0YWxsZWQuIENvbnN1bWVzIGVuZXJneSBhbmQgc2NoZWR1bGVzIGEgY3JhZnRpbmcgdGFzayB3aXRoIGR1cmF0aW9uIGJhc2VkIG9uIHRvdGFsIGlucHV0IG1hc3MgYW5kIGNyYWZ0ZXIgc3BlZWQuIElucHV0IHF1YW50aXRpZXMgbXVzdCBleGFjdGx5IG1hdGNoIHRoZSByZWNpcGUgcmVxdWlyZW1lbnRzLgAAAA27SKVKCGRlbW9saXNo8QMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVtb2xpc2gKc3VtbWFyeTogJ0RlbW9saXNoIGEgc3RhdGlvbmFyeSBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlY29tbWlzc2lvbiBhbiBlbnRpdHksIGVyYXNpbmcgaXQgZnJvbSB0aGUgZ2FtZS4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUsIGhhdmUgZW1wdHkgY2FyZ28sIGFuZCBoYXZlIG5vIGluc3RhbGxlZCBtb2R1bGVzIChyZW1vdmUgZWFjaCB2aWEgcm1tb2R1bGUgZmlyc3QpLiBTY2hlZHVsZXMgYSBkZW1vbGlzaCB0YXNrIHRoYXQgZXJhc2VzIHRoZSBlbnRpdHkgb24gcmVzb2x1dGlvbi4gT25seSB2YWxpZCBmb3IgZW50aXRpZXMgdGhhdCBjYW5ub3QgbW92ZTsgdXNlIHVuZGVwbG95IG9yIHdyYXBlbnRpdHkgZm9yIHRoZSByZXN0LgAAAAB4GqtKBmRlcGxveewCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlcGxveQpzdW1tYXJ5OiAnRGVwbG95IGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVW5wYWNrIGEgcGFja2VkIGVudGl0eSBpdGVtIChwYWNrZWQgc2hpcCBvciBwYWNrZWQgY29udGFpbmVyKSBmcm9tIGNhcmdvLCBzY2hlZHVsaW5nIGEgZGVwbG95IHRhc2sgdGhhdCBjcmVhdGVzIHRoZSBuZXcgZW50aXR5IGF0IHRoZSBkZXBsb3lpbmcgZW50aXR5J3MgbG9jYXRpb24gdXBvbiByZXNvbHV0aW9uLgCAzy5PhbBKCmRlc2NlbnRpdHnJAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXNjZW50aXR5CnN1bW1hcnk6ICdEZXNjcmliZSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gc3RyaW5nIGZvciBhIHBhY2tlZCBlbnRpdHksIGRlcml2ZWQgZnJvbSB0aGUgZW50aXR5IGl0ZW0gaWQsIGh1bGwgc3RhdHMsIGFuZCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgbW9kdWxlIGl0ZW0gaWRzIGFuZCBzdGF0cy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgTkZUIHJlbmRlcmVycyB0byBkaXNwbGF5IHBhY2tlZCBlbnRpdGllcy4AAAAAqHjMVAZlbmFibGXdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQugLGRlF2DulsMZml4Y2FyZ29tYXNzkAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZml4Y2FyZ29tYXNzCnN1bW1hcnk6ICdERUJVRzogcmVjb21wdXRlIGVudGl0eSBjYXJnbyBtYXNzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZWNvbXB1dGUgYW5kIHJld3JpdGUgYW4gZW50aXR5J3MgY2FyZ28gbWFzcyBmcm9tIGl0cyBjdXJyZW50IGNhcmdvLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuIEF2YWlsYWJsZSBmb3IgcmVwYWlyaW5nIGRyaWZ0IGJldHdlZW4gY2FjaGVkIGNhcmdvIG1hc3MgYW5kIHRoZSB0cnVlIG1hc3MgZGVyaXZlZCBmcm9tIGNhcmdvIHJvd3MuAKJRW12FLl0LZm9yY2VyZXZlYWy+BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3JjZXJldmVhbApzdW1tYXJ5OiAnREVCVUc6IGZvcmNlLWZpbmFsaXplIGFuIGVwb2NoIGZyb20gZXhpc3RpbmcgcmV2ZWFscycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRmluYWxpemUgYSBzdHVjayBlcG9jaCBieSBjb21wdXRpbmcgaXRzIHNlZWQgZnJvbSB0aGUgcmV2ZWFscyBhbHJlYWR5IHN1Ym1pdHRlZCwgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgY29uZmlndXJlZCB0aHJlc2hvbGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gVGhlIHNlZWQgaXMgZGVyaXZlZCBzb2xlbHkgZnJvbSB0aGUgcHJlLWltYWdlLWxvY2tlZCByZXZlYWxzIGFscmVhZHkgb24gY2hhaW47IG5vIGFkbWluLXN1cHBsaWVkIGVudHJvcHkgaXMgaW50cm9kdWNlZC4gVXNlZCB0byB1bmJsb2NrIGVwb2NoIHByb2dyZXNzaW9uIHdoZW4gdGhlIHRocmVzaG9sZCBjYW5ub3Qgb3RoZXJ3aXNlIGJlIG1ldC4AAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnygItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Y29uZmlnCnN1bW1hcnk6ICdHZXQgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBnYW1lIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGRlZmF1bHQgZW50aXR5IHN0YXRzIGZvciB3YXJlaG91c2VzIGFuZCBjb250YWluZXJzLCBhbmQgdGhlIGZ1bGwgaXRlbSBkZWZpbml0aW9ucyB0YWJsZS4AQHaYVpWyYgpnZXRkZXBvc2l0AABUPI65qLJiC2dldGVsaWdpYmxlyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZWxpZ2libGUKc3VtbWFyeTogJ0dldCBlbGlnaWJsZSByZXNvdXJjZSBpdGVtIElEcyBhdCBhIGxvY2F0aW9uIGFuZCBzdHJhdHVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbGlzdCBvZiByZXNvdXJjZSBpdGVtIElEcyBlbGlnaWJsZSB0byBiZSBnYXRoZXJlZCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgYW5kIHN0cmF0dW0gZGVwdGguIEl0ZW1zIGFyZSBnYXRlZCBieSBib3RoIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIHByb2ZpbGUgYW5kIHRoZSBkZXB0aCB0aHJlc2hvbGQgZm9yIGVhY2ggdGllci4AAMAR5amyYglnZXRlbnRjbHOMAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRjbHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgY2xhc3MgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBlbnRpdHkgY2xhc3MgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoT3JiaXRhbFZlc3NlbCwgUGxhbmV0YXJ5U3RydWN0dXJlKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgZW50aXR5IGNsYXNzIGlkZW50aWZpZXJzLgCwctnlqbJiC2dldGVudGl0aWVzpAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXRpZXMKc3VtbWFyeTogJ0dldCBhbGwgZW50aXRpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGZ1bGwgZW50aXR5IGluZm8gZm9yIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllci4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAADw2eWpsmIJZ2V0ZW50aXR5ogItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXR5CnN1bW1hcnk6ICdHZXQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGFuIGVudGl0eSBpbmNsdWRpbmcgaWRlbnRpdHksIGNhcmdvLCBzY2hlZHVsZSBzdGF0ZSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzLgBMNkmq7LJiC2dldGl0ZW1kYXRhqAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbWRhdGEKc3VtbWFyeTogJ0dldCBmdWxsIGl0ZW0gY2F0YWxvZycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGNvbXBsZXRlIGl0ZW0gY2F0YWxvZyBhcyB0aGUgY29udHJhY3Qgc2VlcyBpdCwgaW5jbHVkaW5nIHR5cGUsIHN1YnR5cGUsIHRpZXIsIG1hc3MsIGFuZCBvdGhlciBzdGF0aWMgbWV0YWRhdGEuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIGNsaWVudHMgdG8gbWlycm9yIHRoZSBjb250cmFjdCdzIGl0ZW0gZGVmaW5pdGlvbnMuAABOTqrssmIKZ2V0aXRlbWlkc4YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1pZHMKc3VtbWFyeTogJ0dldCBpdGVtIGlkIHRvIG5hbWUgbWFwcGluZ3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIG1hcHBpbmcgb2YgaXRlbSBpZCBjb25zdGFudHMgdG8gdGhlaXIgY2Fub25pY2FsIHN0cmluZyBuYW1lcy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byByZXNvbHZlIG51bWVyaWMgaXRlbSBpZHMgdG8gaHVtYW4tcmVhZGFibGUgaWRlbnRpZmllcnMuAAAAWKrssmIIZ2V0aXRlbXOaAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtcwpzdW1tYXJ5OiAnR2V0IGFsbCBhdmFpbGFibGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgYSBsaXN0IG9mIGFsbCBpdGVtcyBpbiB0aGUgZ2FtZSBpbmNsdWRpbmcgdGhlaXIgaWQsIGJhc2UgcHJpY2UsIGFuZCBtYXNzLgBU9Vmq7LJiC2dldGl0ZW10eXBlAIBV9Vmq7LJiDGdldGl0ZW10eXBlc4gDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW10eXBlcwpzdW1tYXJ5OiAnR2V0IGl0ZW0gdHlwZSBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGl0ZW0gdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChyZXNvdXJjZSwgY29tcG9uZW50LCBtb2R1bGUsIGVudGl0eSkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIGl0ZW0gdHlwZSBpZGVudGlmaWVycy4ATFYyTQezYgtnZXRraW5kbWV0YfgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGtpbmRtZXRhCnN1bW1hcnk6ICdHZXQgZW50aXR5IGtpbmQgbWV0YWRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBlbnRpdHkga2luZCByZWdpc3RyeSBhbmQgdGVtcGxhdGUgcmVnaXN0cnksIGluY2x1ZGluZyBlYWNoIGtpbmQncyBjbGFzc2lmaWNhdGlvbiwgY2FwYWJpbGl0eSBmbGFncywgWi1jb29yZGluYXRlLCBhbmQgZGVmYXVsdCBsYWJlbCwgcGx1cyB0aGUgbWFwcGluZyBvZiBlbnRpdHkgaXRlbSBpZHMgdG8ga2luZHMgd2l0aCBkaXNwbGF5IGxhYmVscy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBpbnRlcnByZXQgZW50aXR5IGtpbmRzIGFuZCBjYXBhYmlsaXRpZXMuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AsKo+JyqzYgtnZXRtb2R0eXBlc9YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHR5cGVzCnN1bW1hcnk6ICdHZXQgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChhbnksIGVuZ2luZSwgZ2VuZXJhdG9yLCBnYXRoZXJlciwgbG9hZGVyLCB3YXJwLCBjcmFmdGVyLCBsYXVuY2hlciwgc3RvcmFnZSwgaGF1bGVyKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgbW9kdWxlIHN1YnR5cGUgaWRlbnRpZmllcnMgYW5kIHNsb3QgY29tcGF0aWJpbGl0eS4AAFZRJyqzYgpnZXRtb2R1bGVzgAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdWxlcwpzdW1tYXJ5OiAnR2V0IGFsbCBtb2R1bGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyBtb2R1bGVzLCBpbmNsdWRpbmcgZWFjaCBtb2R1bGUncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGluc3RhbGxhYmxlIGVxdWlwbWVudC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AgMLm5DWzYgpnZXRuZnRiYXNlAAAAXdPlNbNiCmdldG5mdGluZm/wAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZnRpbmZvCnN1bW1hcnk6ICdHZXQgTkZUIHNjaGVtYSBhbmQgdGVtcGxhdGUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIEF0b21pY0Fzc2V0cyBzY2hlbWFzIGFuZCB0ZW1wbGF0ZXMgdGhlIGdhbWUgY29udHJhY3QgZXhwZWN0cywgcGx1cyB0aGUgY3VycmVudCBgaXRlbV9pZCDihpIgKHRlbXBsYXRlX2lkLCBzY2hlbWFfbmFtZSlgIG1hcHBpbmcgc3RvcmVkIGluIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBzeW5jIGF0b21pY2Fzc2V0cyBzdGF0ZSB3aXRoIHRoZSBjb250cmFjdC4AALjKm1izYglnZXRwbGF5ZXL9Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwbGF5ZXIKc3VtbWFyeTogJ0dldCBwbGF5ZXIgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBwbGF5ZXIgaW5jbHVkaW5nIGJhbGFuY2UsIGRlYnQsIG5ldHdvcnRoLCBlbnRpdHkgY291bnRzLCBhbmQgcHJpY2luZyBmb3IgbmV4dCBwdXJjaGFzZXMuIFJldHVybnMgaXNfcGxheWVyPWZhbHNlIGlmIHRoZSBhY2NvdW50IGhhcyBub3Qgam9pbmVkIHRoZSBnYW1lLqCyyfjRW7NiDGdldHByb2pzdGF0ZcsDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHByb2pzdGF0ZQpzdW1tYXJ5OiAnR2V0IHByb2plY3RlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBwcm9qZWN0ZWQgc3RhdGUgb2YgYW4gZW50aXR5IGFmdGVyIGFwcGx5aW5nIHRoZSBuZXh0IHRhc2tfY291bnQgc2NoZWR1bGVkIHRhc2tzIChvciBhbGwgdGFza3MgaWYgdGFza19jb3VudCBpcyBvbWl0dGVkKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBwcmV2aWV3IHRoZSByZXN1bHQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUgd2l0aG91dCByZXNvbHZpbmcgb24tY2hhaW4uAABQ1SF1s2IJZ2V0cmVjaXBlpgMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVjaXBlCnN1bW1hcnk6ICdHZXQgYSBzaW5nbGUgY3JhZnRpbmcgcmVjaXBlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgcmVjaXBlIHdob3NlIG91dHB1dCBtYXRjaGVzIHRoZSBnaXZlbiBpdGVtIGlkLCBpbmNsdWRpbmcgaXRzIGlucHV0cywgYmxlbmQgd2VpZ2h0cywgc3RhdCBzbG90cywgYW5kIHJlc29sdmVkIGl0ZW0gbWFzcyBpbmZvLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRpc3BsYXkgY3JhZnRpbmcgcmVxdWlyZW1lbnRzLgAAVtUhdbNiCmdldHJlY2lwZXOsAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGVzCnN1bW1hcnk6ICdMaXN0IGNyYWZ0aW5nIHJlY2lwZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIGEgcGFnaW5hdGVkIGxpc3Qgb2YgY3JhZnRpbmcgcmVjaXBlcyBzdGFydGluZyBhdCB0aGUgcHJvdmlkZWQgbG93ZXIgYm91bmQgb3V0cHV0IGl0ZW0gaWQsIHVwIHRvIHRoZSBzcGVjaWZpZWQgbGltaXQuIEVhY2ggZW50cnkgaW5jbHVkZXMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uAADOBmF1s2IKZ2V0cmVzY2F0c54DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2NhdHMKc3VtbWFyeTogJ0dldCByZXNvdXJjZSBjYXRlZ29yeSBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKG9yZSwgZ2FzLCByZWdvbGl0aCwgYmlvbWFzcywgY3J5c3RhbCkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIHJlc291cmNlIHN1YnR5cGUgaWRlbnRpZmllcnMuALDaV2F1s2ILZ2V0cmVzZXJ2ZXP8Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNlcnZlcwpzdW1tYXJ5OiAnR2V0IGN1cnJlbnQgcmVzZXJ2ZSBtb2RpZmljYXRpb25zIGF0IGEgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGNoYWluJ3MgbW9kaWZpY2F0aW9ucyB0byBkZXJpdmVkIHJlc2VydmVzIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlIGZvciB0aGUgY3VycmVudCBlcG9jaCBhcyBhIGxpc3Qgb2Yge3N0cmF0dW0sIHJlbWFpbmluZ30gcGFpcnMuIFN0cmF0YSBub3QgcHJlc2VudCBpbiB0aGUgcmVzcG9uc2UgdXNlIHRoZWlyIGRlcml2ZWQgaW5pdGlhbCByZXNlcnZlLiBDb21wb3NlIHdpdGggU0RLIGRlcml2YXRpb24gdG8gZ2V0IHRoZSBmdWxsIHBlci1sb2NhdGlvbiBzdHJhdGEgdmlldy6AFbqaYnWzYgxnZXRyZXNvdXJjZXOHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNvdXJjZXMKc3VtbWFyeTogJ0dldCBhbGwgcmVzb3VyY2UgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyByZXNvdXJjZXMsIGluY2x1ZGluZyBlYWNoIHJlc291cmNlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBnYXRoZXJhYmxlIG1hdGVyaWFscy4AAAA404izYghnZXRzbG90c7sDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHNsb3RzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHNsb3QgbGF5b3V0cycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIG1vZHVsZSBzbG90IGxheW91dCBmb3IgZXZlcnkgZW50aXR5IGl0ZW0gdHlwZSwgbGlzdGluZyB0aGUgb3JkZXJlZCBzbG90IHR5cGVzIGF2YWlsYWJsZSBmb3IgbW9kdWxlIGluc3RhbGxhdGlvbi4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZXRlcm1pbmUgd2hpY2ggbW9kdWxlIHR5cGVzIGFyZSBjb21wYXRpYmxlIHdpdGggYSBnaXZlbiBlbnRpdHkgaHVsbC4AgNTZ3IyzYgpnZXRzdHJhdHVt0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3RyYXR1bQpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIHN0cmF0dW0gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyByZXNvdXJjZSBzdHJhdHVtIGRhdGEgZm9yIGEgc3BlY2lmaWMgZGVwdGggbGF5ZXIgYXQgYSBjb29yZGluYXRlLCBpbmNsdWRpbmcgdGhlIHN0cmF0dW0gc2VlZCBpbmZvIGFuZCBkZXJpdmVkIHJlc291cmNlIHN0YXRzLoCVu0ZKjbNiDGdldHN1bW1hcmllc+gCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN1bW1hcmllcwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdW1tYXJpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGxpZ2h0d2VpZ2h0IHN1bW1hcmllcyBvZiBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIgaW5jbHVkaW5nIHR5cGUsIGlkLCBvd25lciwgbmFtZSwgbG9jYXRpb24sIGFuZCBpZGxlIHN0YXR1cy4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28A4LPLU+VLq3QMaW1wb3J0ZW50aXR5AACqppflS6t0C2ltcG9ydGdyb3VwAHCVN7HmS6t0DGltcG9ydHBsYXllcgC6r8Lq5kurdA1pbXBvcnRyZXNlcnZlAABUNhnnS6t0C2ltcG9ydHN0YXRlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAEDtSLG6B3Jlc29sdmXQAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuAAAAAESjtroGcmV2ZWFsAAAAACrqRKW8CHJtbW9kdWxlvAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1tb2R1bGUKc3VtbWFyeTogJ1JlbW92ZSBhIG1vZHVsZSBmcm9tIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIGFuIGluc3RhbGxlZCBtb2R1bGUgZnJvbSBhIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIGlzIHJldHVybmVkIHRvIGNhcmdvLiBGYWlscyBpZiB0aGUgZW50aXR5IGRvZXMgbm90IGhhdmUgZW5vdWdoIGNhcmdvIGNhcGFjaXR5IHRvIGhvbGQgdGhlIHJldHVybmVkIG1vZHVsZS4AAABsobymvAhybW5mdGNmZ6EDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbmZ0Y2ZnCnN1bW1hcnk6ICdSZW1vdmUgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSB0aGUgQXRvbWljQXNzZXRzIHRlbXBsYXRlIG1hcHBpbmcgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbSBpZCBmcm9tIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gQWZ0ZXIgcmVtb3ZhbCB0aGUgaXRlbSBjYW4gbm8gbG9uZ2VyIGJlIHdyYXBwZWQgb3IgdW53cmFwcGVkIHVudGlsIGEgbmV3IG1hcHBpbmcgaXMgc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAABgC+U1s8IJc2V0bmZ0Y2ZnxAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2V0bmZ0Y2ZnCnN1bW1hcnk6ICdTZXQgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkJpbmQgYW4gaXRlbSBpZCB0byBhbiBBdG9taWNBc3NldHMgdGVtcGxhdGUgaWQgYW5kIHNjaGVtYSBuYW1lLiBVc2VkIHRvIGNvbmZpZ3VyZSBob3cgdGhlIGNvbnRyYWN0IG1pbnRzIGFuZCByZWNvZ25pemVzIE5GVHMgZm9yIGEgZ2l2ZW4gaXRlbS4gSW5zZXJ0cyBhIG5ldyBtYXBwaW5nIGlmIG9uZSBkb2VzIG5vdCBleGlzdCwgb3IgdXBkYXRlcyB0aGUgZXhpc3RpbmcgbWFwcGluZy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LpAibVjdlrPCDHNldHRocmVzaG9sZAAAMqaomsuzwgtzZXR3cmFwY29zdAAAgFKrmsuzwgpzZXR3cmFwZmVlAAAAoOwaxGnGCXN0b3djYXJnb9UFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3djYXJnbwpzdW1tYXJ5OiAnUmVzZXJ2ZSBhIGNhcmdvIHN0YWNrIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGFuZCBjb25zdW1lcyBhIGNhcmdvIHN0YWNrIG9uIGEgbGl2ZSBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBWYWxpZGF0ZXMgZW50aXR5IG93bmVyc2hpcCwgbG9hZGVycywgYW5kIHByZXNlbmNlIGF0IHRoZSBuZXh1cywgYW5kIGNvbmZpcm1zIHRoZSB0YXJnZXQgY2FyZ28gc3RhY2sgaXMgYXZhaWxhYmxlIGFuZCBub3QgcmVzZXJ2ZWQgYnkgYSBwZW5kaW5nIHRhc2suIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIE5GVCdzIGltbXV0YWJsZSBkYXRhLCBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QgYmVmb3JlIGNvbnN1bWluZyB0aGUgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgM8uT8VpxgpzdG93ZW50aXR5mQUtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Rvd2VudGl0eQpzdW1tYXJ5OiAnUmVzZXJ2ZSBhbiBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gUmVzZXJ2ZXMgYSB3aG9sZSBlbnRpdHkgKHNoaXAsIGNvbnRhaW5lciwgb3IgcGxhbmV0YXJ5IHN0cnVjdHVyZSkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvIGFuZCBubyBzY2hlZHVsZWQgdGFza3MuIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIGVudGl0eSBORlQncyBpbW11dGFibGUgZGF0YSwgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QsIGFuZCBlcmFzZXMgdGhlIGVudGl0eSBmcm9tIHRoZSB3b3JsZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAFctPM3NCHRyYW5zZmVyyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhbnNmZXIKc3VtbWFyeTogJ1RyYW5zZmVyIGNhcmdvIGJldHdlZW4gZW50aXRpZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZmVyIGNhcmdvIGJldHdlZW4gdHdvIGVudGl0aWVzIGF0IHRoZSBzYW1lIGxvY2F0aW9uLiBCb3RoIGVudGl0aWVzIG11c3QgYmUgb3duZWQgYnkgdGhlIGNhbGxlciBhbmQgYXQgbGVhc3Qgb25lIG11c3QgaGF2ZSBsb2FkZXJzLiBDcmVhdGVzIGxvYWQgYW5kIHVubG9hZCB0YXNrcyBvbiBib3RoIGVudGl0aWVzIHdpdGggZHVyYXRpb24gYmFzZWQgb24gY29tYmluZWQgbG9hZGVyIGNhcGFjaXR5IGFuZCBaLWRpc3RhbmNlIGJldHdlZW4gdGhlbS4AAAAARLXNzQZ0cmF2ZWz7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYW4gZW50aXR5IGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uAAAAnsaq0tQIdW5kZXBsb3nnBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB1bmRlcGxveQpzdW1tYXJ5OiAnUGFjayBhIGRlcGxveWVkIGVudGl0eSBpbnRvIGEgaG9zdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUGFjayBhbiBlbnRpdHkgaW50byBhIGhvc3QgZW50aXR5J3MgY2FyZ28gYXMgYSBwYWNrZWQtZW50aXR5IGl0ZW0uIEhvc3QgYW5kIHRhcmdldCBtdXN0IHNoYXJlIHRoZSBzYW1lIG93bmVyIGFuZCBjb29yZGluYXRlcywgdGhlIGhvc3QgbXVzdCBoYXZlIGxvYWRlcnMgYW5kIGVub3VnaCBjYXBhY2l0eSBmb3IgdGhlIHBhY2tlZCBtYXNzLCBhbmQgdGhlIHRhcmdldCBtdXN0IGJlIGlkbGUgd2l0aCBlbXB0eSBjYXJnby4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBhbmQgc2NoZWR1bGVzIHVuZGVwbG95IHRhc2tzIG9uIGJvdGggZW50aXRpZXM7IG9uIHJlc29sdXRpb24gdGhlIHRhcmdldCBpcyBlcmFzZWQgYW5kIHRoZSBwYWNrZWQgZW50aXR5IGlzIGFkZGVkIHRvIHRoZSBob3N0J3MgY2FyZ28uIEludmVyc2Ugb2YgZGVwbG95LgAAAAAAUK/hBHdhcnCfAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3YXJwCnN1bW1hcnk6ICdXYXJwIHRvIGEgZGVzdGluYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbnRseSB0ZWxlcG9ydCBhbiBlbnRpdHkgdG8gYSBkZXN0aW5hdGlvbiBzeXN0ZW0uIFJlcXVpcmVzIHdhcnAgY2FwYWJpbGl0eSwgZnVsbCBlbmVyZ3ksIGVtcHR5IGNhcmdvLCBhbmQgYW4gZW1wdHkgc2NoZWR1bGUuIFRoZSBkZXN0aW5hdGlvbiBtdXN0IGJlIGEgdmFsaWQgc3lzdGVtIHdpdGhpbiB3YXJwIHJhbmdlLiBSZXNvbHZlcyBpbW1lZGlhdGVseSBhcyBhIHplcm8tZHVyYXRpb24gdGFzay4AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tEAAAAAAAyq5BA2k2NAAACWNhcmdvX3JvdwAAAABkJyVFA2k2NAAACmNvbW1pdF9yb3cAAAAA+OzyVANpNjQAAAplbnRpdHlfcm93AKqml/ns8lQDaTY0AAAPZW50aXR5Z3JvdXBfcm93AACwCvvs8lQDaTY0AAAOZW50aXR5X3NlcV9yb3cAAAAAgIZoVQNpNjQAAAllcG9jaF9yb3cAAGBuTYrymgNpNjQAAA1uZnRjb25maWdfcm93AABgC6mIzKUDaTY0AAARb3JhY2xlX2NvbmZpZ19yb3cAAAAAq4jMpQNpNjQAAApvcmFjbGVfcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAEDtq7C6A2k2NAAAC3Jlc2VydmVfcm93AAAAAESjtroDaTY0AAAKcmV2ZWFsX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwAAAAAArKrPA2k2NAAACXR5cGVzX3JvdwAAc2tSVM3lA2k2NAAADndyYXBjb25maWdfcm93AAAAGVNUzeUDaTY0AAAMd3JhcGNvc3Rfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAADMAAMg01hSdPgx0YXNrX3Jlc3VsdHMAAAAARIWmQQ5jYW5jZWxfcmVzdWx0cwAAyDRW6UxEDHRhc2tfcmVzdWx0cwAAAACAvMxFDHRhc2tfcmVzdWx0cwAAAA27SKVKDHRhc2tfcmVzdWx0cwAAAAB4GqtKDHRhc2tfcmVzdWx0cwCAzy5PhbBKBnN0cmluZwAAAABc1bJhDHRhc2tfcmVzdWx0cwAAYG5NirJiC2dhbWVfY29uZmlnAEB2mFaVsmIOZXh0ZW5kZWRfYXNzZXQAVDyOuaiyYgh1aW50MTZbXQAAwBHlqbJiC2VudW1fcmVzdWx0ALBy2eWpsmINZW50aXR5X2luZm9bXQAA8NnlqbJiC2VudGl0eV9pbmZvAEw2SarssmIPaXRlbWRhdGFfcmVzdWx0AABOTqrssmIPaXRlbV9pZHNfcmVzdWx0AAAAWKrssmIKaXRlbXNfaW5mbwBU9Vmq7LJiBXVpbnQ4gFX1WarssmILZW51bV9yZXN1bHQATFYyTQezYhBraW5kX21ldGFfcmVzdWx0ACZ12SAas2INbG9jYXRpb25faW5mbwCAySYhGrNiEGxvY2F0aW9uX2Rlcml2ZWQAsKo+JyqzYgtlbnVtX3Jlc3VsdAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AgMLm5DWzYghzdHJpbmdbXQAAXdPlNbNiDm5mdGluZm9fcmVzdWx0AAC4yptYs2ILcGxheWVyX2luZm+gssn40VuzYg9wcm9qZWN0ZWRfc3RhdGUAAFDVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAVtUhdbNiDnJlY2lwZXNfcmVzdWx0AADOBmF1s2ILZW51bV9yZXN1bHQAsNpXYXWzYhNzdHJhdHVtX3JlbWFpbmluZ1tdgBW6mmJ1s2IQcmVzb3VyY2VzX3Jlc3VsdAAAADjTiLNiFWVudGl0eV9sYXlvdXRzX3Jlc3VsdACA1NncjLNiDHN0cmF0dW1fZGF0YYCVu0ZKjbNiEGVudGl0eV9zdW1tYXJ5W10Aotrm5qrpZQx0YXNrX3Jlc3VsdHMAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyAACIVzPp8poGc3RyaW5nAABl1yCFTKwMdGFza19yZXN1bHRzAHx2eSqFTKwMdGFza19yZXN1bHRzAAAAil3TkLoMdGFza19yZXN1bHRzAAAAQO1IsboPcmVzb2x2ZV9yZXN1bHRzAACg7BrEacYMdGFza19yZXN1bHRzAIDPLk/FacYMdGFza19yZXN1bHRzAAAAVy08zc0MdGFza19yZXN1bHRzAAAAAES1zc0MdGFza19yZXN1bHRzAAAAnsaq0tQMdGFza19yZXN1bHRzAAAAAABQr+EMdGFza19yZXN1bHRz');
417
+ ABI.from(abiBlob);
418
+ var Types;
419
+ (function (Types) {
420
+ let packed_module = class packed_module extends Struct {
421
+ };
422
+ __decorate([
423
+ Struct.field(UInt16)
424
+ ], packed_module.prototype, "item_id", void 0);
425
+ __decorate([
426
+ Struct.field(UInt64)
427
+ ], packed_module.prototype, "stats", void 0);
428
+ packed_module = __decorate([
429
+ Struct.type('packed_module')
430
+ ], packed_module);
431
+ Types.packed_module = packed_module;
432
+ let module_entry = class module_entry extends Struct {
433
+ };
434
+ __decorate([
435
+ Struct.field(UInt8)
436
+ ], module_entry.prototype, "type", void 0);
437
+ __decorate([
438
+ Struct.field(packed_module, { optional: true })
439
+ ], module_entry.prototype, "installed", void 0);
440
+ module_entry = __decorate([
441
+ Struct.type('module_entry')
442
+ ], module_entry);
443
+ Types.module_entry = module_entry;
444
+ let cargo_ref = class cargo_ref extends Struct {
445
+ };
446
+ __decorate([
447
+ Struct.field(UInt16)
448
+ ], cargo_ref.prototype, "item_id", void 0);
449
+ __decorate([
450
+ Struct.field(UInt64)
451
+ ], cargo_ref.prototype, "stats", void 0);
452
+ __decorate([
453
+ Struct.field(module_entry, { array: true })
454
+ ], cargo_ref.prototype, "modules", void 0);
455
+ __decorate([
456
+ Struct.field(UInt64, { optional: true })
457
+ ], cargo_ref.prototype, "entity_id", void 0);
458
+ cargo_ref = __decorate([
459
+ Struct.type('cargo_ref')
460
+ ], cargo_ref);
461
+ Types.cargo_ref = cargo_ref;
462
+ let addmodule = class addmodule extends Struct {
463
+ };
464
+ __decorate([
465
+ Struct.field(UInt64)
466
+ ], addmodule.prototype, "entity_id", void 0);
467
+ __decorate([
468
+ Struct.field(UInt8)
469
+ ], addmodule.prototype, "module_index", void 0);
470
+ __decorate([
471
+ Struct.field(cargo_ref)
472
+ ], addmodule.prototype, "module_ref", void 0);
473
+ __decorate([
474
+ Struct.field(cargo_ref, { optional: true })
475
+ ], addmodule.prototype, "target_ref", void 0);
476
+ addmodule = __decorate([
477
+ Struct.type('addmodule')
478
+ ], addmodule);
479
+ Types.addmodule = addmodule;
480
+ let addnexus = class addnexus extends Struct {
481
+ };
482
+ __decorate([
483
+ Struct.field('string')
484
+ ], addnexus.prototype, "nexus_name", void 0);
485
+ __decorate([
486
+ Struct.field(Int64)
487
+ ], addnexus.prototype, "x", void 0);
488
+ __decorate([
489
+ Struct.field(Int64)
490
+ ], addnexus.prototype, "y", void 0);
491
+ addnexus = __decorate([
492
+ Struct.type('addnexus')
493
+ ], addnexus);
494
+ Types.addnexus = addnexus;
495
+ let addoracle = class addoracle extends Struct {
496
+ };
497
+ __decorate([
498
+ Struct.field(Name)
499
+ ], addoracle.prototype, "oracle_id", void 0);
500
+ addoracle = __decorate([
501
+ Struct.type('addoracle')
502
+ ], addoracle);
503
+ Types.addoracle = addoracle;
504
+ let cargo_item = class cargo_item extends Struct {
505
+ };
506
+ __decorate([
507
+ Struct.field(UInt16)
508
+ ], cargo_item.prototype, "item_id", void 0);
509
+ __decorate([
510
+ Struct.field(UInt64)
511
+ ], cargo_item.prototype, "stats", void 0);
512
+ __decorate([
513
+ Struct.field(module_entry, { array: true })
514
+ ], cargo_item.prototype, "modules", void 0);
515
+ __decorate([
516
+ Struct.field(UInt32)
517
+ ], cargo_item.prototype, "quantity", void 0);
518
+ __decorate([
519
+ Struct.field(UInt64, { optional: true })
520
+ ], cargo_item.prototype, "entity_id", void 0);
521
+ cargo_item = __decorate([
522
+ Struct.type('cargo_item')
523
+ ], cargo_item);
524
+ Types.cargo_item = cargo_item;
525
+ let blend = class blend extends Struct {
526
+ };
527
+ __decorate([
528
+ Struct.field(UInt64)
529
+ ], blend.prototype, "id", void 0);
530
+ __decorate([
531
+ Struct.field(cargo_item, { array: true })
532
+ ], blend.prototype, "inputs", void 0);
533
+ blend = __decorate([
534
+ Struct.type('blend')
535
+ ], blend);
536
+ Types.blend = blend;
537
+ let buildplot = class buildplot extends Struct {
538
+ };
539
+ __decorate([
540
+ Struct.field(UInt64)
541
+ ], buildplot.prototype, "builder_id", void 0);
542
+ __decorate([
543
+ Struct.field(UInt64)
544
+ ], buildplot.prototype, "plot_id", void 0);
545
+ buildplot = __decorate([
546
+ Struct.type('buildplot')
547
+ ], buildplot);
548
+ Types.buildplot = buildplot;
549
+ let cancel = class cancel extends Struct {
550
+ };
551
+ __decorate([
552
+ Struct.field(UInt64)
553
+ ], cancel.prototype, "id", void 0);
554
+ __decorate([
555
+ Struct.field(UInt64)
556
+ ], cancel.prototype, "count", void 0);
557
+ cancel = __decorate([
558
+ Struct.type('cancel')
559
+ ], cancel);
560
+ Types.cancel = cancel;
561
+ let entity_ref = class entity_ref extends Struct {
562
+ };
563
+ __decorate([
564
+ Struct.field(Name)
565
+ ], entity_ref.prototype, "entity_type", void 0);
566
+ __decorate([
567
+ Struct.field(UInt64)
568
+ ], entity_ref.prototype, "entity_id", void 0);
569
+ entity_ref = __decorate([
570
+ Struct.type('entity_ref')
571
+ ], entity_ref);
572
+ Types.entity_ref = entity_ref;
573
+ let cancel_results = class cancel_results extends Struct {
574
+ };
575
+ __decorate([
576
+ Struct.field(UInt64)
577
+ ], cancel_results.prototype, "entity_id", void 0);
578
+ __decorate([
579
+ Struct.field(Name)
580
+ ], cancel_results.prototype, "entity_type", void 0);
581
+ __decorate([
582
+ Struct.field(UInt8)
583
+ ], cancel_results.prototype, "cancelled_count", void 0);
584
+ __decorate([
585
+ Struct.field(TimePoint, { optional: true })
586
+ ], cancel_results.prototype, "schedule_started", void 0);
587
+ __decorate([
588
+ Struct.field(UInt64, { optional: true })
589
+ ], cancel_results.prototype, "entitygroup", void 0);
590
+ __decorate([
591
+ Struct.field(entity_ref, { array: true, optional: true })
592
+ ], cancel_results.prototype, "group_members", void 0);
593
+ cancel_results = __decorate([
594
+ Struct.type('cancel_results')
595
+ ], cancel_results);
596
+ Types.cancel_results = cancel_results;
597
+ let cargo_row = class cargo_row extends Struct {
598
+ };
599
+ __decorate([
600
+ Struct.field(UInt64)
601
+ ], cargo_row.prototype, "id", void 0);
602
+ __decorate([
603
+ Struct.field(UInt64)
604
+ ], cargo_row.prototype, "entity_id", void 0);
605
+ __decorate([
606
+ Struct.field(UInt64)
607
+ ], cargo_row.prototype, "item_id", void 0);
608
+ __decorate([
609
+ Struct.field(UInt64)
610
+ ], cargo_row.prototype, "quantity", void 0);
611
+ __decorate([
612
+ Struct.field(UInt64)
613
+ ], cargo_row.prototype, "stats", void 0);
614
+ __decorate([
615
+ Struct.field(module_entry, { array: true })
616
+ ], cargo_row.prototype, "modules", void 0);
617
+ __decorate([
618
+ Struct.field(UInt64, { optional: true })
619
+ ], cargo_row.prototype, "sequence_id", void 0);
620
+ cargo_row = __decorate([
621
+ Struct.type('cargo_row')
622
+ ], cargo_row);
623
+ Types.cargo_row = cargo_row;
624
+ let cargo_view = class cargo_view extends Struct {
625
+ };
626
+ __decorate([
627
+ Struct.field(UInt16)
628
+ ], cargo_view.prototype, "item_id", void 0);
629
+ __decorate([
630
+ Struct.field(UInt64)
631
+ ], cargo_view.prototype, "stats", void 0);
632
+ __decorate([
633
+ Struct.field(module_entry, { array: true })
634
+ ], cargo_view.prototype, "modules", void 0);
635
+ __decorate([
636
+ Struct.field(UInt32)
637
+ ], cargo_view.prototype, "quantity", void 0);
638
+ __decorate([
639
+ Struct.field(UInt64)
640
+ ], cargo_view.prototype, "id", void 0);
641
+ __decorate([
642
+ Struct.field(UInt64, { optional: true })
643
+ ], cargo_view.prototype, "entity_id", void 0);
644
+ cargo_view = __decorate([
645
+ Struct.type('cargo_view')
646
+ ], cargo_view);
647
+ Types.cargo_view = cargo_view;
648
+ let coordinates = class coordinates extends Struct {
649
+ };
650
+ __decorate([
651
+ Struct.field(Int64)
652
+ ], coordinates.prototype, "x", void 0);
653
+ __decorate([
654
+ Struct.field(Int64)
655
+ ], coordinates.prototype, "y", void 0);
656
+ __decorate([
657
+ Struct.field(UInt16, { optional: true })
658
+ ], coordinates.prototype, "z", void 0);
659
+ coordinates = __decorate([
660
+ Struct.type('coordinates')
661
+ ], coordinates);
662
+ Types.coordinates = coordinates;
663
+ let claimplot = class claimplot extends Struct {
664
+ };
665
+ __decorate([
666
+ Struct.field(UInt64)
667
+ ], claimplot.prototype, "builder_id", void 0);
668
+ __decorate([
669
+ Struct.field(UInt16)
670
+ ], claimplot.prototype, "target_item_id", void 0);
671
+ __decorate([
672
+ Struct.field(coordinates)
673
+ ], claimplot.prototype, "coords", void 0);
674
+ claimplot = __decorate([
675
+ Struct.type('claimplot')
676
+ ], claimplot);
677
+ Types.claimplot = claimplot;
678
+ let cleanrsvp = class cleanrsvp extends Struct {
679
+ };
680
+ __decorate([
681
+ Struct.field(UInt64)
682
+ ], cleanrsvp.prototype, "epoch", void 0);
683
+ __decorate([
684
+ Struct.field(UInt64)
685
+ ], cleanrsvp.prototype, "max_rows", void 0);
686
+ cleanrsvp = __decorate([
687
+ Struct.type('cleanrsvp')
688
+ ], cleanrsvp);
689
+ Types.cleanrsvp = cleanrsvp;
690
+ let cleartable = class cleartable extends Struct {
691
+ };
692
+ __decorate([
693
+ Struct.field(Name)
694
+ ], cleartable.prototype, "table_name", void 0);
695
+ __decorate([
696
+ Struct.field(Name, { optional: true })
697
+ ], cleartable.prototype, "scope", void 0);
698
+ __decorate([
699
+ Struct.field(UInt64, { optional: true })
700
+ ], cleartable.prototype, "max_rows", void 0);
701
+ cleartable = __decorate([
702
+ Struct.type('cleartable')
703
+ ], cleartable);
704
+ Types.cleartable = cleartable;
705
+ let commit = class commit extends Struct {
706
+ };
707
+ __decorate([
708
+ Struct.field(Name)
709
+ ], commit.prototype, "oracle_id", void 0);
710
+ __decorate([
711
+ Struct.field(UInt64)
712
+ ], commit.prototype, "epoch", void 0);
713
+ __decorate([
714
+ Struct.field(Checksum256)
715
+ ], commit.prototype, "commit", void 0);
716
+ commit = __decorate([
717
+ Struct.type('commit')
718
+ ], commit);
719
+ Types.commit = commit;
720
+ let commit_row = class commit_row extends Struct {
721
+ };
722
+ __decorate([
723
+ Struct.field(UInt64)
724
+ ], commit_row.prototype, "id", void 0);
725
+ __decorate([
726
+ Struct.field(UInt64)
727
+ ], commit_row.prototype, "epoch", void 0);
728
+ __decorate([
729
+ Struct.field(Name)
730
+ ], commit_row.prototype, "oracle_id", void 0);
731
+ __decorate([
732
+ Struct.field(Checksum256)
733
+ ], commit_row.prototype, "commit", void 0);
734
+ commit_row = __decorate([
735
+ Struct.type('commit_row')
736
+ ], commit_row);
737
+ Types.commit_row = commit_row;
738
+ let entity_defaults = class entity_defaults extends Struct {
739
+ };
740
+ __decorate([
741
+ Struct.field(UInt16)
742
+ ], entity_defaults.prototype, "warehouse_z", void 0);
743
+ __decorate([
744
+ Struct.field(UInt16)
745
+ ], entity_defaults.prototype, "container_z", void 0);
746
+ entity_defaults = __decorate([
747
+ Struct.type('entity_defaults')
748
+ ], entity_defaults);
749
+ Types.entity_defaults = entity_defaults;
750
+ let item_def = class item_def extends Struct {
751
+ };
752
+ __decorate([
753
+ Struct.field(UInt16)
754
+ ], item_def.prototype, "id", void 0);
755
+ __decorate([
756
+ Struct.field(UInt32)
757
+ ], item_def.prototype, "mass", void 0);
758
+ __decorate([
759
+ Struct.field(UInt8)
760
+ ], item_def.prototype, "type", void 0);
761
+ __decorate([
762
+ Struct.field(UInt8)
763
+ ], item_def.prototype, "subtype", void 0);
764
+ __decorate([
765
+ Struct.field(UInt8)
766
+ ], item_def.prototype, "tier", void 0);
767
+ item_def = __decorate([
768
+ Struct.type('item_def')
769
+ ], item_def);
770
+ Types.item_def = item_def;
771
+ let game_config = class game_config extends Struct {
772
+ };
773
+ __decorate([
774
+ Struct.field(UInt32)
775
+ ], game_config.prototype, "version", void 0);
776
+ __decorate([
777
+ Struct.field(entity_defaults)
778
+ ], game_config.prototype, "defaults", void 0);
779
+ __decorate([
780
+ Struct.field(item_def, { array: true })
781
+ ], game_config.prototype, "items", void 0);
782
+ game_config = __decorate([
783
+ Struct.type('game_config')
784
+ ], game_config);
785
+ Types.game_config = game_config;
786
+ let configlog = class configlog extends Struct {
787
+ };
788
+ __decorate([
789
+ Struct.field(game_config)
790
+ ], configlog.prototype, "config", void 0);
791
+ configlog = __decorate([
792
+ Struct.type('configlog')
793
+ ], configlog);
794
+ Types.configlog = configlog;
795
+ let craft = class craft extends Struct {
796
+ };
797
+ __decorate([
798
+ Struct.field(UInt64)
799
+ ], craft.prototype, "id", void 0);
800
+ __decorate([
801
+ Struct.field(UInt16)
802
+ ], craft.prototype, "recipe_id", void 0);
803
+ __decorate([
804
+ Struct.field(UInt32)
805
+ ], craft.prototype, "quantity", void 0);
806
+ __decorate([
807
+ Struct.field(cargo_item, { array: true })
808
+ ], craft.prototype, "inputs", void 0);
809
+ craft = __decorate([
810
+ Struct.type('craft')
811
+ ], craft);
812
+ Types.craft = craft;
813
+ let crafter_stats = class crafter_stats extends Struct {
814
+ };
815
+ __decorate([
816
+ Struct.field(UInt16)
817
+ ], crafter_stats.prototype, "speed", void 0);
818
+ __decorate([
819
+ Struct.field(UInt16)
820
+ ], crafter_stats.prototype, "drain", void 0);
821
+ crafter_stats = __decorate([
822
+ Struct.type('crafter_stats')
823
+ ], crafter_stats);
824
+ Types.crafter_stats = crafter_stats;
825
+ let demolish = class demolish extends Struct {
826
+ };
827
+ __decorate([
828
+ Struct.field(UInt64)
829
+ ], demolish.prototype, "entity_id", void 0);
830
+ demolish = __decorate([
831
+ Struct.type('demolish')
832
+ ], demolish);
833
+ Types.demolish = demolish;
834
+ let deploy = class deploy extends Struct {
835
+ };
836
+ __decorate([
837
+ Struct.field(UInt64)
838
+ ], deploy.prototype, "id", void 0);
839
+ __decorate([
840
+ Struct.field(cargo_ref)
841
+ ], deploy.prototype, "ref", void 0);
842
+ deploy = __decorate([
843
+ Struct.type('deploy')
844
+ ], deploy);
845
+ Types.deploy = deploy;
846
+ let descentity = class descentity extends Struct {
847
+ };
848
+ __decorate([
849
+ Struct.field(UInt16)
850
+ ], descentity.prototype, "item_id", void 0);
851
+ __decorate([
852
+ Struct.field(UInt64)
853
+ ], descentity.prototype, "hull_stats", void 0);
854
+ __decorate([
855
+ Struct.field(UInt16, { array: true })
856
+ ], descentity.prototype, "module_items", void 0);
857
+ __decorate([
858
+ Struct.field(UInt64, { array: true })
859
+ ], descentity.prototype, "module_stats", void 0);
860
+ descentity = __decorate([
861
+ Struct.type('descentity')
862
+ ], descentity);
863
+ Types.descentity = descentity;
864
+ let enable = class enable extends Struct {
865
+ };
866
+ __decorate([
867
+ Struct.field('bool')
868
+ ], enable.prototype, "enabled", void 0);
869
+ enable = __decorate([
870
+ Struct.type('enable')
871
+ ], enable);
872
+ Types.enable = enable;
873
+ let energy_stats = class energy_stats extends Struct {
874
+ };
875
+ __decorate([
876
+ Struct.field(UInt16)
877
+ ], energy_stats.prototype, "capacity", void 0);
878
+ __decorate([
879
+ Struct.field(UInt16)
880
+ ], energy_stats.prototype, "recharge", void 0);
881
+ energy_stats = __decorate([
882
+ Struct.type('energy_stats')
883
+ ], energy_stats);
884
+ Types.energy_stats = energy_stats;
885
+ let entity_current_state = class entity_current_state extends Struct {
886
+ };
887
+ __decorate([
888
+ Struct.field(coordinates)
889
+ ], entity_current_state.prototype, "coordinates", void 0);
890
+ __decorate([
891
+ Struct.field(UInt16)
892
+ ], entity_current_state.prototype, "energy", void 0);
893
+ entity_current_state = __decorate([
894
+ Struct.type('entity_current_state')
895
+ ], entity_current_state);
896
+ Types.entity_current_state = entity_current_state;
897
+ let movement_stats = class movement_stats extends Struct {
898
+ };
899
+ __decorate([
900
+ Struct.field(UInt32)
901
+ ], movement_stats.prototype, "thrust", void 0);
902
+ __decorate([
903
+ Struct.field(UInt16)
904
+ ], movement_stats.prototype, "drain", void 0);
905
+ movement_stats = __decorate([
906
+ Struct.type('movement_stats')
907
+ ], movement_stats);
908
+ Types.movement_stats = movement_stats;
909
+ let warp_stats = class warp_stats extends Struct {
910
+ };
911
+ __decorate([
912
+ Struct.field(UInt32)
913
+ ], warp_stats.prototype, "range", void 0);
914
+ warp_stats = __decorate([
915
+ Struct.type('warp_stats')
916
+ ], warp_stats);
917
+ Types.warp_stats = warp_stats;
918
+ let gatherer_stats = class gatherer_stats extends Struct {
919
+ };
920
+ __decorate([
921
+ Struct.field(UInt16)
922
+ ], gatherer_stats.prototype, "yield", void 0);
923
+ __decorate([
924
+ Struct.field(UInt16)
925
+ ], gatherer_stats.prototype, "drain", void 0);
926
+ __decorate([
927
+ Struct.field(UInt16)
928
+ ], gatherer_stats.prototype, "depth", void 0);
929
+ gatherer_stats = __decorate([
930
+ Struct.type('gatherer_stats')
931
+ ], gatherer_stats);
932
+ Types.gatherer_stats = gatherer_stats;
933
+ let loader_stats = class loader_stats extends Struct {
934
+ };
935
+ __decorate([
936
+ Struct.field(UInt32)
937
+ ], loader_stats.prototype, "mass", void 0);
938
+ __decorate([
939
+ Struct.field(UInt16)
940
+ ], loader_stats.prototype, "thrust", void 0);
941
+ __decorate([
942
+ Struct.field(UInt8)
943
+ ], loader_stats.prototype, "quantity", void 0);
944
+ loader_stats = __decorate([
945
+ Struct.type('loader_stats')
946
+ ], loader_stats);
947
+ Types.loader_stats = loader_stats;
948
+ let hauler_stats = class hauler_stats extends Struct {
949
+ };
950
+ __decorate([
951
+ Struct.field(UInt8)
952
+ ], hauler_stats.prototype, "capacity", void 0);
953
+ __decorate([
954
+ Struct.field(UInt16)
955
+ ], hauler_stats.prototype, "efficiency", void 0);
956
+ __decorate([
957
+ Struct.field(UInt16)
958
+ ], hauler_stats.prototype, "drain", void 0);
959
+ hauler_stats = __decorate([
960
+ Struct.type('hauler_stats')
961
+ ], hauler_stats);
962
+ Types.hauler_stats = hauler_stats;
963
+ let task = class task extends Struct {
964
+ };
965
+ __decorate([
966
+ Struct.field(UInt8)
967
+ ], task.prototype, "type", void 0);
968
+ __decorate([
969
+ Struct.field(UInt32)
970
+ ], task.prototype, "duration", void 0);
971
+ __decorate([
972
+ Struct.field(UInt8)
973
+ ], task.prototype, "cancelable", void 0);
974
+ __decorate([
975
+ Struct.field(coordinates, { optional: true })
976
+ ], task.prototype, "coordinates", void 0);
977
+ __decorate([
978
+ Struct.field(cargo_item, { array: true })
979
+ ], task.prototype, "cargo", void 0);
980
+ __decorate([
981
+ Struct.field(entity_ref, { optional: true })
982
+ ], task.prototype, "entitytarget", void 0);
983
+ __decorate([
984
+ Struct.field(UInt64, { optional: true })
985
+ ], task.prototype, "entitygroup", void 0);
986
+ __decorate([
987
+ Struct.field(UInt16, { optional: true })
988
+ ], task.prototype, "energy_cost", void 0);
989
+ task = __decorate([
990
+ Struct.type('task')
991
+ ], task);
992
+ Types.task = task;
993
+ let schedule = class schedule extends Struct {
994
+ };
995
+ __decorate([
996
+ Struct.field(TimePoint)
997
+ ], schedule.prototype, "started", void 0);
998
+ __decorate([
999
+ Struct.field(task, { array: true })
1000
+ ], schedule.prototype, "tasks", void 0);
1001
+ schedule = __decorate([
1002
+ Struct.type('schedule')
1003
+ ], schedule);
1004
+ Types.schedule = schedule;
1005
+ let entity_info = class entity_info extends Struct {
1006
+ };
1007
+ __decorate([
1008
+ Struct.field(Name)
1009
+ ], entity_info.prototype, "type", void 0);
1010
+ __decorate([
1011
+ Struct.field(UInt64)
1012
+ ], entity_info.prototype, "id", void 0);
1013
+ __decorate([
1014
+ Struct.field(Name)
1015
+ ], entity_info.prototype, "owner", void 0);
1016
+ __decorate([
1017
+ Struct.field('string')
1018
+ ], entity_info.prototype, "entity_name", void 0);
1019
+ __decorate([
1020
+ Struct.field(coordinates)
1021
+ ], entity_info.prototype, "coordinates", void 0);
1022
+ __decorate([
1023
+ Struct.field(UInt16)
1024
+ ], entity_info.prototype, "item_id", void 0);
1025
+ __decorate([
1026
+ Struct.field(UInt32)
1027
+ ], entity_info.prototype, "cargomass", void 0);
1028
+ __decorate([
1029
+ Struct.field(cargo_view, { array: true })
1030
+ ], entity_info.prototype, "cargo", void 0);
1031
+ __decorate([
1032
+ Struct.field(module_entry, { array: true })
1033
+ ], entity_info.prototype, "modules", void 0);
1034
+ __decorate([
1035
+ Struct.field(UInt16, { optional: true })
1036
+ ], entity_info.prototype, "energy", void 0);
1037
+ __decorate([
1038
+ Struct.field(UInt32, { optional: true })
1039
+ ], entity_info.prototype, "hullmass", void 0);
1040
+ __decorate([
1041
+ Struct.field(UInt32, { optional: true })
1042
+ ], entity_info.prototype, "capacity", void 0);
1043
+ __decorate([
1044
+ Struct.field(movement_stats, { optional: true })
1045
+ ], entity_info.prototype, "engines", void 0);
1046
+ __decorate([
1047
+ Struct.field(warp_stats, { optional: true })
1048
+ ], entity_info.prototype, "warp", void 0);
1049
+ __decorate([
1050
+ Struct.field(energy_stats, { optional: true })
1051
+ ], entity_info.prototype, "generator", void 0);
1052
+ __decorate([
1053
+ Struct.field(gatherer_stats, { optional: true })
1054
+ ], entity_info.prototype, "gatherer", void 0);
1055
+ __decorate([
1056
+ Struct.field(loader_stats, { optional: true })
1057
+ ], entity_info.prototype, "loaders", void 0);
1058
+ __decorate([
1059
+ Struct.field(hauler_stats, { optional: true })
1060
+ ], entity_info.prototype, "hauler", void 0);
1061
+ __decorate([
1062
+ Struct.field(crafter_stats, { optional: true })
1063
+ ], entity_info.prototype, "crafter", void 0);
1064
+ __decorate([
1065
+ Struct.field('bool')
1066
+ ], entity_info.prototype, "is_idle", void 0);
1067
+ __decorate([
1068
+ Struct.field(task, { optional: true })
1069
+ ], entity_info.prototype, "current_task", void 0);
1070
+ __decorate([
1071
+ Struct.field(UInt32)
1072
+ ], entity_info.prototype, "current_task_elapsed", void 0);
1073
+ __decorate([
1074
+ Struct.field(UInt32)
1075
+ ], entity_info.prototype, "current_task_remaining", void 0);
1076
+ __decorate([
1077
+ Struct.field(task, { array: true })
1078
+ ], entity_info.prototype, "pending_tasks", void 0);
1079
+ __decorate([
1080
+ Struct.field(TimePoint, { optional: true })
1081
+ ], entity_info.prototype, "idle_at", void 0);
1082
+ __decorate([
1083
+ Struct.field(schedule, { optional: true })
1084
+ ], entity_info.prototype, "schedule", void 0);
1085
+ entity_info = __decorate([
1086
+ Struct.type('entity_info')
1087
+ ], entity_info);
1088
+ Types.entity_info = entity_info;
1089
+ let slot_def = class slot_def extends Struct {
1090
+ };
1091
+ __decorate([
1092
+ Struct.field(UInt8)
1093
+ ], slot_def.prototype, "type", void 0);
1094
+ __decorate([
1095
+ Struct.field(UInt16)
1096
+ ], slot_def.prototype, "output_pct", void 0);
1097
+ slot_def = __decorate([
1098
+ Struct.type('slot_def')
1099
+ ], slot_def);
1100
+ Types.slot_def = slot_def;
1101
+ let entity_layout = class entity_layout extends Struct {
1102
+ };
1103
+ __decorate([
1104
+ Struct.field(UInt16)
1105
+ ], entity_layout.prototype, "entity_item_id", void 0);
1106
+ __decorate([
1107
+ Struct.field(slot_def, { array: true })
1108
+ ], entity_layout.prototype, "slots", void 0);
1109
+ entity_layout = __decorate([
1110
+ Struct.type('entity_layout')
1111
+ ], entity_layout);
1112
+ Types.entity_layout = entity_layout;
1113
+ let entity_layouts_result = class entity_layouts_result extends Struct {
1114
+ };
1115
+ __decorate([
1116
+ Struct.field(entity_layout, { array: true })
1117
+ ], entity_layouts_result.prototype, "entities", void 0);
1118
+ entity_layouts_result = __decorate([
1119
+ Struct.type('entity_layouts_result')
1120
+ ], entity_layouts_result);
1121
+ Types.entity_layouts_result = entity_layouts_result;
1122
+ let entity_row = class entity_row extends Struct {
1123
+ };
1124
+ __decorate([
1125
+ Struct.field(UInt64)
1126
+ ], entity_row.prototype, "id", void 0);
1127
+ __decorate([
1128
+ Struct.field(Name)
1129
+ ], entity_row.prototype, "owner", void 0);
1130
+ __decorate([
1131
+ Struct.field(Name)
1132
+ ], entity_row.prototype, "kind", void 0);
1133
+ __decorate([
1134
+ Struct.field(UInt16)
1135
+ ], entity_row.prototype, "item_id", void 0);
1136
+ __decorate([
1137
+ Struct.field('string')
1138
+ ], entity_row.prototype, "name", void 0);
1139
+ __decorate([
1140
+ Struct.field(UInt64)
1141
+ ], entity_row.prototype, "stats", void 0);
1142
+ __decorate([
1143
+ Struct.field(coordinates)
1144
+ ], entity_row.prototype, "coordinates", void 0);
1145
+ __decorate([
1146
+ Struct.field(UInt16, { optional: true })
1147
+ ], entity_row.prototype, "energy", void 0);
1148
+ __decorate([
1149
+ Struct.field(UInt32)
1150
+ ], entity_row.prototype, "cargomass", void 0);
1151
+ __decorate([
1152
+ Struct.field(module_entry, { array: true })
1153
+ ], entity_row.prototype, "modules", void 0);
1154
+ __decorate([
1155
+ Struct.field(schedule, { optional: true })
1156
+ ], entity_row.prototype, "schedule", void 0);
1157
+ entity_row = __decorate([
1158
+ Struct.type('entity_row')
1159
+ ], entity_row);
1160
+ Types.entity_row = entity_row;
1161
+ let entity_seq_row = class entity_seq_row extends Struct {
1162
+ };
1163
+ __decorate([
1164
+ Struct.field(UInt64)
1165
+ ], entity_seq_row.prototype, "next_id", void 0);
1166
+ entity_seq_row = __decorate([
1167
+ Struct.type('entity_seq_row')
1168
+ ], entity_seq_row);
1169
+ Types.entity_seq_row = entity_seq_row;
1170
+ let entity_summary = class entity_summary extends Struct {
1171
+ };
1172
+ __decorate([
1173
+ Struct.field(Name)
1174
+ ], entity_summary.prototype, "type", void 0);
1175
+ __decorate([
1176
+ Struct.field(UInt64)
1177
+ ], entity_summary.prototype, "id", void 0);
1178
+ __decorate([
1179
+ Struct.field(Name)
1180
+ ], entity_summary.prototype, "owner", void 0);
1181
+ __decorate([
1182
+ Struct.field('string')
1183
+ ], entity_summary.prototype, "entity_name", void 0);
1184
+ __decorate([
1185
+ Struct.field(coordinates)
1186
+ ], entity_summary.prototype, "coordinates", void 0);
1187
+ __decorate([
1188
+ Struct.field('bool')
1189
+ ], entity_summary.prototype, "is_idle", void 0);
1190
+ __decorate([
1191
+ Struct.field(UInt32)
1192
+ ], entity_summary.prototype, "resolved_count", void 0);
1193
+ __decorate([
1194
+ Struct.field(UInt32)
1195
+ ], entity_summary.prototype, "pending_count", void 0);
1196
+ entity_summary = __decorate([
1197
+ Struct.type('entity_summary')
1198
+ ], entity_summary);
1199
+ Types.entity_summary = entity_summary;
1200
+ let entity_task_info = class entity_task_info extends Struct {
1201
+ };
1202
+ __decorate([
1203
+ Struct.field(UInt64)
1204
+ ], entity_task_info.prototype, "entity_id", void 0);
1205
+ __decorate([
1206
+ Struct.field(Name)
1207
+ ], entity_task_info.prototype, "entity_type", void 0);
1208
+ __decorate([
1209
+ Struct.field(UInt8)
1210
+ ], entity_task_info.prototype, "task_count", void 0);
1211
+ __decorate([
1212
+ Struct.field(TimePoint)
1213
+ ], entity_task_info.prototype, "schedule_started", void 0);
1214
+ entity_task_info = __decorate([
1215
+ Struct.type('entity_task_info')
1216
+ ], entity_task_info);
1217
+ Types.entity_task_info = entity_task_info;
1218
+ let entitygroup_row = class entitygroup_row extends Struct {
1219
+ };
1220
+ __decorate([
1221
+ Struct.field(UInt64)
1222
+ ], entitygroup_row.prototype, "id", void 0);
1223
+ __decorate([
1224
+ Struct.field(entity_ref, { array: true })
1225
+ ], entitygroup_row.prototype, "participants", void 0);
1226
+ entitygroup_row = __decorate([
1227
+ Struct.type('entitygroup_row')
1228
+ ], entitygroup_row);
1229
+ Types.entitygroup_row = entitygroup_row;
1230
+ let enum_member = class enum_member extends Struct {
1231
+ };
1232
+ __decorate([
1233
+ Struct.field(UInt8)
1234
+ ], enum_member.prototype, "value", void 0);
1235
+ __decorate([
1236
+ Struct.field('string')
1237
+ ], enum_member.prototype, "name", void 0);
1238
+ enum_member = __decorate([
1239
+ Struct.type('enum_member')
1240
+ ], enum_member);
1241
+ Types.enum_member = enum_member;
1242
+ let enum_result = class enum_result extends Struct {
1243
+ };
1244
+ __decorate([
1245
+ Struct.field(enum_member, { array: true })
1246
+ ], enum_result.prototype, "members", void 0);
1247
+ enum_result = __decorate([
1248
+ Struct.type('enum_result')
1249
+ ], enum_result);
1250
+ Types.enum_result = enum_result;
1251
+ let epoch_row = class epoch_row extends Struct {
1252
+ };
1253
+ __decorate([
1254
+ Struct.field(UInt64)
1255
+ ], epoch_row.prototype, "epoch", void 0);
1256
+ __decorate([
1257
+ Struct.field(Name, { array: true })
1258
+ ], epoch_row.prototype, "oracle_ids", void 0);
1259
+ __decorate([
1260
+ Struct.field(UInt8)
1261
+ ], epoch_row.prototype, "threshold", void 0);
1262
+ __decorate([
1263
+ Struct.field(Checksum256)
1264
+ ], epoch_row.prototype, "seed", void 0);
1265
+ epoch_row = __decorate([
1266
+ Struct.type('epoch_row')
1267
+ ], epoch_row);
1268
+ Types.epoch_row = epoch_row;
1269
+ let fixcargomass = class fixcargomass extends Struct {
1270
+ };
1271
+ __decorate([
1272
+ Struct.field(UInt64)
1273
+ ], fixcargomass.prototype, "entity_id", void 0);
1274
+ fixcargomass = __decorate([
1275
+ Struct.type('fixcargomass')
1276
+ ], fixcargomass);
1277
+ Types.fixcargomass = fixcargomass;
1278
+ let forcereveal = class forcereveal extends Struct {
1279
+ };
1280
+ __decorate([
1281
+ Struct.field(UInt64)
1282
+ ], forcereveal.prototype, "epoch", void 0);
1283
+ forcereveal = __decorate([
1284
+ Struct.type('forcereveal')
1285
+ ], forcereveal);
1286
+ Types.forcereveal = forcereveal;
1287
+ let gather = class gather extends Struct {
1288
+ };
1289
+ __decorate([
1290
+ Struct.field(UInt64)
1291
+ ], gather.prototype, "source_id", void 0);
1292
+ __decorate([
1293
+ Struct.field(UInt64)
1294
+ ], gather.prototype, "destination_id", void 0);
1295
+ __decorate([
1296
+ Struct.field(UInt16)
1297
+ ], gather.prototype, "stratum", void 0);
1298
+ __decorate([
1299
+ Struct.field(UInt32)
1300
+ ], gather.prototype, "quantity", void 0);
1301
+ gather = __decorate([
1302
+ Struct.type('gather')
1303
+ ], gather);
1304
+ Types.gather = gather;
1305
+ let getconfig = class getconfig extends Struct {
1306
+ };
1307
+ getconfig = __decorate([
1308
+ Struct.type('getconfig')
1309
+ ], getconfig);
1310
+ Types.getconfig = getconfig;
1311
+ let getdeposit = class getdeposit extends Struct {
1312
+ };
1313
+ __decorate([
1314
+ Struct.field(Name)
1315
+ ], getdeposit.prototype, "owner", void 0);
1316
+ __decorate([
1317
+ Struct.field(UInt64)
1318
+ ], getdeposit.prototype, "asset_id", void 0);
1319
+ getdeposit = __decorate([
1320
+ Struct.type('getdeposit')
1321
+ ], getdeposit);
1322
+ Types.getdeposit = getdeposit;
1323
+ let geteligible = class geteligible extends Struct {
1324
+ };
1325
+ __decorate([
1326
+ Struct.field(coordinates)
1327
+ ], geteligible.prototype, "coords", void 0);
1328
+ __decorate([
1329
+ Struct.field(UInt16)
1330
+ ], geteligible.prototype, "stratum", void 0);
1331
+ geteligible = __decorate([
1332
+ Struct.type('geteligible')
1333
+ ], geteligible);
1334
+ Types.geteligible = geteligible;
1335
+ let getentcls = class getentcls extends Struct {
1336
+ };
1337
+ getentcls = __decorate([
1338
+ Struct.type('getentcls')
1339
+ ], getentcls);
1340
+ Types.getentcls = getentcls;
1341
+ let getentities = class getentities extends Struct {
1342
+ };
1343
+ __decorate([
1344
+ Struct.field(Name)
1345
+ ], getentities.prototype, "owner", void 0);
1346
+ __decorate([
1347
+ Struct.field(Name, { optional: true })
1348
+ ], getentities.prototype, "entity_type", void 0);
1349
+ getentities = __decorate([
1350
+ Struct.type('getentities')
1351
+ ], getentities);
1352
+ Types.getentities = getentities;
1353
+ let getentity = class getentity extends Struct {
1354
+ };
1355
+ __decorate([
1356
+ Struct.field(UInt64)
1357
+ ], getentity.prototype, "entity_id", void 0);
1358
+ getentity = __decorate([
1359
+ Struct.type('getentity')
1360
+ ], getentity);
1361
+ Types.getentity = getentity;
1362
+ let getitemdata = class getitemdata extends Struct {
1363
+ };
1364
+ getitemdata = __decorate([
1365
+ Struct.type('getitemdata')
1366
+ ], getitemdata);
1367
+ Types.getitemdata = getitemdata;
1368
+ let getitemids = class getitemids extends Struct {
1369
+ };
1370
+ getitemids = __decorate([
1371
+ Struct.type('getitemids')
1372
+ ], getitemids);
1373
+ Types.getitemids = getitemids;
1374
+ let getitems = class getitems extends Struct {
1375
+ };
1376
+ getitems = __decorate([
1377
+ Struct.type('getitems')
1378
+ ], getitems);
1379
+ Types.getitems = getitems;
1380
+ let getitemtype = class getitemtype extends Struct {
1381
+ };
1382
+ __decorate([
1383
+ Struct.field(UInt16)
1384
+ ], getitemtype.prototype, "item_id", void 0);
1385
+ getitemtype = __decorate([
1386
+ Struct.type('getitemtype')
1387
+ ], getitemtype);
1388
+ Types.getitemtype = getitemtype;
1389
+ let getitemtypes = class getitemtypes extends Struct {
1390
+ };
1391
+ getitemtypes = __decorate([
1392
+ Struct.type('getitemtypes')
1393
+ ], getitemtypes);
1394
+ Types.getitemtypes = getitemtypes;
1395
+ let getkindmeta = class getkindmeta extends Struct {
1396
+ };
1397
+ getkindmeta = __decorate([
1398
+ Struct.type('getkindmeta')
1399
+ ], getkindmeta);
1400
+ Types.getkindmeta = getkindmeta;
1401
+ let getlocation = class getlocation extends Struct {
1402
+ };
1403
+ __decorate([
1404
+ Struct.field(Int64)
1405
+ ], getlocation.prototype, "x", void 0);
1406
+ __decorate([
1407
+ Struct.field(Int64)
1408
+ ], getlocation.prototype, "y", void 0);
1409
+ getlocation = __decorate([
1410
+ Struct.type('getlocation')
1411
+ ], getlocation);
1412
+ Types.getlocation = getlocation;
1413
+ let getlocdata = class getlocdata extends Struct {
1414
+ };
1415
+ __decorate([
1416
+ Struct.field(Int64)
1417
+ ], getlocdata.prototype, "x", void 0);
1418
+ __decorate([
1419
+ Struct.field(Int64)
1420
+ ], getlocdata.prototype, "y", void 0);
1421
+ getlocdata = __decorate([
1422
+ Struct.type('getlocdata')
1423
+ ], getlocdata);
1424
+ Types.getlocdata = getlocdata;
1425
+ let getmodtypes = class getmodtypes extends Struct {
1426
+ };
1427
+ getmodtypes = __decorate([
1428
+ Struct.type('getmodtypes')
1429
+ ], getmodtypes);
1430
+ Types.getmodtypes = getmodtypes;
1431
+ let getmodules = class getmodules extends Struct {
1432
+ };
1433
+ getmodules = __decorate([
1434
+ Struct.type('getmodules')
1435
+ ], getmodules);
1436
+ Types.getmodules = getmodules;
1437
+ let getnearby = class getnearby extends Struct {
1438
+ };
1439
+ __decorate([
1440
+ Struct.field(UInt64)
1441
+ ], getnearby.prototype, "entity_id", void 0);
1442
+ __decorate([
1443
+ Struct.field('bool')
1444
+ ], getnearby.prototype, "recharge", void 0);
1445
+ getnearby = __decorate([
1446
+ Struct.type('getnearby')
1447
+ ], getnearby);
1448
+ Types.getnearby = getnearby;
1449
+ let getnftbase = class getnftbase extends Struct {
1450
+ };
1451
+ getnftbase = __decorate([
1452
+ Struct.type('getnftbase')
1453
+ ], getnftbase);
1454
+ Types.getnftbase = getnftbase;
1455
+ let getnftinfo = class getnftinfo extends Struct {
1456
+ };
1457
+ getnftinfo = __decorate([
1458
+ Struct.type('getnftinfo')
1459
+ ], getnftinfo);
1460
+ Types.getnftinfo = getnftinfo;
1461
+ let getplayer = class getplayer extends Struct {
1462
+ };
1463
+ __decorate([
1464
+ Struct.field(Name)
1465
+ ], getplayer.prototype, "account", void 0);
1466
+ getplayer = __decorate([
1467
+ Struct.type('getplayer')
1468
+ ], getplayer);
1469
+ Types.getplayer = getplayer;
1470
+ let getprojstate = class getprojstate extends Struct {
1471
+ };
1472
+ __decorate([
1473
+ Struct.field(UInt64)
1474
+ ], getprojstate.prototype, "entity_id", void 0);
1475
+ __decorate([
1476
+ Struct.field(UInt8, { optional: true })
1477
+ ], getprojstate.prototype, "task_count", void 0);
1478
+ getprojstate = __decorate([
1479
+ Struct.type('getprojstate')
1480
+ ], getprojstate);
1481
+ Types.getprojstate = getprojstate;
1482
+ let getrecipe = class getrecipe extends Struct {
1483
+ };
1484
+ __decorate([
1485
+ Struct.field(UInt16)
1486
+ ], getrecipe.prototype, "output_item_id", void 0);
1487
+ getrecipe = __decorate([
1488
+ Struct.type('getrecipe')
1489
+ ], getrecipe);
1490
+ Types.getrecipe = getrecipe;
1491
+ let getrecipes = class getrecipes extends Struct {
1492
+ };
1493
+ __decorate([
1494
+ Struct.field(UInt16)
1495
+ ], getrecipes.prototype, "lower_bound", void 0);
1496
+ __decorate([
1497
+ Struct.field(UInt8)
1498
+ ], getrecipes.prototype, "limit", void 0);
1499
+ getrecipes = __decorate([
1500
+ Struct.type('getrecipes')
1501
+ ], getrecipes);
1502
+ Types.getrecipes = getrecipes;
1503
+ let getrescats = class getrescats extends Struct {
1504
+ };
1505
+ getrescats = __decorate([
1506
+ Struct.type('getrescats')
1507
+ ], getrescats);
1508
+ Types.getrescats = getrescats;
1509
+ let getreserves = class getreserves extends Struct {
1510
+ };
1511
+ __decorate([
1512
+ Struct.field(Int64)
1513
+ ], getreserves.prototype, "x", void 0);
1514
+ __decorate([
1515
+ Struct.field(Int64)
1516
+ ], getreserves.prototype, "y", void 0);
1517
+ getreserves = __decorate([
1518
+ Struct.type('getreserves')
1519
+ ], getreserves);
1520
+ Types.getreserves = getreserves;
1521
+ let getresources = class getresources extends Struct {
1522
+ };
1523
+ getresources = __decorate([
1524
+ Struct.type('getresources')
1525
+ ], getresources);
1526
+ Types.getresources = getresources;
1527
+ let getslots = class getslots extends Struct {
1528
+ };
1529
+ getslots = __decorate([
1530
+ Struct.type('getslots')
1531
+ ], getslots);
1532
+ Types.getslots = getslots;
1533
+ let getstratum = class getstratum extends Struct {
1534
+ };
1535
+ __decorate([
1536
+ Struct.field(Int64)
1537
+ ], getstratum.prototype, "x", void 0);
1538
+ __decorate([
1539
+ Struct.field(Int64)
1540
+ ], getstratum.prototype, "y", void 0);
1541
+ __decorate([
1542
+ Struct.field(UInt16)
1543
+ ], getstratum.prototype, "stratum", void 0);
1544
+ getstratum = __decorate([
1545
+ Struct.type('getstratum')
1546
+ ], getstratum);
1547
+ Types.getstratum = getstratum;
1548
+ let getsummaries = class getsummaries extends Struct {
1549
+ };
1550
+ __decorate([
1551
+ Struct.field(Name)
1552
+ ], getsummaries.prototype, "owner", void 0);
1553
+ __decorate([
1554
+ Struct.field(Name, { optional: true })
1555
+ ], getsummaries.prototype, "entity_type", void 0);
1556
+ getsummaries = __decorate([
1557
+ Struct.type('getsummaries')
1558
+ ], getsummaries);
1559
+ Types.getsummaries = getsummaries;
1560
+ let grouptravel = class grouptravel extends Struct {
1561
+ };
1562
+ __decorate([
1563
+ Struct.field(entity_ref, { array: true })
1564
+ ], grouptravel.prototype, "entities", void 0);
1565
+ __decorate([
1566
+ Struct.field(Int64)
1567
+ ], grouptravel.prototype, "x", void 0);
1568
+ __decorate([
1569
+ Struct.field(Int64)
1570
+ ], grouptravel.prototype, "y", void 0);
1571
+ __decorate([
1572
+ Struct.field('bool')
1573
+ ], grouptravel.prototype, "recharge", void 0);
1574
+ grouptravel = __decorate([
1575
+ Struct.type('grouptravel')
1576
+ ], grouptravel);
1577
+ Types.grouptravel = grouptravel;
1578
+ let hash = class hash extends Struct {
1579
+ };
1580
+ __decorate([
1581
+ Struct.field('string')
1582
+ ], hash.prototype, "value", void 0);
1583
+ hash = __decorate([
1584
+ Struct.type('hash')
1585
+ ], hash);
1586
+ Types.hash = hash;
1587
+ let hash512 = class hash512 extends Struct {
1588
+ };
1589
+ __decorate([
1590
+ Struct.field('string')
1591
+ ], hash512.prototype, "value", void 0);
1592
+ hash512 = __decorate([
1593
+ Struct.type('hash512')
1594
+ ], hash512);
1595
+ Types.hash512 = hash512;
1596
+ let importcargo = class importcargo extends Struct {
1597
+ };
1598
+ __decorate([
1599
+ Struct.field(cargo_row)
1600
+ ], importcargo.prototype, "row", void 0);
1601
+ importcargo = __decorate([
1602
+ Struct.type('importcargo')
1603
+ ], importcargo);
1604
+ Types.importcargo = importcargo;
1605
+ let importentity = class importentity extends Struct {
1606
+ };
1607
+ __decorate([
1608
+ Struct.field(entity_row)
1609
+ ], importentity.prototype, "row", void 0);
1610
+ importentity = __decorate([
1611
+ Struct.type('importentity')
1612
+ ], importentity);
1613
+ Types.importentity = importentity;
1614
+ let importgroup = class importgroup extends Struct {
1615
+ };
1616
+ __decorate([
1617
+ Struct.field(entitygroup_row)
1618
+ ], importgroup.prototype, "row", void 0);
1619
+ importgroup = __decorate([
1620
+ Struct.type('importgroup')
1621
+ ], importgroup);
1622
+ Types.importgroup = importgroup;
1623
+ let importplayer = class importplayer extends Struct {
1624
+ };
1625
+ __decorate([
1626
+ Struct.field(Name)
1627
+ ], importplayer.prototype, "owner", void 0);
1628
+ importplayer = __decorate([
1629
+ Struct.type('importplayer')
1630
+ ], importplayer);
1631
+ Types.importplayer = importplayer;
1632
+ let reserve_row = class reserve_row extends Struct {
1633
+ };
1634
+ __decorate([
1635
+ Struct.field(UInt64)
1636
+ ], reserve_row.prototype, "id", void 0);
1637
+ __decorate([
1638
+ Struct.field(UInt64)
1639
+ ], reserve_row.prototype, "coord_id", void 0);
1640
+ __decorate([
1641
+ Struct.field(UInt16)
1642
+ ], reserve_row.prototype, "stratum", void 0);
1643
+ __decorate([
1644
+ Struct.field(UInt32)
1645
+ ], reserve_row.prototype, "remaining", void 0);
1646
+ __decorate([
1647
+ Struct.field(BlockTimestamp)
1648
+ ], reserve_row.prototype, "last_block", void 0);
1649
+ reserve_row = __decorate([
1650
+ Struct.type('reserve_row')
1651
+ ], reserve_row);
1652
+ Types.reserve_row = reserve_row;
1653
+ let importreserve = class importreserve extends Struct {
1654
+ };
1655
+ __decorate([
1656
+ Struct.field(UInt32)
1657
+ ], importreserve.prototype, "epoch_scope", void 0);
1658
+ __decorate([
1659
+ Struct.field(reserve_row)
1660
+ ], importreserve.prototype, "row", void 0);
1661
+ importreserve = __decorate([
1662
+ Struct.type('importreserve')
1663
+ ], importreserve);
1664
+ Types.importreserve = importreserve;
1665
+ let state_row = class state_row extends Struct {
1666
+ };
1667
+ __decorate([
1668
+ Struct.field('bool')
1669
+ ], state_row.prototype, "enabled", void 0);
1670
+ __decorate([
1671
+ Struct.field(UInt32)
1672
+ ], state_row.prototype, "epoch", void 0);
1673
+ __decorate([
1674
+ Struct.field(Checksum256)
1675
+ ], state_row.prototype, "seed", void 0);
1676
+ state_row = __decorate([
1677
+ Struct.type('state_row')
1678
+ ], state_row);
1679
+ Types.state_row = state_row;
1680
+ let importstate = class importstate extends Struct {
1681
+ };
1682
+ __decorate([
1683
+ Struct.field(state_row)
1684
+ ], importstate.prototype, "row", void 0);
1685
+ importstate = __decorate([
1686
+ Struct.type('importstate')
1687
+ ], importstate);
1688
+ Types.importstate = importstate;
1689
+ let item_id_pair = class item_id_pair extends Struct {
1690
+ };
1691
+ __decorate([
1692
+ Struct.field(UInt16)
1693
+ ], item_id_pair.prototype, "id", void 0);
1694
+ __decorate([
1695
+ Struct.field('string')
1696
+ ], item_id_pair.prototype, "name", void 0);
1697
+ item_id_pair = __decorate([
1698
+ Struct.type('item_id_pair')
1699
+ ], item_id_pair);
1700
+ Types.item_id_pair = item_id_pair;
1701
+ let item_ids_result = class item_ids_result extends Struct {
1702
+ };
1703
+ __decorate([
1704
+ Struct.field(item_id_pair, { array: true })
1705
+ ], item_ids_result.prototype, "items", void 0);
1706
+ item_ids_result = __decorate([
1707
+ Struct.type('item_ids_result')
1708
+ ], item_ids_result);
1709
+ Types.item_ids_result = item_ids_result;
1710
+ let recipe_input = class recipe_input extends Struct {
1711
+ };
1712
+ __decorate([
1713
+ Struct.field(UInt16)
1714
+ ], recipe_input.prototype, "item_id", void 0);
1715
+ __decorate([
1716
+ Struct.field(UInt32)
1717
+ ], recipe_input.prototype, "quantity", void 0);
1718
+ recipe_input = __decorate([
1719
+ Struct.type('recipe_input')
1720
+ ], recipe_input);
1721
+ Types.recipe_input = recipe_input;
1722
+ let stat_source = class stat_source extends Struct {
1723
+ };
1724
+ __decorate([
1725
+ Struct.field(UInt8)
1726
+ ], stat_source.prototype, "input_index", void 0);
1727
+ __decorate([
1728
+ Struct.field(UInt8)
1729
+ ], stat_source.prototype, "input_stat_index", void 0);
1730
+ stat_source = __decorate([
1731
+ Struct.type('stat_source')
1732
+ ], stat_source);
1733
+ Types.stat_source = stat_source;
1734
+ let stat_slot_response = class stat_slot_response extends Struct {
1735
+ };
1736
+ __decorate([
1737
+ Struct.field(stat_source, { array: true })
1738
+ ], stat_slot_response.prototype, "sources", void 0);
1739
+ stat_slot_response = __decorate([
1740
+ Struct.type('stat_slot_response')
1741
+ ], stat_slot_response);
1742
+ Types.stat_slot_response = stat_slot_response;
1743
+ let recipe_item_info = class recipe_item_info extends Struct {
1744
+ };
1745
+ __decorate([
1746
+ Struct.field(UInt16)
1747
+ ], recipe_item_info.prototype, "id", void 0);
1748
+ __decorate([
1749
+ Struct.field(UInt32)
1750
+ ], recipe_item_info.prototype, "mass", void 0);
1751
+ recipe_item_info = __decorate([
1752
+ Struct.type('recipe_item_info')
1753
+ ], recipe_item_info);
1754
+ Types.recipe_item_info = recipe_item_info;
1755
+ let recipe_response = class recipe_response extends Struct {
1756
+ };
1757
+ __decorate([
1758
+ Struct.field(UInt16)
1759
+ ], recipe_response.prototype, "output_item_id", void 0);
1760
+ __decorate([
1761
+ Struct.field(UInt32)
1762
+ ], recipe_response.prototype, "output_mass", void 0);
1763
+ __decorate([
1764
+ Struct.field(recipe_input, { array: true })
1765
+ ], recipe_response.prototype, "inputs", void 0);
1766
+ __decorate([
1767
+ Struct.field(stat_slot_response, { array: true })
1768
+ ], recipe_response.prototype, "stat_slots", void 0);
1769
+ __decorate([
1770
+ Struct.field(Bytes)
1771
+ ], recipe_response.prototype, "blend_weights", void 0);
1772
+ __decorate([
1773
+ Struct.field(recipe_item_info)
1774
+ ], recipe_response.prototype, "output_item", void 0);
1775
+ __decorate([
1776
+ Struct.field(recipe_item_info, { array: true })
1777
+ ], recipe_response.prototype, "input_items", void 0);
1778
+ recipe_response = __decorate([
1779
+ Struct.type('recipe_response')
1780
+ ], recipe_response);
1781
+ Types.recipe_response = recipe_response;
1782
+ let recipes_result = class recipes_result extends Struct {
1783
+ };
1784
+ __decorate([
1785
+ Struct.field(recipe_response, { array: true })
1786
+ ], recipes_result.prototype, "recipes", void 0);
1787
+ recipes_result = __decorate([
1788
+ Struct.type('recipes_result')
1789
+ ], recipes_result);
1790
+ Types.recipes_result = recipes_result;
1791
+ let itemdata_result = class itemdata_result extends Struct {
1792
+ };
1793
+ __decorate([
1794
+ Struct.field(item_def, { array: true })
1795
+ ], itemdata_result.prototype, "items", void 0);
1796
+ __decorate([
1797
+ Struct.field(recipes_result)
1798
+ ], itemdata_result.prototype, "recipes", void 0);
1799
+ itemdata_result = __decorate([
1800
+ Struct.type('itemdata_result')
1801
+ ], itemdata_result);
1802
+ Types.itemdata_result = itemdata_result;
1803
+ let items_info = class items_info extends Struct {
1804
+ };
1805
+ __decorate([
1806
+ Struct.field(item_def, { array: true })
1807
+ ], items_info.prototype, "items", void 0);
1808
+ items_info = __decorate([
1809
+ Struct.type('items_info')
1810
+ ], items_info);
1811
+ Types.items_info = items_info;
1812
+ let join = class join extends Struct {
1813
+ };
1814
+ __decorate([
1815
+ Struct.field(Name)
1816
+ ], join.prototype, "account", void 0);
1817
+ join = __decorate([
1818
+ Struct.type('join')
1819
+ ], join);
1820
+ Types.join = join;
1821
+ let kind_meta_row = class kind_meta_row extends Struct {
1822
+ };
1823
+ __decorate([
1824
+ Struct.field(Name)
1825
+ ], kind_meta_row.prototype, "kind", void 0);
1826
+ __decorate([
1827
+ Struct.field(UInt8)
1828
+ ], kind_meta_row.prototype, "classification", void 0);
1829
+ __decorate([
1830
+ Struct.field(UInt8)
1831
+ ], kind_meta_row.prototype, "capability_flags", void 0);
1832
+ __decorate([
1833
+ Struct.field(UInt32)
1834
+ ], kind_meta_row.prototype, "z_coord", void 0);
1835
+ __decorate([
1836
+ Struct.field('string')
1837
+ ], kind_meta_row.prototype, "default_label", void 0);
1838
+ kind_meta_row = __decorate([
1839
+ Struct.type('kind_meta_row')
1840
+ ], kind_meta_row);
1841
+ Types.kind_meta_row = kind_meta_row;
1842
+ let template_meta_row = class template_meta_row extends Struct {
1843
+ };
1844
+ __decorate([
1845
+ Struct.field(UInt16)
1846
+ ], template_meta_row.prototype, "item_id", void 0);
1847
+ __decorate([
1848
+ Struct.field(Name)
1849
+ ], template_meta_row.prototype, "kind", void 0);
1850
+ __decorate([
1851
+ Struct.field('string')
1852
+ ], template_meta_row.prototype, "display_label", void 0);
1853
+ template_meta_row = __decorate([
1854
+ Struct.type('template_meta_row')
1855
+ ], template_meta_row);
1856
+ Types.template_meta_row = template_meta_row;
1857
+ let kind_meta_result = class kind_meta_result extends Struct {
1858
+ };
1859
+ __decorate([
1860
+ Struct.field(kind_meta_row, { array: true })
1861
+ ], kind_meta_result.prototype, "kinds", void 0);
1862
+ __decorate([
1863
+ Struct.field(template_meta_row, { array: true })
1864
+ ], kind_meta_result.prototype, "templates", void 0);
1865
+ kind_meta_result = __decorate([
1866
+ Struct.type('kind_meta_result')
1867
+ ], kind_meta_result);
1868
+ Types.kind_meta_result = kind_meta_result;
1869
+ let location_static = class location_static extends Struct {
1870
+ };
1871
+ __decorate([
1872
+ Struct.field(coordinates)
1873
+ ], location_static.prototype, "coords", void 0);
1874
+ __decorate([
1875
+ Struct.field(UInt8)
1876
+ ], location_static.prototype, "type", void 0);
1877
+ __decorate([
1878
+ Struct.field(UInt8)
1879
+ ], location_static.prototype, "subtype", void 0);
1880
+ __decorate([
1881
+ Struct.field(UInt8)
1882
+ ], location_static.prototype, "seed0", void 0);
1883
+ __decorate([
1884
+ Struct.field(UInt8)
1885
+ ], location_static.prototype, "seed1", void 0);
1886
+ location_static = __decorate([
1887
+ Struct.type('location_static')
1888
+ ], location_static);
1889
+ Types.location_static = location_static;
1890
+ let location_derived = class location_derived extends Struct {
1891
+ };
1892
+ __decorate([
1893
+ Struct.field(location_static)
1894
+ ], location_derived.prototype, "static_props", void 0);
1895
+ __decorate([
1896
+ Struct.field(UInt16)
1897
+ ], location_derived.prototype, "size", void 0);
1898
+ location_derived = __decorate([
1899
+ Struct.type('location_derived')
1900
+ ], location_derived);
1901
+ Types.location_derived = location_derived;
1902
+ let location_info = class location_info extends Struct {
1903
+ };
1904
+ __decorate([
1905
+ Struct.field(coordinates)
1906
+ ], location_info.prototype, "coords", void 0);
1907
+ __decorate([
1908
+ Struct.field('bool')
1909
+ ], location_info.prototype, "is_system", void 0);
1910
+ location_info = __decorate([
1911
+ Struct.type('location_info')
1912
+ ], location_info);
1913
+ Types.location_info = location_info;
1914
+ let module_info = class module_info extends Struct {
1915
+ };
1916
+ __decorate([
1917
+ Struct.field(UInt16)
1918
+ ], module_info.prototype, "id", void 0);
1919
+ __decorate([
1920
+ Struct.field(UInt32)
1921
+ ], module_info.prototype, "mass", void 0);
1922
+ __decorate([
1923
+ Struct.field(UInt8)
1924
+ ], module_info.prototype, "module_type", void 0);
1925
+ __decorate([
1926
+ Struct.field(UInt8)
1927
+ ], module_info.prototype, "tier", void 0);
1928
+ module_info = __decorate([
1929
+ Struct.type('module_info')
1930
+ ], module_info);
1931
+ Types.module_info = module_info;
1932
+ let modules_result = class modules_result extends Struct {
1933
+ };
1934
+ __decorate([
1935
+ Struct.field(module_info, { array: true })
1936
+ ], modules_result.prototype, "modules", void 0);
1937
+ modules_result = __decorate([
1938
+ Struct.type('modules_result')
1939
+ ], modules_result);
1940
+ Types.modules_result = modules_result;
1941
+ let nearby_system = class nearby_system extends Struct {
1942
+ };
1943
+ __decorate([
1944
+ Struct.field(UInt64)
1945
+ ], nearby_system.prototype, "distance", void 0);
1946
+ __decorate([
1947
+ Struct.field(UInt64)
1948
+ ], nearby_system.prototype, "energy_cost", void 0);
1949
+ __decorate([
1950
+ Struct.field(UInt32)
1951
+ ], nearby_system.prototype, "flight_time", void 0);
1952
+ __decorate([
1953
+ Struct.field(location_info)
1954
+ ], nearby_system.prototype, "location", void 0);
1955
+ nearby_system = __decorate([
1956
+ Struct.type('nearby_system')
1957
+ ], nearby_system);
1958
+ Types.nearby_system = nearby_system;
1959
+ let nearby_info = class nearby_info extends Struct {
1960
+ };
1961
+ __decorate([
1962
+ Struct.field('bool')
1963
+ ], nearby_info.prototype, "can_travel", void 0);
1964
+ __decorate([
1965
+ Struct.field(entity_current_state)
1966
+ ], nearby_info.prototype, "current", void 0);
1967
+ __decorate([
1968
+ Struct.field(entity_current_state)
1969
+ ], nearby_info.prototype, "projected", void 0);
1970
+ __decorate([
1971
+ Struct.field(UInt16)
1972
+ ], nearby_info.prototype, "max_energy", void 0);
1973
+ __decorate([
1974
+ Struct.field(nearby_system, { array: true })
1975
+ ], nearby_info.prototype, "systems", void 0);
1976
+ nearby_info = __decorate([
1977
+ Struct.type('nearby_info')
1978
+ ], nearby_info);
1979
+ Types.nearby_info = nearby_info;
1980
+ let nft_cargo_item = class nft_cargo_item extends Struct {
1981
+ };
1982
+ __decorate([
1983
+ Struct.field(UInt16)
1984
+ ], nft_cargo_item.prototype, "item_id", void 0);
1985
+ __decorate([
1986
+ Struct.field(UInt64)
1987
+ ], nft_cargo_item.prototype, "stats", void 0);
1988
+ __decorate([
1989
+ Struct.field(module_entry, { array: true })
1990
+ ], nft_cargo_item.prototype, "modules", void 0);
1991
+ __decorate([
1992
+ Struct.field(UInt32)
1993
+ ], nft_cargo_item.prototype, "quantity", void 0);
1994
+ nft_cargo_item = __decorate([
1995
+ Struct.type('nft_cargo_item')
1996
+ ], nft_cargo_item);
1997
+ Types.nft_cargo_item = nft_cargo_item;
1998
+ let nft_item_payload = class nft_item_payload extends Struct {
1999
+ };
2000
+ __decorate([
2001
+ Struct.field(nft_cargo_item)
2002
+ ], nft_item_payload.prototype, "item", void 0);
2003
+ __decorate([
2004
+ Struct.field(coordinates, { optional: true })
2005
+ ], nft_item_payload.prototype, "location", void 0);
2006
+ nft_item_payload = __decorate([
2007
+ Struct.type('nft_item_payload')
2008
+ ], nft_item_payload);
2009
+ Types.nft_item_payload = nft_item_payload;
2010
+ let schema_field = class schema_field extends Struct {
2011
+ };
2012
+ __decorate([
2013
+ Struct.field('string')
2014
+ ], schema_field.prototype, "name", void 0);
2015
+ __decorate([
2016
+ Struct.field('string')
2017
+ ], schema_field.prototype, "field_type", void 0);
2018
+ schema_field = __decorate([
2019
+ Struct.type('schema_field')
2020
+ ], schema_field);
2021
+ Types.schema_field = schema_field;
2022
+ let nft_schema_def = class nft_schema_def extends Struct {
2023
+ };
2024
+ __decorate([
2025
+ Struct.field(Name)
2026
+ ], nft_schema_def.prototype, "schema_name", void 0);
2027
+ __decorate([
2028
+ Struct.field(schema_field, { array: true })
2029
+ ], nft_schema_def.prototype, "fields", void 0);
2030
+ nft_schema_def = __decorate([
2031
+ Struct.type('nft_schema_def')
2032
+ ], nft_schema_def);
2033
+ Types.nft_schema_def = nft_schema_def;
2034
+ let nft_template_def = class nft_template_def extends Struct {
2035
+ };
2036
+ __decorate([
2037
+ Struct.field(UInt16)
2038
+ ], nft_template_def.prototype, "item_id", void 0);
2039
+ __decorate([
2040
+ Struct.field(Name)
2041
+ ], nft_template_def.prototype, "schema_name", void 0);
2042
+ __decorate([
2043
+ Struct.field(Int32)
2044
+ ], nft_template_def.prototype, "template_id", void 0);
2045
+ nft_template_def = __decorate([
2046
+ Struct.type('nft_template_def')
2047
+ ], nft_template_def);
2048
+ Types.nft_template_def = nft_template_def;
2049
+ let nftconfig_row = class nftconfig_row extends Struct {
2050
+ };
2051
+ __decorate([
2052
+ Struct.field(UInt16)
2053
+ ], nftconfig_row.prototype, "item_id", void 0);
2054
+ __decorate([
2055
+ Struct.field(Int32)
2056
+ ], nftconfig_row.prototype, "template_id", void 0);
2057
+ __decorate([
2058
+ Struct.field(Name)
2059
+ ], nftconfig_row.prototype, "schema_name", void 0);
2060
+ nftconfig_row = __decorate([
2061
+ Struct.type('nftconfig_row')
2062
+ ], nftconfig_row);
2063
+ Types.nftconfig_row = nftconfig_row;
2064
+ let nftimgurl = class nftimgurl extends Struct {
2065
+ };
2066
+ __decorate([
2067
+ Struct.field(cargo_item)
2068
+ ], nftimgurl.prototype, "item", void 0);
2069
+ __decorate([
2070
+ Struct.field(coordinates, { optional: true })
2071
+ ], nftimgurl.prototype, "location", void 0);
2072
+ nftimgurl = __decorate([
2073
+ Struct.type('nftimgurl')
2074
+ ], nftimgurl);
2075
+ Types.nftimgurl = nftimgurl;
2076
+ let nftinfo_result = class nftinfo_result extends Struct {
2077
+ };
2078
+ __decorate([
2079
+ Struct.field(nft_schema_def, { array: true })
2080
+ ], nftinfo_result.prototype, "schemas", void 0);
2081
+ __decorate([
2082
+ Struct.field(nft_template_def, { array: true })
2083
+ ], nftinfo_result.prototype, "templates", void 0);
2084
+ nftinfo_result = __decorate([
2085
+ Struct.type('nftinfo_result')
2086
+ ], nftinfo_result);
2087
+ Types.nftinfo_result = nftinfo_result;
2088
+ let task_event = class task_event extends Struct {
2089
+ };
2090
+ __decorate([
2091
+ Struct.field(UInt8)
2092
+ ], task_event.prototype, "event_type", void 0);
2093
+ __decorate([
2094
+ Struct.field(Name)
2095
+ ], task_event.prototype, "owner", void 0);
2096
+ __decorate([
2097
+ Struct.field(Name)
2098
+ ], task_event.prototype, "entity_type", void 0);
2099
+ __decorate([
2100
+ Struct.field(UInt64)
2101
+ ], task_event.prototype, "entity_id", void 0);
2102
+ __decorate([
2103
+ Struct.field(UInt8)
2104
+ ], task_event.prototype, "task_index", void 0);
2105
+ __decorate([
2106
+ Struct.field(task)
2107
+ ], task_event.prototype, "task", void 0);
2108
+ __decorate([
2109
+ Struct.field(TimePoint)
2110
+ ], task_event.prototype, "starts_at", void 0);
2111
+ __decorate([
2112
+ Struct.field(TimePoint)
2113
+ ], task_event.prototype, "completes_at", void 0);
2114
+ __decorate([
2115
+ Struct.field(UInt16, { optional: true })
2116
+ ], task_event.prototype, "new_energy", void 0);
2117
+ task_event = __decorate([
2118
+ Struct.type('task_event')
2119
+ ], task_event);
2120
+ Types.task_event = task_event;
2121
+ let notify = class notify extends Struct {
2122
+ };
2123
+ __decorate([
2124
+ Struct.field(task_event)
2125
+ ], notify.prototype, "event", void 0);
2126
+ notify = __decorate([
2127
+ Struct.type('notify')
2128
+ ], notify);
2129
+ Types.notify = notify;
2130
+ let oracle_config_row = class oracle_config_row extends Struct {
2131
+ };
2132
+ __decorate([
2133
+ Struct.field(UInt8)
2134
+ ], oracle_config_row.prototype, "threshold", void 0);
2135
+ oracle_config_row = __decorate([
2136
+ Struct.type('oracle_config_row')
2137
+ ], oracle_config_row);
2138
+ Types.oracle_config_row = oracle_config_row;
2139
+ let oracle_row = class oracle_row extends Struct {
2140
+ };
2141
+ __decorate([
2142
+ Struct.field(Name)
2143
+ ], oracle_row.prototype, "id", void 0);
2144
+ oracle_row = __decorate([
2145
+ Struct.type('oracle_row')
2146
+ ], oracle_row);
2147
+ Types.oracle_row = oracle_row;
2148
+ let placecargo = class placecargo extends Struct {
2149
+ };
2150
+ __decorate([
2151
+ Struct.field(Name)
2152
+ ], placecargo.prototype, "owner", void 0);
2153
+ __decorate([
2154
+ Struct.field(UInt64)
2155
+ ], placecargo.prototype, "host_id", void 0);
2156
+ __decorate([
2157
+ Struct.field(UInt64)
2158
+ ], placecargo.prototype, "asset_id", void 0);
2159
+ placecargo = __decorate([
2160
+ Struct.type('placecargo')
2161
+ ], placecargo);
2162
+ Types.placecargo = placecargo;
2163
+ let placeentity = class placeentity extends Struct {
2164
+ };
2165
+ __decorate([
2166
+ Struct.field(Name)
2167
+ ], placeentity.prototype, "owner", void 0);
2168
+ __decorate([
2169
+ Struct.field(UInt64)
2170
+ ], placeentity.prototype, "asset_id", void 0);
2171
+ __decorate([
2172
+ Struct.field(UInt64)
2173
+ ], placeentity.prototype, "target_nexus_id", void 0);
2174
+ placeentity = __decorate([
2175
+ Struct.type('placeentity')
2176
+ ], placeentity);
2177
+ Types.placeentity = placeentity;
2178
+ let player_info = class player_info extends Struct {
2179
+ };
2180
+ __decorate([
2181
+ Struct.field(Name)
2182
+ ], player_info.prototype, "owner", void 0);
2183
+ __decorate([
2184
+ Struct.field('bool')
2185
+ ], player_info.prototype, "is_player", void 0);
2186
+ __decorate([
2187
+ Struct.field('string')
2188
+ ], player_info.prototype, "company_name", void 0);
2189
+ player_info = __decorate([
2190
+ Struct.type('player_info')
2191
+ ], player_info);
2192
+ Types.player_info = player_info;
2193
+ let player_row = class player_row extends Struct {
2194
+ };
2195
+ __decorate([
2196
+ Struct.field(Name)
2197
+ ], player_row.prototype, "owner", void 0);
2198
+ player_row = __decorate([
2199
+ Struct.type('player_row')
2200
+ ], player_row);
2201
+ Types.player_row = player_row;
2202
+ let projected_state = class projected_state extends Struct {
2203
+ };
2204
+ __decorate([
2205
+ Struct.field(Name)
2206
+ ], projected_state.prototype, "owner", void 0);
2207
+ __decorate([
2208
+ Struct.field(coordinates)
2209
+ ], projected_state.prototype, "coordinates", void 0);
2210
+ __decorate([
2211
+ Struct.field(UInt16, { optional: true })
2212
+ ], projected_state.prototype, "energy", void 0);
2213
+ __decorate([
2214
+ Struct.field(UInt32)
2215
+ ], projected_state.prototype, "cargomass", void 0);
2216
+ __decorate([
2217
+ Struct.field(cargo_view, { array: true })
2218
+ ], projected_state.prototype, "cargo", void 0);
2219
+ __decorate([
2220
+ Struct.field(UInt32, { optional: true })
2221
+ ], projected_state.prototype, "hullmass", void 0);
2222
+ __decorate([
2223
+ Struct.field(UInt32, { optional: true })
2224
+ ], projected_state.prototype, "capacity", void 0);
2225
+ __decorate([
2226
+ Struct.field(movement_stats, { optional: true })
2227
+ ], projected_state.prototype, "engines", void 0);
2228
+ __decorate([
2229
+ Struct.field(warp_stats, { optional: true })
2230
+ ], projected_state.prototype, "warp", void 0);
2231
+ __decorate([
2232
+ Struct.field(energy_stats, { optional: true })
2233
+ ], projected_state.prototype, "generator", void 0);
2234
+ __decorate([
2235
+ Struct.field(gatherer_stats, { optional: true })
2236
+ ], projected_state.prototype, "gatherer", void 0);
2237
+ __decorate([
2238
+ Struct.field(loader_stats, { optional: true })
2239
+ ], projected_state.prototype, "loaders", void 0);
2240
+ __decorate([
2241
+ Struct.field(hauler_stats, { optional: true })
2242
+ ], projected_state.prototype, "hauler", void 0);
2243
+ __decorate([
2244
+ Struct.field(crafter_stats, { optional: true })
2245
+ ], projected_state.prototype, "crafter", void 0);
2246
+ projected_state = __decorate([
2247
+ Struct.type('projected_state')
2248
+ ], projected_state);
2249
+ Types.projected_state = projected_state;
2250
+ let recharge = class recharge extends Struct {
2251
+ };
2252
+ __decorate([
2253
+ Struct.field(UInt64)
2254
+ ], recharge.prototype, "id", void 0);
2255
+ recharge = __decorate([
2256
+ Struct.type('recharge')
2257
+ ], recharge);
2258
+ Types.recharge = recharge;
2259
+ let refrshentity = class refrshentity extends Struct {
2260
+ };
2261
+ __decorate([
2262
+ Struct.field(UInt64)
2263
+ ], refrshentity.prototype, "entity_id", void 0);
2264
+ refrshentity = __decorate([
2265
+ Struct.type('refrshentity')
2266
+ ], refrshentity);
2267
+ Types.refrshentity = refrshentity;
2268
+ let removeoracle = class removeoracle extends Struct {
2269
+ };
2270
+ __decorate([
2271
+ Struct.field(Name)
2272
+ ], removeoracle.prototype, "oracle_id", void 0);
2273
+ removeoracle = __decorate([
2274
+ Struct.type('removeoracle')
2275
+ ], removeoracle);
2276
+ Types.removeoracle = removeoracle;
2277
+ let resolve = class resolve extends Struct {
2278
+ };
2279
+ __decorate([
2280
+ Struct.field(UInt64)
2281
+ ], resolve.prototype, "id", void 0);
2282
+ __decorate([
2283
+ Struct.field(UInt64, { optional: true })
2284
+ ], resolve.prototype, "count", void 0);
2285
+ resolve = __decorate([
2286
+ Struct.type('resolve')
2287
+ ], resolve);
2288
+ Types.resolve = resolve;
2289
+ let resolve_results = class resolve_results extends Struct {
2290
+ };
2291
+ __decorate([
2292
+ Struct.field(UInt64)
2293
+ ], resolve_results.prototype, "entity_id", void 0);
2294
+ __decorate([
2295
+ Struct.field(Name)
2296
+ ], resolve_results.prototype, "entity_type", void 0);
2297
+ __decorate([
2298
+ Struct.field(UInt8)
2299
+ ], resolve_results.prototype, "resolved_count", void 0);
2300
+ __decorate([
2301
+ Struct.field(TimePoint, { optional: true })
2302
+ ], resolve_results.prototype, "new_schedule_started", void 0);
2303
+ __decorate([
2304
+ Struct.field(UInt64, { optional: true })
2305
+ ], resolve_results.prototype, "entitygroup", void 0);
2306
+ __decorate([
2307
+ Struct.field(entity_ref, { array: true, optional: true })
2308
+ ], resolve_results.prototype, "group_members", void 0);
2309
+ resolve_results = __decorate([
2310
+ Struct.type('resolve_results')
2311
+ ], resolve_results);
2312
+ Types.resolve_results = resolve_results;
2313
+ let resource_info = class resource_info extends Struct {
2314
+ };
2315
+ __decorate([
2316
+ Struct.field(UInt16)
2317
+ ], resource_info.prototype, "id", void 0);
2318
+ __decorate([
2319
+ Struct.field(UInt32)
2320
+ ], resource_info.prototype, "mass", void 0);
2321
+ __decorate([
2322
+ Struct.field(UInt8)
2323
+ ], resource_info.prototype, "category", void 0);
2324
+ __decorate([
2325
+ Struct.field(UInt8)
2326
+ ], resource_info.prototype, "tier", void 0);
2327
+ resource_info = __decorate([
2328
+ Struct.type('resource_info')
2329
+ ], resource_info);
2330
+ Types.resource_info = resource_info;
2331
+ let resource_stats = class resource_stats extends Struct {
2332
+ };
2333
+ __decorate([
2334
+ Struct.field(UInt16)
2335
+ ], resource_stats.prototype, "stat1", void 0);
2336
+ __decorate([
2337
+ Struct.field(UInt16)
2338
+ ], resource_stats.prototype, "stat2", void 0);
2339
+ __decorate([
2340
+ Struct.field(UInt16)
2341
+ ], resource_stats.prototype, "stat3", void 0);
2342
+ resource_stats = __decorate([
2343
+ Struct.type('resource_stats')
2344
+ ], resource_stats);
2345
+ Types.resource_stats = resource_stats;
2346
+ let resources_result = class resources_result extends Struct {
2347
+ };
2348
+ __decorate([
2349
+ Struct.field(resource_info, { array: true })
2350
+ ], resources_result.prototype, "resources", void 0);
2351
+ resources_result = __decorate([
2352
+ Struct.type('resources_result')
2353
+ ], resources_result);
2354
+ Types.resources_result = resources_result;
2355
+ let reveal = class reveal extends Struct {
2356
+ };
2357
+ __decorate([
2358
+ Struct.field(Name)
2359
+ ], reveal.prototype, "oracle_id", void 0);
2360
+ __decorate([
2361
+ Struct.field(UInt64)
2362
+ ], reveal.prototype, "epoch", void 0);
2363
+ __decorate([
2364
+ Struct.field(Checksum256)
2365
+ ], reveal.prototype, "reveal", void 0);
2366
+ reveal = __decorate([
2367
+ Struct.type('reveal')
2368
+ ], reveal);
2369
+ Types.reveal = reveal;
2370
+ let reveal_row = class reveal_row extends Struct {
2371
+ };
2372
+ __decorate([
2373
+ Struct.field(UInt64)
2374
+ ], reveal_row.prototype, "id", void 0);
2375
+ __decorate([
2376
+ Struct.field(UInt64)
2377
+ ], reveal_row.prototype, "epoch", void 0);
2378
+ __decorate([
2379
+ Struct.field(Name)
2380
+ ], reveal_row.prototype, "oracle_id", void 0);
2381
+ __decorate([
2382
+ Struct.field(Checksum256)
2383
+ ], reveal_row.prototype, "reveal", void 0);
2384
+ reveal_row = __decorate([
2385
+ Struct.type('reveal_row')
2386
+ ], reveal_row);
2387
+ Types.reveal_row = reveal_row;
2388
+ let rmmodule = class rmmodule extends Struct {
2389
+ };
2390
+ __decorate([
2391
+ Struct.field(UInt64)
2392
+ ], rmmodule.prototype, "entity_id", void 0);
2393
+ __decorate([
2394
+ Struct.field(UInt8)
2395
+ ], rmmodule.prototype, "module_index", void 0);
2396
+ __decorate([
2397
+ Struct.field(cargo_ref, { optional: true })
2398
+ ], rmmodule.prototype, "target_ref", void 0);
2399
+ rmmodule = __decorate([
2400
+ Struct.type('rmmodule')
2401
+ ], rmmodule);
2402
+ Types.rmmodule = rmmodule;
2403
+ let rmnftcfg = class rmnftcfg extends Struct {
2404
+ };
2405
+ __decorate([
2406
+ Struct.field(UInt16)
2407
+ ], rmnftcfg.prototype, "item_id", void 0);
2408
+ rmnftcfg = __decorate([
2409
+ Struct.type('rmnftcfg')
2410
+ ], rmnftcfg);
2411
+ Types.rmnftcfg = rmnftcfg;
2412
+ let setnftcfg = class setnftcfg extends Struct {
2413
+ };
2414
+ __decorate([
2415
+ Struct.field(UInt16)
2416
+ ], setnftcfg.prototype, "item_id", void 0);
2417
+ __decorate([
2418
+ Struct.field(Int32)
2419
+ ], setnftcfg.prototype, "template_id", void 0);
2420
+ __decorate([
2421
+ Struct.field(Name)
2422
+ ], setnftcfg.prototype, "schema_name", void 0);
2423
+ setnftcfg = __decorate([
2424
+ Struct.type('setnftcfg')
2425
+ ], setnftcfg);
2426
+ Types.setnftcfg = setnftcfg;
2427
+ let setthreshold = class setthreshold extends Struct {
2428
+ };
2429
+ __decorate([
2430
+ Struct.field(UInt8)
2431
+ ], setthreshold.prototype, "threshold", void 0);
2432
+ setthreshold = __decorate([
2433
+ Struct.type('setthreshold')
2434
+ ], setthreshold);
2435
+ Types.setthreshold = setthreshold;
2436
+ let setwrapcost = class setwrapcost extends Struct {
2437
+ };
2438
+ __decorate([
2439
+ Struct.field(UInt8)
2440
+ ], setwrapcost.prototype, "item_type", void 0);
2441
+ __decorate([
2442
+ Struct.field(UInt8)
2443
+ ], setwrapcost.prototype, "tier", void 0);
2444
+ __decorate([
2445
+ Struct.field(UInt64)
2446
+ ], setwrapcost.prototype, "amount", void 0);
2447
+ setwrapcost = __decorate([
2448
+ Struct.type('setwrapcost')
2449
+ ], setwrapcost);
2450
+ Types.setwrapcost = setwrapcost;
2451
+ let setwrapfee = class setwrapfee extends Struct {
2452
+ };
2453
+ __decorate([
2454
+ Struct.field(UInt16)
2455
+ ], setwrapfee.prototype, "fee_pct", void 0);
2456
+ __decorate([
2457
+ Struct.field(Name)
2458
+ ], setwrapfee.prototype, "fee_account", void 0);
2459
+ setwrapfee = __decorate([
2460
+ Struct.type('setwrapfee')
2461
+ ], setwrapfee);
2462
+ Types.setwrapfee = setwrapfee;
2463
+ let stowcargo = class stowcargo extends Struct {
2464
+ };
2465
+ __decorate([
2466
+ Struct.field(Name)
2467
+ ], stowcargo.prototype, "owner", void 0);
2468
+ __decorate([
2469
+ Struct.field(UInt64)
2470
+ ], stowcargo.prototype, "entity_id", void 0);
2471
+ __decorate([
2472
+ Struct.field(UInt64)
2473
+ ], stowcargo.prototype, "nexus_id", void 0);
2474
+ __decorate([
2475
+ Struct.field(UInt64)
2476
+ ], stowcargo.prototype, "cargo_id", void 0);
2477
+ __decorate([
2478
+ Struct.field(UInt64)
2479
+ ], stowcargo.prototype, "quantity", void 0);
2480
+ stowcargo = __decorate([
2481
+ Struct.type('stowcargo')
2482
+ ], stowcargo);
2483
+ Types.stowcargo = stowcargo;
2484
+ let stowentity = class stowentity extends Struct {
2485
+ };
2486
+ __decorate([
2487
+ Struct.field(Name)
2488
+ ], stowentity.prototype, "owner", void 0);
2489
+ __decorate([
2490
+ Struct.field(UInt64)
2491
+ ], stowentity.prototype, "entity_id", void 0);
2492
+ __decorate([
2493
+ Struct.field(UInt64)
2494
+ ], stowentity.prototype, "nexus_id", void 0);
2495
+ stowentity = __decorate([
2496
+ Struct.type('stowentity')
2497
+ ], stowentity);
2498
+ Types.stowentity = stowentity;
2499
+ let stratum_info = class stratum_info extends Struct {
2500
+ };
2501
+ __decorate([
2502
+ Struct.field(UInt16)
2503
+ ], stratum_info.prototype, "item_id", void 0);
2504
+ __decorate([
2505
+ Struct.field(UInt64)
2506
+ ], stratum_info.prototype, "seed", void 0);
2507
+ __decorate([
2508
+ Struct.field(UInt16)
2509
+ ], stratum_info.prototype, "richness", void 0);
2510
+ __decorate([
2511
+ Struct.field(UInt32)
2512
+ ], stratum_info.prototype, "reserve", void 0);
2513
+ __decorate([
2514
+ Struct.field(UInt32)
2515
+ ], stratum_info.prototype, "reserve_max", void 0);
2516
+ stratum_info = __decorate([
2517
+ Struct.type('stratum_info')
2518
+ ], stratum_info);
2519
+ Types.stratum_info = stratum_info;
2520
+ let stratum_data = class stratum_data extends Struct {
2521
+ };
2522
+ __decorate([
2523
+ Struct.field(stratum_info)
2524
+ ], stratum_data.prototype, "stratum", void 0);
2525
+ __decorate([
2526
+ Struct.field(resource_stats)
2527
+ ], stratum_data.prototype, "stats", void 0);
2528
+ stratum_data = __decorate([
2529
+ Struct.type('stratum_data')
2530
+ ], stratum_data);
2531
+ Types.stratum_data = stratum_data;
2532
+ let stratum_remaining = class stratum_remaining extends Struct {
2533
+ };
2534
+ __decorate([
2535
+ Struct.field(UInt16)
2536
+ ], stratum_remaining.prototype, "stratum", void 0);
2537
+ __decorate([
2538
+ Struct.field(UInt32)
2539
+ ], stratum_remaining.prototype, "remaining", void 0);
2540
+ __decorate([
2541
+ Struct.field(BlockTimestamp)
2542
+ ], stratum_remaining.prototype, "last_block", void 0);
2543
+ stratum_remaining = __decorate([
2544
+ Struct.type('stratum_remaining')
2545
+ ], stratum_remaining);
2546
+ Types.stratum_remaining = stratum_remaining;
2547
+ let task_results = class task_results extends Struct {
2548
+ };
2549
+ __decorate([
2550
+ Struct.field(entity_task_info, { array: true })
2551
+ ], task_results.prototype, "entities", void 0);
2552
+ task_results = __decorate([
2553
+ Struct.type('task_results')
2554
+ ], task_results);
2555
+ Types.task_results = task_results;
2556
+ let transfer = class transfer extends Struct {
2557
+ };
2558
+ __decorate([
2559
+ Struct.field(UInt64)
2560
+ ], transfer.prototype, "source_id", void 0);
2561
+ __decorate([
2562
+ Struct.field(UInt64)
2563
+ ], transfer.prototype, "dest_id", void 0);
2564
+ __decorate([
2565
+ Struct.field(cargo_item, { array: true })
2566
+ ], transfer.prototype, "items", void 0);
2567
+ transfer = __decorate([
2568
+ Struct.type('transfer')
2569
+ ], transfer);
2570
+ Types.transfer = transfer;
2571
+ let travel = class travel extends Struct {
2572
+ };
2573
+ __decorate([
2574
+ Struct.field(UInt64)
2575
+ ], travel.prototype, "id", void 0);
2576
+ __decorate([
2577
+ Struct.field(Int64)
2578
+ ], travel.prototype, "x", void 0);
2579
+ __decorate([
2580
+ Struct.field(Int64)
2581
+ ], travel.prototype, "y", void 0);
2582
+ __decorate([
2583
+ Struct.field('bool')
2584
+ ], travel.prototype, "recharge", void 0);
2585
+ travel = __decorate([
2586
+ Struct.type('travel')
2587
+ ], travel);
2588
+ Types.travel = travel;
2589
+ let types_row = class types_row extends Struct {
2590
+ };
2591
+ __decorate([
2592
+ Struct.field(UInt64)
2593
+ ], types_row.prototype, "id", void 0);
2594
+ __decorate([
2595
+ Struct.field(entity_summary)
2596
+ ], types_row.prototype, "entity_summary_type", void 0);
2597
+ __decorate([
2598
+ Struct.field(game_config)
2599
+ ], types_row.prototype, "game_config_type", void 0);
2600
+ __decorate([
2601
+ Struct.field(stratum_remaining)
2602
+ ], types_row.prototype, "stratum_remaining_type", void 0);
2603
+ __decorate([
2604
+ Struct.field(nft_item_payload)
2605
+ ], types_row.prototype, "nft_item_payload_type", void 0);
2606
+ types_row = __decorate([
2607
+ Struct.type('types_row')
2608
+ ], types_row);
2609
+ Types.types_row = types_row;
2610
+ let undeploy = class undeploy extends Struct {
2611
+ };
2612
+ __decorate([
2613
+ Struct.field(UInt64)
2614
+ ], undeploy.prototype, "host_id", void 0);
2615
+ __decorate([
2616
+ Struct.field(UInt64)
2617
+ ], undeploy.prototype, "target_id", void 0);
2618
+ undeploy = __decorate([
2619
+ Struct.type('undeploy')
2620
+ ], undeploy);
2621
+ Types.undeploy = undeploy;
2622
+ let warp = class warp extends Struct {
2623
+ };
2624
+ __decorate([
2625
+ Struct.field(UInt64)
2626
+ ], warp.prototype, "id", void 0);
2627
+ __decorate([
2628
+ Struct.field(Int64)
2629
+ ], warp.prototype, "x", void 0);
2630
+ __decorate([
2631
+ Struct.field(Int64)
2632
+ ], warp.prototype, "y", void 0);
2633
+ warp = __decorate([
2634
+ Struct.type('warp')
2635
+ ], warp);
2636
+ Types.warp = warp;
2637
+ let wipe = class wipe extends Struct {
2638
+ };
2639
+ wipe = __decorate([
2640
+ Struct.type('wipe')
2641
+ ], wipe);
2642
+ Types.wipe = wipe;
2643
+ let wrapconfig_row = class wrapconfig_row extends Struct {
2644
+ };
2645
+ __decorate([
2646
+ Struct.field(UInt16)
2647
+ ], wrapconfig_row.prototype, "fee_pct", void 0);
2648
+ __decorate([
2649
+ Struct.field(Name)
2650
+ ], wrapconfig_row.prototype, "fee_account", void 0);
2651
+ wrapconfig_row = __decorate([
2652
+ Struct.type('wrapconfig_row')
2653
+ ], wrapconfig_row);
2654
+ Types.wrapconfig_row = wrapconfig_row;
2655
+ let wrapcost_row = class wrapcost_row extends Struct {
2656
+ };
2657
+ __decorate([
2658
+ Struct.field(UInt8)
2659
+ ], wrapcost_row.prototype, "item_type", void 0);
2660
+ __decorate([
2661
+ Struct.field(UInt8)
2662
+ ], wrapcost_row.prototype, "tier", void 0);
2663
+ __decorate([
2664
+ Struct.field(UInt64)
2665
+ ], wrapcost_row.prototype, "amount", void 0);
2666
+ wrapcost_row = __decorate([
2667
+ Struct.type('wrapcost_row')
2668
+ ], wrapcost_row);
2669
+ Types.wrapcost_row = wrapcost_row;
2670
+ })(Types || (Types = {}));
2671
+ ({
2672
+ cargo: Types.cargo_row,
2673
+ commit: Types.commit_row,
2674
+ entity: Types.entity_row,
2675
+ entitygroup: Types.entitygroup_row,
2676
+ entityseq: Types.entity_seq_row,
2677
+ epoch: Types.epoch_row,
2678
+ nftconfig: Types.nftconfig_row,
2679
+ oraclecfg: Types.oracle_config_row,
2680
+ oracles: Types.oracle_row,
2681
+ player: Types.player_row,
2682
+ reserve: Types.reserve_row,
2683
+ reveal: Types.reveal_row,
2684
+ state: Types.state_row,
2685
+ types: Types.types_row,
2686
+ wrapconfig: Types.wrapconfig_row,
2687
+ wrapcost: Types.wrapcost_row,
2688
+ });
2689
+
2690
+ var items = [
2691
+ {
2692
+ id: 101,
2693
+ mass: 1000,
2694
+ type: "resource",
2695
+ tier: 1,
2696
+ category: "ore"
2697
+ },
2698
+ {
2699
+ id: 102,
2700
+ mass: 1000,
2701
+ type: "resource",
2702
+ tier: 2,
2703
+ category: "ore"
2704
+ },
2705
+ {
2706
+ id: 103,
2707
+ mass: 1000,
2708
+ type: "resource",
2709
+ tier: 3,
2710
+ category: "ore"
2711
+ },
2712
+ {
2713
+ id: 104,
2714
+ mass: 1000,
2715
+ type: "resource",
2716
+ tier: 4,
2717
+ category: "ore"
2718
+ },
2719
+ {
2720
+ id: 105,
2721
+ mass: 1000,
2722
+ type: "resource",
2723
+ tier: 5,
2724
+ category: "ore"
2725
+ },
2726
+ {
2727
+ id: 106,
2728
+ mass: 1000,
2729
+ type: "resource",
2730
+ tier: 6,
2731
+ category: "ore"
2732
+ },
2733
+ {
2734
+ id: 107,
2735
+ mass: 1000,
2736
+ type: "resource",
2737
+ tier: 7,
2738
+ category: "ore"
2739
+ },
2740
+ {
2741
+ id: 108,
2742
+ mass: 1000,
2743
+ type: "resource",
2744
+ tier: 8,
2745
+ category: "ore"
2746
+ },
2747
+ {
2748
+ id: 109,
2749
+ mass: 1000,
2750
+ type: "resource",
2751
+ tier: 9,
2752
+ category: "ore"
2753
+ },
2754
+ {
2755
+ id: 110,
2756
+ mass: 1000,
2757
+ type: "resource",
2758
+ tier: 10,
2759
+ category: "ore"
2760
+ },
2761
+ {
2762
+ id: 201,
2763
+ mass: 1000,
2764
+ type: "resource",
2765
+ tier: 1,
2766
+ category: "crystal"
2767
+ },
2768
+ {
2769
+ id: 202,
2770
+ mass: 1000,
2771
+ type: "resource",
2772
+ tier: 2,
2773
+ category: "crystal"
2774
+ },
2775
+ {
2776
+ id: 203,
2777
+ mass: 1000,
2778
+ type: "resource",
2779
+ tier: 3,
2780
+ category: "crystal"
2781
+ },
2782
+ {
2783
+ id: 204,
2784
+ mass: 1000,
2785
+ type: "resource",
2786
+ tier: 4,
2787
+ category: "crystal"
2788
+ },
2789
+ {
2790
+ id: 205,
2791
+ mass: 1000,
2792
+ type: "resource",
2793
+ tier: 5,
2794
+ category: "crystal"
2795
+ },
2796
+ {
2797
+ id: 206,
2798
+ mass: 1000,
2799
+ type: "resource",
2800
+ tier: 6,
2801
+ category: "crystal"
2802
+ },
2803
+ {
2804
+ id: 207,
2805
+ mass: 1000,
2806
+ type: "resource",
2807
+ tier: 7,
2808
+ category: "crystal"
2809
+ },
2810
+ {
2811
+ id: 208,
2812
+ mass: 1000,
2813
+ type: "resource",
2814
+ tier: 8,
2815
+ category: "crystal"
2816
+ },
2817
+ {
2818
+ id: 209,
2819
+ mass: 1000,
2820
+ type: "resource",
2821
+ tier: 9,
2822
+ category: "crystal"
2823
+ },
2824
+ {
2825
+ id: 210,
2826
+ mass: 1000,
2827
+ type: "resource",
2828
+ tier: 10,
2829
+ category: "crystal"
2830
+ },
2831
+ {
2832
+ id: 301,
2833
+ mass: 1000,
2834
+ type: "resource",
2835
+ tier: 1,
2836
+ category: "gas"
2837
+ },
2838
+ {
2839
+ id: 302,
2840
+ mass: 1000,
2841
+ type: "resource",
2842
+ tier: 2,
2843
+ category: "gas"
2844
+ },
2845
+ {
2846
+ id: 303,
2847
+ mass: 1000,
2848
+ type: "resource",
2849
+ tier: 3,
2850
+ category: "gas"
2851
+ },
2852
+ {
2853
+ id: 304,
2854
+ mass: 1000,
2855
+ type: "resource",
2856
+ tier: 4,
2857
+ category: "gas"
2858
+ },
2859
+ {
2860
+ id: 305,
2861
+ mass: 1000,
2862
+ type: "resource",
2863
+ tier: 5,
2864
+ category: "gas"
2865
+ },
2866
+ {
2867
+ id: 306,
2868
+ mass: 1000,
2869
+ type: "resource",
2870
+ tier: 6,
2871
+ category: "gas"
2872
+ },
2873
+ {
2874
+ id: 307,
2875
+ mass: 1000,
2876
+ type: "resource",
2877
+ tier: 7,
2878
+ category: "gas"
2879
+ },
2880
+ {
2881
+ id: 308,
2882
+ mass: 1000,
2883
+ type: "resource",
2884
+ tier: 8,
2885
+ category: "gas"
2886
+ },
2887
+ {
2888
+ id: 309,
2889
+ mass: 1000,
2890
+ type: "resource",
2891
+ tier: 9,
2892
+ category: "gas"
2893
+ },
2894
+ {
2895
+ id: 310,
2896
+ mass: 1000,
2897
+ type: "resource",
2898
+ tier: 10,
2899
+ category: "gas"
2900
+ },
2901
+ {
2902
+ id: 401,
2903
+ mass: 1000,
2904
+ type: "resource",
2905
+ tier: 1,
2906
+ category: "regolith"
2907
+ },
2908
+ {
2909
+ id: 402,
2910
+ mass: 1000,
2911
+ type: "resource",
2912
+ tier: 2,
2913
+ category: "regolith"
2914
+ },
2915
+ {
2916
+ id: 403,
2917
+ mass: 1000,
2918
+ type: "resource",
2919
+ tier: 3,
2920
+ category: "regolith"
2921
+ },
2922
+ {
2923
+ id: 404,
2924
+ mass: 1000,
2925
+ type: "resource",
2926
+ tier: 4,
2927
+ category: "regolith"
2928
+ },
2929
+ {
2930
+ id: 405,
2931
+ mass: 1000,
2932
+ type: "resource",
2933
+ tier: 5,
2934
+ category: "regolith"
2935
+ },
2936
+ {
2937
+ id: 406,
2938
+ mass: 1000,
2939
+ type: "resource",
2940
+ tier: 6,
2941
+ category: "regolith"
2942
+ },
2943
+ {
2944
+ id: 407,
2945
+ mass: 1000,
2946
+ type: "resource",
2947
+ tier: 7,
2948
+ category: "regolith"
2949
+ },
2950
+ {
2951
+ id: 408,
2952
+ mass: 1000,
2953
+ type: "resource",
2954
+ tier: 8,
2955
+ category: "regolith"
2956
+ },
2957
+ {
2958
+ id: 409,
2959
+ mass: 1000,
2960
+ type: "resource",
2961
+ tier: 9,
2962
+ category: "regolith"
2963
+ },
2964
+ {
2965
+ id: 410,
2966
+ mass: 1000,
2967
+ type: "resource",
2968
+ tier: 10,
2969
+ category: "regolith"
2970
+ },
2971
+ {
2972
+ id: 501,
2973
+ mass: 1000,
2974
+ type: "resource",
2975
+ tier: 1,
2976
+ category: "biomass"
2977
+ },
2978
+ {
2979
+ id: 502,
2980
+ mass: 1000,
2981
+ type: "resource",
2982
+ tier: 2,
2983
+ category: "biomass"
2984
+ },
2985
+ {
2986
+ id: 503,
2987
+ mass: 1000,
2988
+ type: "resource",
2989
+ tier: 3,
2990
+ category: "biomass"
2991
+ },
2992
+ {
2993
+ id: 504,
2994
+ mass: 1000,
2995
+ type: "resource",
2996
+ tier: 4,
2997
+ category: "biomass"
2998
+ },
2999
+ {
3000
+ id: 505,
3001
+ mass: 1000,
3002
+ type: "resource",
3003
+ tier: 5,
3004
+ category: "biomass"
3005
+ },
3006
+ {
3007
+ id: 506,
3008
+ mass: 1000,
3009
+ type: "resource",
3010
+ tier: 6,
3011
+ category: "biomass"
3012
+ },
3013
+ {
3014
+ id: 507,
3015
+ mass: 1000,
3016
+ type: "resource",
3017
+ tier: 7,
3018
+ category: "biomass"
3019
+ },
3020
+ {
3021
+ id: 508,
3022
+ mass: 1000,
3023
+ type: "resource",
3024
+ tier: 8,
3025
+ category: "biomass"
3026
+ },
3027
+ {
3028
+ id: 509,
3029
+ mass: 1000,
3030
+ type: "resource",
3031
+ tier: 9,
3032
+ category: "biomass"
3033
+ },
3034
+ {
3035
+ id: 510,
3036
+ mass: 1000,
3037
+ type: "resource",
3038
+ tier: 10,
3039
+ category: "biomass"
3040
+ },
3041
+ {
3042
+ id: 10001,
3043
+ mass: 4000,
3044
+ type: "component",
3045
+ tier: 1
3046
+ },
3047
+ {
3048
+ id: 10002,
3049
+ mass: 6000,
3050
+ type: "component",
3051
+ tier: 1
3052
+ },
3053
+ {
3054
+ id: 10003,
3055
+ mass: 4000,
3056
+ type: "component",
3057
+ tier: 1
3058
+ },
3059
+ {
3060
+ id: 10004,
3061
+ mass: 6000,
3062
+ type: "component",
3063
+ tier: 1
3064
+ },
3065
+ {
3066
+ id: 10005,
3067
+ mass: 6000,
3068
+ type: "component",
3069
+ tier: 1
3070
+ },
3071
+ {
3072
+ id: 10006,
3073
+ mass: 4000,
3074
+ type: "component",
3075
+ tier: 1
3076
+ },
3077
+ {
3078
+ id: 10007,
3079
+ mass: 4000,
3080
+ type: "component",
3081
+ tier: 1
3082
+ },
3083
+ {
3084
+ id: 10008,
3085
+ mass: 4000,
3086
+ type: "component",
3087
+ tier: 1
3088
+ },
3089
+ {
3090
+ id: 10009,
3091
+ mass: 6000,
3092
+ type: "component",
3093
+ tier: 1
3094
+ },
3095
+ {
3096
+ id: 10010,
3097
+ mass: 6000,
3098
+ type: "component",
3099
+ tier: 1
3100
+ },
3101
+ {
3102
+ id: 10100,
3103
+ mass: 900000,
3104
+ type: "module",
3105
+ tier: 1,
3106
+ subtype: "engine"
3107
+ },
3108
+ {
3109
+ id: 10101,
3110
+ mass: 1400000,
3111
+ type: "module",
3112
+ tier: 1,
3113
+ subtype: "generator"
3114
+ },
3115
+ {
3116
+ id: 10102,
3117
+ mass: 1200000,
3118
+ type: "module",
3119
+ tier: 1,
3120
+ subtype: "gatherer"
3121
+ },
3122
+ {
3123
+ id: 10103,
3124
+ mass: 1000000,
3125
+ type: "module",
3126
+ tier: 1,
3127
+ subtype: "loader"
3128
+ },
3129
+ {
3130
+ id: 10104,
3131
+ mass: 1200000,
3132
+ type: "module",
3133
+ tier: 1,
3134
+ subtype: "crafter"
3135
+ },
3136
+ {
3137
+ id: 10105,
3138
+ mass: 1200000,
3139
+ type: "module",
3140
+ tier: 1,
3141
+ subtype: "storage"
3142
+ },
3143
+ {
3144
+ id: 10106,
3145
+ mass: 1400000,
3146
+ type: "module",
3147
+ tier: 1,
3148
+ subtype: "hauler"
3149
+ },
3150
+ {
3151
+ id: 10107,
3152
+ mass: 1400000,
3153
+ type: "module",
3154
+ tier: 1,
3155
+ subtype: "warp"
3156
+ },
3157
+ {
3158
+ id: 10108,
3159
+ mass: 1000000,
3160
+ type: "module",
3161
+ tier: 1,
3162
+ subtype: "battery"
3163
+ },
3164
+ {
3165
+ id: 10200,
3166
+ mass: 1500000,
3167
+ type: "entity",
3168
+ tier: 1
3169
+ },
3170
+ {
3171
+ id: 10201,
3172
+ mass: 2300000,
3173
+ type: "entity",
3174
+ tier: 1
3175
+ },
3176
+ {
3177
+ id: 10202,
3178
+ mass: 5800000,
3179
+ type: "entity",
3180
+ tier: 1
3181
+ },
3182
+ {
3183
+ id: 10203,
3184
+ mass: 4400000,
3185
+ type: "entity",
3186
+ tier: 1
3187
+ },
3188
+ {
3189
+ id: 10204,
3190
+ mass: 5500000,
3191
+ type: "entity",
3192
+ tier: 1
3193
+ },
3194
+ {
3195
+ id: 20001,
3196
+ mass: 500,
3197
+ type: "component",
3198
+ tier: 2
3199
+ },
3200
+ {
3201
+ id: 20002,
3202
+ mass: 300,
3203
+ type: "component",
3204
+ tier: 2
3205
+ },
3206
+ {
3207
+ id: 20200,
3208
+ mass: 80000,
3209
+ type: "entity",
3210
+ tier: 2
3211
+ }
3212
+ ];
3213
+
3214
+ const itemMetadata = {
3215
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
3216
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
3217
+ 103: {
3218
+ name: 'Ore',
3219
+ description: 'High-grade metallic ore with exceptional density.',
3220
+ color: '#C26D3F',
3221
+ },
3222
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
3223
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
3224
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
3225
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
3226
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
3227
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
3228
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
3229
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
3230
+ 202: {
3231
+ name: 'Crystal',
3232
+ description: 'Refined resonant crystal with improved clarity.',
3233
+ color: '#4ADBFF',
3234
+ },
3235
+ 203: {
3236
+ name: 'Crystal',
3237
+ description: 'High-grade resonant crystal with exceptional purity.',
3238
+ color: '#4ADBFF',
3239
+ },
3240
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
3241
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
3242
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
3243
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
3244
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
3245
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
3246
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
3247
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B8E4A0' },
3248
+ 302: {
3249
+ name: 'Gas',
3250
+ description: 'Refined volatile gas with improved reactivity.',
3251
+ color: '#B8E4A0',
3252
+ },
3253
+ 303: {
3254
+ name: 'Gas',
3255
+ description: 'High-grade volatile gas with exceptional energy density.',
3256
+ color: '#B8E4A0',
3257
+ },
3258
+ 304: { name: 'Gas', description: '', color: '#B8E4A0' },
3259
+ 305: { name: 'Gas', description: '', color: '#B8E4A0' },
3260
+ 306: { name: 'Gas', description: '', color: '#B8E4A0' },
3261
+ 307: { name: 'Gas', description: '', color: '#B8E4A0' },
3262
+ 308: { name: 'Gas', description: '', color: '#B8E4A0' },
3263
+ 309: { name: 'Gas', description: '', color: '#B8E4A0' },
3264
+ 310: { name: 'Gas', description: '', color: '#B8E4A0' },
3265
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
3266
+ 402: {
3267
+ name: 'Regolith',
3268
+ description: 'Refined regolith with improved fineness.',
3269
+ color: '#C4A57B',
3270
+ },
3271
+ 403: {
3272
+ name: 'Regolith',
3273
+ description: 'High-grade regolith with exceptional uniformity.',
3274
+ color: '#C4A57B',
3275
+ },
3276
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
3277
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
3278
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
3279
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
3280
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
3281
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
3282
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
3283
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
3284
+ 502: {
3285
+ name: 'Biomass',
3286
+ description: 'Refined biomass with improved plasticity.',
3287
+ color: '#5A8B3E',
3288
+ },
3289
+ 503: {
3290
+ name: 'Biomass',
3291
+ description: 'High-grade biomass with exceptional saturation.',
3292
+ color: '#5A8B3E',
3293
+ },
3294
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
3295
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
3296
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
3297
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
3298
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
3299
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
3300
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
3301
+ 10001: {
3302
+ name: 'Plate',
3303
+ description: 'Structural plating formed from ore. Used in hulls, containers, and storage modules.',
3304
+ color: '#7B8D9E',
3305
+ },
3306
+ 10002: {
3307
+ name: 'Frame',
3308
+ description: 'Composite framing formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
3309
+ color: '#C4A57B',
3310
+ },
3311
+ 10003: {
3312
+ name: 'Plasma Cell',
3313
+ description: 'High-energy gaseous storage cell. Volatile gas held under controlled thermal conditions.',
3314
+ color: '#E86344',
3315
+ },
3316
+ 10004: {
3317
+ name: 'Resonator',
3318
+ description: 'Crystalline resonance lattice. Stores and releases charge through coherent oscillation.',
3319
+ color: '#4ADBFF',
3320
+ },
3321
+ 10005: {
3322
+ name: 'Beam',
3323
+ description: 'Heavy-duty structural beam machined from refined ore. Strong enough to bear load, tolerant enough to survive harsh environments.',
3324
+ color: '#7B8D9E',
3325
+ },
3326
+ 10006: {
3327
+ name: 'Sensor',
3328
+ description: 'Crystal-lattice sensing element with conductive and reflective properties. Reads signal and surface alike.',
3329
+ color: '#4ADBFF',
3330
+ },
3331
+ 10007: {
3332
+ name: 'Polymer',
3333
+ description: 'Pliable biomass-derived polymer with high insulation. Flexible, durable, electrically inert.',
3334
+ color: '#5A8B3E',
3335
+ },
3336
+ 10008: {
3337
+ name: 'Ceramic',
3338
+ description: 'Hardened fine-grained ceramic refined from regolith. Hard enough to cut, fine enough to finish.',
3339
+ color: '#C4A57B',
3340
+ },
3341
+ 10009: {
3342
+ name: 'Reactor',
3343
+ description: 'Gas-pressurized vessel for controlled reactions. Vents heat and contains volatility.',
3344
+ color: '#B8E4A0',
3345
+ },
3346
+ 10010: {
3347
+ name: 'Emitter',
3348
+ description: 'Precision-formed crystal emitter array. Routes energy efficiently to a target lock.',
3349
+ color: '#4ADBFF',
3350
+ },
3351
+ 10100: {
3352
+ name: 'Engine',
3353
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
3354
+ color: '#E86344',
3355
+ },
3356
+ 10101: {
3357
+ name: 'Generator',
3358
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
3359
+ color: '#4ADBFF',
3360
+ },
3361
+ 10102: {
3362
+ name: 'Gatherer',
3363
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
3364
+ color: '#7B8D9E',
3365
+ },
3366
+ 10103: {
3367
+ name: 'Loader',
3368
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
3369
+ color: '#5A8B3E',
3370
+ },
3371
+ 10104: {
3372
+ name: 'Crafter',
3373
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
3374
+ color: '#B8E4A0',
3375
+ },
3376
+ 10105: {
3377
+ name: 'Storage',
3378
+ description: 'Expands cargo capacity based on hull material quality.',
3379
+ color: '#8B7355',
3380
+ },
3381
+ 10106: {
3382
+ name: 'Hauler',
3383
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
3384
+ color: '#4ADBFF',
3385
+ },
3386
+ 10107: {
3387
+ name: 'Warp',
3388
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
3389
+ color: '#9be4ff',
3390
+ },
3391
+ 10108: {
3392
+ name: 'Battery',
3393
+ description: 'Extends energy capacity. Stores additional charge produced by generators, letting builds chain more high-drain actions between recharges.',
3394
+ color: '#4ADBFF',
3395
+ },
3396
+ 10200: {
3397
+ name: 'Container',
3398
+ description: 'Passive floating cargo storage in space. Towed by ships.',
3399
+ color: '#7B8D9E',
3400
+ },
3401
+ 10201: {
3402
+ name: 'Ship',
3403
+ description: 'General-purpose vessel with 5 module slots.',
3404
+ color: '#4AE898',
3405
+ },
3406
+ 10202: {
3407
+ name: 'Warehouse',
3408
+ description: 'Massive stationary storage facility with a single loader module slot.',
3409
+ color: '#EAB308',
3410
+ },
3411
+ 10203: {
3412
+ name: 'Extractor',
3413
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
3414
+ color: '#D4726F',
3415
+ },
3416
+ 10204: {
3417
+ name: 'Factory',
3418
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
3419
+ color: '#7BA7D4',
3420
+ },
3421
+ 20001: {
3422
+ name: 'Plate',
3423
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
3424
+ color: '#9BADB8',
3425
+ },
3426
+ 20002: {
3427
+ name: 'Frame',
3428
+ description: 'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
3429
+ color: '#C4A57B',
3430
+ },
3431
+ 20200: {
3432
+ name: 'Container',
3433
+ description: 'Advanced cargo container with improved capacity formulas.',
3434
+ color: '#9BADB8',
3435
+ },
3436
+ };
3437
+ for (const item of items) {
3438
+ if (!itemMetadata[item.id]) {
3439
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
3440
+ }
3441
+ }
3442
+
3443
+ var TaskType;
3444
+ (function (TaskType) {
3445
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
3446
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
3447
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
3448
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
3449
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
3450
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
3451
+ TaskType[TaskType["WARP"] = 6] = "WARP";
3452
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
3453
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
3454
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
3455
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
3456
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
3457
+ TaskType[TaskType["CLAIMPLOT"] = 14] = "CLAIMPLOT";
3458
+ TaskType[TaskType["BUILDPLOT"] = 15] = "BUILDPLOT";
3459
+ })(TaskType || (TaskType = {}));
3460
+ var LocationType;
3461
+ (function (LocationType) {
3462
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
3463
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
3464
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
3465
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
3466
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
3467
+ })(LocationType || (LocationType = {}));
3468
+ var TaskCancelable;
3469
+ (function (TaskCancelable) {
3470
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
3471
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
3472
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
3473
+ })(TaskCancelable || (TaskCancelable = {}));
3474
+ class Coordinates extends Types.coordinates {
3475
+ static from(value) {
3476
+ return super.from(value);
3477
+ }
3478
+ equals(other) {
3479
+ const coords = Coordinates.from(other);
3480
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
3481
+ }
3482
+ toLocationId() {
3483
+ return coordsToLocationId(this);
3484
+ }
3485
+ }
3486
+ function coordsToLocationId(coords) {
3487
+ const c = Coordinates.from(coords);
3488
+ const mask = BigInt(0xffffffff);
3489
+ const x = BigInt(c.x.toNumber()) & mask;
3490
+ const y = BigInt(c.y.toNumber()) & mask;
3491
+ const id = (x << BigInt(32)) | y;
3492
+ return UInt64.from(id);
3493
+ }
3494
+
3495
+ const itemsById = new Map();
3496
+ for (const raw of items) {
3497
+ const meta = itemMetadata[raw.id];
3498
+ if (!meta) {
3499
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
3500
+ }
3501
+ itemsById.set(raw.id, {
3502
+ id: raw.id,
3503
+ name: meta.name,
3504
+ description: meta.description,
3505
+ color: meta.color,
3506
+ mass: raw.mass,
3507
+ type: raw.type,
3508
+ tier: raw.tier,
3509
+ category: raw.category,
3510
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
3511
+ });
3512
+ }
3513
+ Array.from(itemsById.keys());
3514
+
3515
+ function cargoItemToStack(item) {
3516
+ return {
3517
+ item_id: UInt16.from(item.item_id),
3518
+ quantity: UInt32.from(item.quantity),
3519
+ stats: UInt64.from(item.stats),
3520
+ modules: item.modules ?? [],
3521
+ };
3522
+ }
3523
+ function statsEquals(a, b) {
3524
+ return a.equals(b);
3525
+ }
3526
+ function stackIdentityEqual(a, b) {
3527
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
3528
+ }
3529
+ function mergeStacks(stacks, add) {
3530
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
3531
+ if (idx === -1) {
3532
+ return [...stacks, { ...add }];
3533
+ }
3534
+ const result = stacks.slice();
3535
+ result[idx] = {
3536
+ ...result[idx],
3537
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
3538
+ };
3539
+ return result;
3540
+ }
3541
+
3542
+ function assertProjectionEquals(contract, sdk, options = {}) {
3543
+ const mismatches = [];
3544
+ const record = (name, c, s) => {
3545
+ if (c !== s)
3546
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
3547
+ };
3548
+ const recordStatBlock = (name, c, s) => {
3549
+ const cPresent = c !== undefined && c !== null;
3550
+ const sPresent = s !== undefined && s !== null;
3551
+ if (cPresent !== sPresent) {
3552
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
3553
+ return;
3554
+ }
3555
+ if (!cPresent)
3556
+ return;
3557
+ const cn = JSON.stringify(normaliseStatBlock(c));
3558
+ const sn = JSON.stringify(normaliseStatBlock(s));
3559
+ if (cn !== sn)
3560
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
3561
+ };
3562
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
3563
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
3564
+ record('energy', toNum(contract.energy), Number(sdk.energy));
3565
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
3566
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
3567
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
3568
+ recordStatBlock('engines', contract.engines, sdk.engines);
3569
+ recordStatBlock('loaders', contract.loaders, sdk.loaders);
3570
+ recordStatBlock('generator', contract.generator, sdk.generator);
3571
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
3572
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
3573
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
3574
+ const sdkCargo = normaliseCargo(sdk.cargo);
3575
+ if (contractCargo.length !== sdkCargo.length) {
3576
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
3577
+ }
3578
+ else {
3579
+ for (let i = 0; i < contractCargo.length; i++) {
3580
+ const c = contractCargo[i];
3581
+ const s = sdkCargo[i];
3582
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
3583
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
3584
+ }
3585
+ }
3586
+ }
3587
+ }
3588
+ if (mismatches.length > 0) {
3589
+ const header = options.step !== undefined
3590
+ ? `projection divergence at step ${options.step}:`
3591
+ : 'projection divergence:';
3592
+ throw new Error([header, ...mismatches].join('\n'));
3593
+ }
3594
+ }
3595
+ function mergeContractCargo(cargo) {
3596
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
3597
+ }
3598
+ function normaliseCargo(cargo) {
3599
+ return cargo
3600
+ .map((s) => ({
3601
+ itemId: Number(s.item_id),
3602
+ stats: BigInt(s.stats.toString()).toString(),
3603
+ quantity: BigInt(s.quantity.toString()).toString(),
3604
+ }))
3605
+ .sort(stackSort);
3606
+ }
3607
+ function stackSort(a, b) {
3608
+ if (a.itemId !== b.itemId)
3609
+ return a.itemId - b.itemId;
3610
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
3611
+ }
3612
+ function toNum(v) {
3613
+ if (v === undefined || v === null)
3614
+ return undefined;
3615
+ if (typeof v === 'number')
3616
+ return v;
3617
+ if (typeof v === 'bigint')
3618
+ return Number(v);
3619
+ if (typeof v.toNumber === 'function') {
3620
+ return v.toNumber();
3621
+ }
3622
+ return Number(v);
3623
+ }
3624
+ function fmt(v) {
3625
+ if (v === undefined)
3626
+ return 'undefined';
3627
+ if (v === null)
3628
+ return 'null';
3629
+ return String(v);
3630
+ }
3631
+ function normaliseStatBlock(block) {
3632
+ const out = {};
3633
+ const obj = block;
3634
+ for (const k of Object.keys(obj).sort()) {
3635
+ out[k] = toNum(obj[k]) ?? 0;
3636
+ }
3637
+ return out;
3638
+ }
3639
+
3640
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
3641
+ //# sourceMappingURL=testing.m.js.map