@silvana-one/orderbook 1.1.43 → 1.1.44

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 (151) hide show
  1. package/dist/node/index.cjs +447 -335
  2. package/dist/node/ledger.d.ts +28 -4
  3. package/dist/node/ledger.js +35 -3
  4. package/dist/node/ledger.js.map +1 -1
  5. package/dist/node/proto/silvana/ledger/v1/bridge_pb.d.ts +352 -0
  6. package/dist/node/proto/silvana/ledger/v1/bridge_pb.js +54 -0
  7. package/dist/node/proto/silvana/ledger/v1/bridge_pb.js.map +1 -0
  8. package/dist/node/proto/silvana/ledger/v1/cip56_pb.d.ts +67 -0
  9. package/dist/node/proto/silvana/ledger/v1/cip56_pb.js +19 -0
  10. package/dist/node/proto/silvana/ledger/v1/cip56_pb.js.map +1 -0
  11. package/dist/node/proto/silvana/ledger/v1/common_pb.d.ts +323 -0
  12. package/dist/node/proto/silvana/ledger/v1/common_pb.js +251 -0
  13. package/dist/node/proto/silvana/ledger/v1/common_pb.js.map +1 -0
  14. package/dist/node/proto/silvana/ledger/v1/dvp_pb.d.ts +142 -0
  15. package/dist/node/proto/silvana/ledger/v1/dvp_pb.js +44 -0
  16. package/dist/node/proto/silvana/ledger/v1/dvp_pb.js.map +1 -0
  17. package/dist/node/proto/silvana/ledger/v1/faucet_pb.d.ts +107 -0
  18. package/dist/node/proto/silvana/ledger/v1/faucet_pb.js +20 -0
  19. package/dist/node/proto/silvana/ledger/v1/faucet_pb.js.map +1 -0
  20. package/dist/node/proto/silvana/ledger/v1/lock_pb.d.ts +240 -0
  21. package/dist/node/proto/silvana/ledger/v1/lock_pb.js +39 -0
  22. package/dist/node/proto/silvana/ledger/v1/lock_pb.js.map +1 -0
  23. package/dist/node/proto/silvana/ledger/v1/multicall_pb.d.ts +469 -0
  24. package/dist/node/proto/silvana/ledger/v1/multicall_pb.js +94 -0
  25. package/dist/node/proto/silvana/ledger/v1/multicall_pb.js.map +1 -0
  26. package/dist/node/proto/silvana/ledger/v1/onboarding_pb.d.ts +245 -0
  27. package/dist/node/proto/silvana/ledger/v1/onboarding_pb.js +90 -0
  28. package/dist/node/proto/silvana/ledger/v1/onboarding_pb.js.map +1 -0
  29. package/dist/node/proto/silvana/ledger/v1/preapproval_pb.d.ts +99 -0
  30. package/dist/node/proto/silvana/ledger/v1/preapproval_pb.js +34 -0
  31. package/dist/node/proto/silvana/ledger/v1/preapproval_pb.js.map +1 -0
  32. package/dist/node/proto/silvana/ledger/v1/queries_pb.d.ts +602 -0
  33. package/dist/node/proto/silvana/ledger/v1/queries_pb.js +136 -0
  34. package/dist/node/proto/silvana/ledger/v1/queries_pb.js.map +1 -0
  35. package/dist/node/proto/silvana/ledger/v1/recurring_pb.d.ts +88 -0
  36. package/dist/node/proto/silvana/ledger/v1/recurring_pb.js +24 -0
  37. package/dist/node/proto/silvana/ledger/v1/recurring_pb.js.map +1 -0
  38. package/dist/node/proto/silvana/ledger/v1/service_pb.d.ts +178 -0
  39. package/dist/node/proto/silvana/ledger/v1/service_pb.js +21 -0
  40. package/dist/node/proto/silvana/ledger/v1/service_pb.js.map +1 -0
  41. package/dist/node/proto/silvana/ledger/v1/transactions_pb.d.ts +289 -0
  42. package/dist/node/proto/silvana/ledger/v1/transactions_pb.js +37 -0
  43. package/dist/node/proto/silvana/ledger/v1/transactions_pb.js.map +1 -0
  44. package/dist/node/proto/silvana/ledger/v1/transfer_pb.d.ts +69 -0
  45. package/dist/node/proto/silvana/ledger/v1/transfer_pb.js +19 -0
  46. package/dist/node/proto/silvana/ledger/v1/transfer_pb.js.map +1 -0
  47. package/dist/node/proto/silvana/news/v1/news_pb.d.ts +2 -2
  48. package/dist/node/proto/silvana/news/v1/news_pb.js +11 -11
  49. package/dist/node/proto/silvana/news/v1/news_pb.js.map +1 -1
  50. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +2 -2
  51. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +109 -109
  52. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  53. package/dist/node/proto/silvana/pricing/v1/pricing_pb.d.ts +2 -2
  54. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js +26 -26
  55. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js.map +1 -1
  56. package/dist/node/proto/silvana/settlement/v1/settlement_pb.d.ts +2 -2
  57. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js +79 -79
  58. package/dist/node/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  59. package/dist/node/settlement.d.ts +1 -1
  60. package/dist/node/settlement.js +1 -2
  61. package/dist/node/settlement.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/tsconfig.web.tsbuildinfo +1 -1
  64. package/dist/web/ledger.d.ts +28 -4
  65. package/dist/web/ledger.js +35 -3
  66. package/dist/web/ledger.js.map +1 -1
  67. package/dist/web/proto/silvana/ledger/v1/bridge_pb.d.ts +352 -0
  68. package/dist/web/proto/silvana/ledger/v1/bridge_pb.js +54 -0
  69. package/dist/web/proto/silvana/ledger/v1/bridge_pb.js.map +1 -0
  70. package/dist/web/proto/silvana/ledger/v1/cip56_pb.d.ts +67 -0
  71. package/dist/web/proto/silvana/ledger/v1/cip56_pb.js +19 -0
  72. package/dist/web/proto/silvana/ledger/v1/cip56_pb.js.map +1 -0
  73. package/dist/web/proto/silvana/ledger/v1/common_pb.d.ts +323 -0
  74. package/dist/web/proto/silvana/ledger/v1/common_pb.js +251 -0
  75. package/dist/web/proto/silvana/ledger/v1/common_pb.js.map +1 -0
  76. package/dist/web/proto/silvana/ledger/v1/dvp_pb.d.ts +142 -0
  77. package/dist/web/proto/silvana/ledger/v1/dvp_pb.js +44 -0
  78. package/dist/web/proto/silvana/ledger/v1/dvp_pb.js.map +1 -0
  79. package/dist/web/proto/silvana/ledger/v1/faucet_pb.d.ts +107 -0
  80. package/dist/web/proto/silvana/ledger/v1/faucet_pb.js +20 -0
  81. package/dist/web/proto/silvana/ledger/v1/faucet_pb.js.map +1 -0
  82. package/dist/web/proto/silvana/ledger/v1/lock_pb.d.ts +240 -0
  83. package/dist/web/proto/silvana/ledger/v1/lock_pb.js +39 -0
  84. package/dist/web/proto/silvana/ledger/v1/lock_pb.js.map +1 -0
  85. package/dist/web/proto/silvana/ledger/v1/multicall_pb.d.ts +469 -0
  86. package/dist/web/proto/silvana/ledger/v1/multicall_pb.js +94 -0
  87. package/dist/web/proto/silvana/ledger/v1/multicall_pb.js.map +1 -0
  88. package/dist/web/proto/silvana/ledger/v1/onboarding_pb.d.ts +245 -0
  89. package/dist/web/proto/silvana/ledger/v1/onboarding_pb.js +90 -0
  90. package/dist/web/proto/silvana/ledger/v1/onboarding_pb.js.map +1 -0
  91. package/dist/web/proto/silvana/ledger/v1/preapproval_pb.d.ts +99 -0
  92. package/dist/web/proto/silvana/ledger/v1/preapproval_pb.js +34 -0
  93. package/dist/web/proto/silvana/ledger/v1/preapproval_pb.js.map +1 -0
  94. package/dist/web/proto/silvana/ledger/v1/queries_pb.d.ts +602 -0
  95. package/dist/web/proto/silvana/ledger/v1/queries_pb.js +136 -0
  96. package/dist/web/proto/silvana/ledger/v1/queries_pb.js.map +1 -0
  97. package/dist/web/proto/silvana/ledger/v1/recurring_pb.d.ts +88 -0
  98. package/dist/web/proto/silvana/ledger/v1/recurring_pb.js +24 -0
  99. package/dist/web/proto/silvana/ledger/v1/recurring_pb.js.map +1 -0
  100. package/dist/web/proto/silvana/ledger/v1/service_pb.d.ts +178 -0
  101. package/dist/web/proto/silvana/ledger/v1/service_pb.js +21 -0
  102. package/dist/web/proto/silvana/ledger/v1/service_pb.js.map +1 -0
  103. package/dist/web/proto/silvana/ledger/v1/transactions_pb.d.ts +289 -0
  104. package/dist/web/proto/silvana/ledger/v1/transactions_pb.js +37 -0
  105. package/dist/web/proto/silvana/ledger/v1/transactions_pb.js.map +1 -0
  106. package/dist/web/proto/silvana/ledger/v1/transfer_pb.d.ts +69 -0
  107. package/dist/web/proto/silvana/ledger/v1/transfer_pb.js +19 -0
  108. package/dist/web/proto/silvana/ledger/v1/transfer_pb.js.map +1 -0
  109. package/dist/web/proto/silvana/news/v1/news_pb.d.ts +2 -2
  110. package/dist/web/proto/silvana/news/v1/news_pb.js +11 -11
  111. package/dist/web/proto/silvana/news/v1/news_pb.js.map +1 -1
  112. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +2 -2
  113. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +109 -109
  114. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  115. package/dist/web/proto/silvana/pricing/v1/pricing_pb.d.ts +2 -2
  116. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js +26 -26
  117. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js.map +1 -1
  118. package/dist/web/proto/silvana/settlement/v1/settlement_pb.d.ts +2 -2
  119. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js +79 -79
  120. package/dist/web/proto/silvana/settlement/v1/settlement_pb.js.map +1 -1
  121. package/dist/web/settlement.d.ts +1 -1
  122. package/dist/web/settlement.js +1 -2
  123. package/dist/web/settlement.js.map +1 -1
  124. package/package.json +6 -6
  125. package/src/ledger.ts +65 -25
  126. package/src/proto/silvana/ledger/v1/bridge_pb.ts +383 -0
  127. package/src/proto/silvana/ledger/v1/cip56_pb.ts +85 -0
  128. package/src/proto/silvana/ledger/v1/common_pb.ts +393 -0
  129. package/src/proto/silvana/ledger/v1/dvp_pb.ts +178 -0
  130. package/src/proto/silvana/ledger/v1/faucet_pb.ts +134 -0
  131. package/src/proto/silvana/ledger/v1/lock_pb.ts +294 -0
  132. package/src/proto/silvana/ledger/v1/multicall_pb.ts +552 -0
  133. package/src/proto/silvana/ledger/v1/onboarding_pb.ts +303 -0
  134. package/src/proto/silvana/ledger/v1/preapproval_pb.ts +128 -0
  135. package/src/proto/silvana/ledger/v1/queries_pb.ts +736 -0
  136. package/src/proto/silvana/ledger/v1/recurring_pb.ts +115 -0
  137. package/src/proto/silvana/ledger/v1/service_pb.ts +194 -0
  138. package/src/proto/silvana/ledger/v1/transactions_pb.ts +335 -0
  139. package/src/proto/silvana/ledger/v1/transfer_pb.ts +89 -0
  140. package/src/proto/silvana/news/v1/news_pb.ts +12 -12
  141. package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +110 -110
  142. package/src/proto/silvana/pricing/v1/pricing_pb.ts +27 -27
  143. package/src/proto/silvana/settlement/v1/settlement_pb.ts +80 -80
  144. package/src/settlement.ts +1 -2
  145. package/dist/node/proto/silvana/ledger/v1/ledger_pb.d.ts +0 -2954
  146. package/dist/node/proto/silvana/ledger/v1/ledger_pb.js +0 -701
  147. package/dist/node/proto/silvana/ledger/v1/ledger_pb.js.map +0 -1
  148. package/dist/web/proto/silvana/ledger/v1/ledger_pb.d.ts +0 -2954
  149. package/dist/web/proto/silvana/ledger/v1/ledger_pb.js +0 -701
  150. package/dist/web/proto/silvana/ledger/v1/ledger_pb.js.map +0 -1
  151. package/src/proto/silvana/ledger/v1/ledger_pb.ts +0 -3426
@@ -1,5 +1,5 @@
1
- // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,js_import_style=module"
2
- // @generated from file proto/silvana/orderbook/v1/orderbook.proto (package silvana.orderbook.v1, syntax proto3)
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,js_import_style=module,import_extension=.js"
2
+ // @generated from file silvana/orderbook/v1/orderbook.proto (package silvana.orderbook.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
@@ -9,10 +9,10 @@ import { file_google_protobuf_empty, file_google_protobuf_struct, file_google_pr
9
9
  import type { JsonObject, Message } from "@bufbuild/protobuf";
10
10
 
11
11
  /**
12
- * Describes the file proto/silvana/orderbook/v1/orderbook.proto.
12
+ * Describes the file silvana/orderbook/v1/orderbook.proto.
13
13
  */
14
- export const file_proto_silvana_orderbook_v1_orderbook: GenFile = /*@__PURE__*/
15
- fileDesc("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IsEHCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESFgoJc2lnbmF0dXJlGBcgASgJSAaIAQESEwoLc2lnbmVkX2RhdGEYGCABKAwSDQoFbm9uY2UYGSABKARCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXRCDAoKX3NpZ25hdHVyZSKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiigYKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoCRIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhcKD2Jhc2VfaW5zdHJ1bWVudBgFIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAYgASgJEhUKDWJhc2VfcXVhbnRpdHkYByABKAkSFgoOcXVvdGVfcXVhbnRpdHkYCCABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgJIAEoCRIgChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYCiABKAkSIQoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgLIAEoCRInCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgJEigKIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA0gASgJEjYKBnN0YXR1cxgOIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXMSGgoNZXJyb3JfbWVzc2FnZRgPIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnNldHRsZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY2FuY2VsbGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjIKCWZhaWxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI1CgtvcmRlcl9tYXRjaBgUIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hCEAoOX2Vycm9yX21lc3NhZ2VCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0IrsBCgpPcmRlck1hdGNoEh4KFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYASABKAkSFAoMYmlkX29yZGVyX2lkGAIgASgEEhYKDm9mZmVyX29yZGVyX2lkGAMgASgEEhgKEG1hdGNoZWRfcXVhbnRpdHkYBCABKAkSFQoNbWF0Y2hlZF9wcmljZRgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKcBAoKU2V0dGxlbWVudBIVCg1zZXR0bGVtZW50X2lkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRINCgVidXllchgEIAEoCRIOCgZzZWxsZXIYBSABKAkSFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSFQoNYmFzZV9xdWFudGl0eRgIIAEoCRIWCg5xdW90ZV9xdWFudGl0eRgJIAEoCRIYChBzZXR0bGVtZW50X3ByaWNlGAogASgJEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgLIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGAwgASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDSABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDiABKAkSHAoPc2V0dGxlZF9kdnBfY2lkGA8gASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYECABKAlIAYgBARIuCgpzZXR0bGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZCKVAgoKTWFya2V0RGF0YRIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSFQoIYmVzdF9iaWQYAyABKAlIAIgBARIXCgpiZXN0X29mZmVyGAQgASgJSAGIAQESFwoKbGFzdF9wcmljZRgFIAEoCUgCiAEBEhIKCnZvbHVtZV8yNGgYBiABKAkSEgoKdHJhZGVzXzI0aBgHIAEoDRITCgtvcGVuX29yZGVycxgIIAEoDRIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEILCglfYmVzdF9iaWRCDQoLX2Jlc3Rfb2ZmZXJCDQoLX2xhc3RfcHJpY2Ui+gIKEEdldE9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQESNgoGc3RhdHVzGAMgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJTdGF0dXNIAYgBARI4CgpvcmRlcl90eXBlGAQgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBYgBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIksKGEdldE9yZGVyYm9va0RlcHRoUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgidgoZR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNwoJb3JkZXJib29rGAMgASgLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rRGVwdGgiywEKHUdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjsKBnN0YXR1cxgDIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXNIAYgBARISCgVsaW1pdBgEIAEoDUgCiAEBEhMKBm9mZnNldBgFIAEoDUgDiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0iMwocR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgCIAEoCSKPAQodR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEj8KCHByb3Bvc2FsGAMgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsSACIAQFCCwoJX3Byb3Bvc2FsIocBChVHZXRJbnN0cnVtZW50c1JlcXVlc3QSHAoPaW5zdHJ1bWVudF90eXBlGAIgASgJSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irQIKEUdldE1hcmtldHNSZXF1ZXN0EjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQFCDgoMX21hcmtldF90eXBlQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCDgoMX2FjdGl2ZV9vbmx5QggKBl9saW1pdEIJCgdfb2Zmc2V0InQKEkdldE1hcmtldHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLQoHbWFya2V0cxgDIAMoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldBINCgV0b3RhbBgEIAEoDSL8AQoWR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJ3ChdHZXRPcmRlckhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0iKgoUR2V0TWFya2V0RGF0YVJlcXVlc3QSEgoKbWFya2V0X2lkcxgCIAMoCSJwChVHZXRNYXJrZXREYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC21hcmtldF9kYXRhGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0RGF0YSL7AQoVR2V0U2V0dGxlbWVudHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjIKCWZyb21fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIwCgd0b190aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhIKBWxpbWl0GAUgASgNSAOIAQESEwoGb2Zmc2V0GAYgASgNSASIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRTZXR0bGVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtzZXR0bGVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnQSDQoFdG90YWwYBCABKA0iTAoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgihwMKD09yZGVyYm9va1VwZGF0ZRIRCgltYXJrZXRfaWQYASABKAkSRQoLdXBkYXRlX3R5cGUYAiABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUuVXBkYXRlVHlwZRI5CgtiaWRfdXBkYXRlcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjsKDW9mZmVyX3VwZGF0ZXMYBCADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBCJaCgpVcGRhdGVUeXBlEhsKF1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUVVBEQVRFX1RZUEVfU05BUFNIT1QQARIVChFVUERBVEVfVFlQRV9ERUxUQRACIj4KFlN1YnNjcmliZU9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCJDChtTdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCL2AgoQU2V0dGxlbWVudFVwZGF0ZRJECgpldmVudF90eXBlGAEgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZS5FdmVudFR5cGUSOgoIcHJvcG9zYWwYAiABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKwAQoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1BST1BPU0FMX0NSRUFURUQQARIdChlFVkVOVF9UWVBFX1NUQVRVU19DSEFOR0VEEAISFgoSRVZFTlRfVFlQRV9TRVRUTEVEEAMSFQoRRVZFTlRfVFlQRV9GQUlMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFIr4EChJTdWJtaXRPcmRlclJlcXVlc3QSEQoJbWFya2V0X2lkGAIgASgJEjMKCm9yZGVyX3R5cGUYAyABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGUSDQoFcHJpY2UYBCABKAkSEAoIcXVhbnRpdHkYBSABKAkSOAoNdGltZV9pbl9mb3JjZRgGIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLlRpbWVJbkZvcmNlEjMKCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESHQoQdHJhZGVyX29yZGVyX3JlZhgIIAEoCUgBiAEBEjEKC2NyZWRlbnRpYWxzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglzaWduYXR1cmUYDCABKAlIBYgBARITCgtzaWduZWRfZGF0YRgNIAEoDBINCgVub25jZRgOIAEoBEINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDAoKX3NpZ25hdHVyZSJyChNTdWJtaXRPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIiYKEkNhbmNlbE9yZGVyUmVxdWVzdBIQCghvcmRlcl9pZBgCIAEoBCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIskFChJDcmVhdGVQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgVlbWFpbBgKIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYCyABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgMIAEoCUgGiAEBEhMKBnNvdXJjZRgNIAEoCUgHiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgOIAEoCUgIiAEBEiQKF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGBAgASgJSAmIAQESKwoebGlxdWlkaXR5X3Byb3ZpZGVyX2Rlc2NyaXB0aW9uGBEgASgJSAqIAQFCEwoRX3VzZXJfc2VydmljZV9jaWRCFgoUX29wZXJhdG9yX2NvbmZpZ19jaWRCCwoJX21ldGFkYXRhQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXlCGgoYX2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lQiEKH19saXF1aWRpdHlfcHJvdmlkZXJfZGVzY3JpcHRpb24iYwoTQ3JlYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKSBQoSVXBkYXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFwoKcGFydHlfbmFtZRgEIAEoCUgAiAEBEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAYgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAcgASgJSAOIAQESLwoJdXNlcl9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEhoKDWNoYW5nZV9yZWFzb24YCiABKAlIBogBARISCgVlbWFpbBgLIAEoCUgHiAEBEhcKCnB1YmxpY19rZXkYDCABKAlICIgBARIYCgtpbnZpdGVfY29kZRgNIAEoCUgJiAEBEhMKBnNvdXJjZRgOIAEoCUgKiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgPIAEoCUgLiAEBQg0KC19wYXJ0eV9uYW1lQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCDAoKX3VzZXJfZGF0YUILCglfbWV0YWRhdGFCEAoOX2NoYW5nZV9yZWFzb25CCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXkiYwoTVXBkYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJbChZEZWFjdGl2YXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCSJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJoChZHZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhIKBWxpbWl0GAMgASgNSACIAQESEwoGb2Zmc2V0GAQgASgNSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigQIKEVBhcnR5SGlzdG9yeUVudHJ5EhIKCmhpc3RvcnlfaWQYASABKAQSEAoIcGFydHlfaWQYAiABKAkSDgoGYWN0aW9uGAMgASgJEhIKCmNoYW5nZWRfYnkYBCABKAkSGgoNY2hhbmdlX3JlYXNvbhgFIAEoCUgAiAEBEg8KB3ZlcnNpb24YBiABKAQSMwoOcGFydHlfc25hcHNob3QYByABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fY2hhbmdlX3JlYXNvbiKEAQoXR2V0UGFydHlIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjgKB2hpc3RvcnkYAyADKAsyJy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eUhpc3RvcnlFbnRyeRINCgV0b3RhbBgEIAEoDSIjCg9HZXRQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkiYAoQR2V0UGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKjAQoRR2V0UGFydGllc1JlcXVlc3QSFwoKcGFydHlfdHlwZRgCIAEoCUgAiAEBEhgKC2FjdGl2ZV9vbmx5GAMgASgISAGIAQESEgoFbGltaXQYBCABKA1IAogBARITCgZvZmZzZXQYBSABKA1IA4gBAUINCgtfcGFydHlfdHlwZUIOCgxfYWN0aXZlX29ubHlCCAoGX2xpbWl0QgkKB19vZmZzZXQicwoSR2V0UGFydGllc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgdwYXJ0aWVzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkSDQoFdG90YWwYBCABKA0iigUKBVBhcnR5EhAKCHBhcnR5X2lkGAEgASgJEhIKCnBhcnR5X25hbWUYAiABKAkSEgoKcGFydHlfdHlwZRgDIAEoCRIdChB1c2VyX3NlcnZpY2VfY2lkGAQgASgJSACIAQESIAoTb3BlcmF0b3JfY29uZmlnX2NpZBgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYCiABKAlIA4gBARIqCgl1c2VyX2RhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YDCABKAQSEgoFZW1haWwYDSABKAlIBIgBARIXCgpwdWJsaWNfa2V5GA4gASgJSAWIAQESGAoLaW52aXRlX2NvZGUYDyABKAlIBogBARIOCgZzb3VyY2UYECABKAkSGAoLcGFydGljaXBhbnQYESABKAlIB4gBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCDgoMX2ludml0ZV9jb2RlQg4KDF9wYXJ0aWNpcGFudCKNAgoRTGlxdWlkaXR5UHJvdmlkZXISDAoEbmFtZRgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjkKEGxhc3RfYWN0aXZlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhMKEV9sYXN0X2FjdGl2ZV90aW1lIowBChxHZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0EhsKDmFjdGl2ZV9zZWNvbmRzGAIgASgNSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUIRCg9fYWN0aXZlX3NlY29uZHNCCAoGX2xpbWl0QgkKB19vZmZzZXQilgEKHUdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRJEChNsaXF1aWRpdHlfcHJvdmlkZXJzGAMgAygLMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuTGlxdWlkaXR5UHJvdmlkZXISDQoFdG90YWwYBCABKA0ilwQKEFdhaXRpbmdMaXN0RW50cnkSCgoCaWQYASABKAQSFQoIcGFydHlfaWQYAiABKAlIAIgBARIqCgl1c2VyX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgEIAEoCRISCgVlbWFpbBgFIAEoCUgBiAEBEhcKCnB1YmxpY19rZXkYBiABKAlIAogBARIZChFvbmJvYXJkaW5nX3N0YXR1cxgHIAEoCRIPCgd2ZXJzaW9uGAggASgEEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCW11bHRpaGFzaBgMIAEoCUgEiAEBEiAKE211bHRpaGFzaF9zaWduYXR1cmUYDSABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgOIAEoCUgGiAEBQgsKCV9wYXJ0eV9pZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhQgwKCl9tdWx0aWhhc2hCFgoUX211bHRpaGFzaF9zaWduYXR1cmVCDgoMX2ludml0ZV9jb2RlItsBChpBZGRXYWl0aW5nTGlzdEVudHJ5UmVxdWVzdBIqCgl1c2VyX2RhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgDIAEoCRISCgVlbWFpbBgEIAEoCUgAiAEBEhcKCnB1YmxpY19rZXkYBSABKAlIAYgBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhIksKG0FkZFdhaXRpbmdMaXN0RW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSCgoCaWQYAyABKAQisQMKBVJvdW5kEhQKDHJvdW5kX251bWJlchgBIAEoBBI0Cidpc3N1YW5jZV9wZXJfZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAiABKAlIAIgBARI2Cilpc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbhgDIAEoCUgBiAEBEhgKC2NjX3VzZF9yYXRlGAQgASgJSAKIAQESJAoXdHJhZmZpY19jb3N0X3VzZF9wZXJfbWIYBSABKAlIA4gBARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqCihfaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIOCgxfY2NfdXNkX3JhdGVCGgoYX3RyYWZmaWNfY29zdF91c2RfcGVyX21iIqwFChJMYXRlc3RDb2VmZmljaWVudHMSNAonaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uGAEgASgJSACIAQESOgotaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kGAIgASgESAGIAQESNgopaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAyABKAlIAogBARI8Ci9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbl9yb3VuZBgEIAEoBEgDiAEBEhgKC2NjX3VzZF9yYXRlGAUgASgJSASIAQESHgoRY2NfdXNkX3JhdGVfcm91bmQYBiABKARIBYgBARIkChd0cmFmZmljX2Nvc3RfdXNkX3Blcl9tYhgHIAEoCUgGiAEBEioKHXRyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kGAggASgESAeIAQFCKgooX2lzc3VhbmNlX3Blcl9mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIwCi5faXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIyCjBfaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb25fcm91bmRCDgoMX2NjX3VzZF9yYXRlQhQKEl9jY191c2RfcmF0ZV9yb3VuZEIaChhfdHJhZmZpY19jb3N0X3VzZF9wZXJfbWJCIAoeX3RyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kIjQKFEdldFJvdW5kc0RhdGFSZXF1ZXN0EhIKBWxpbWl0GAIgASgNSACIAQFCCAoGX2xpbWl0IvABChVHZXRSb3VuZHNEYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBnJvdW5kcxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlJvdW5kEjgKBmxhdGVzdBgEIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLkxhdGVzdENvZWZmaWNpZW50cxIUCgx0b3RhbF9yb3VuZHMYBSABKA0SOAoKcHJlZGljdGlvbhgGIAEoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLlByZWRpY3Rpb25EYXRhIpUBChVDb2VmZmljaWVudFByZWRpY3Rpb24SFAoMcm91bmRfbnVtYmVyGAEgASgEEh0KFXByZWRpY3RlZF9jb2VmZmljaWVudBgCIAEoCRIYChBjb25maWRlbmNlX2xvd2VyGAMgASgJEhgKEGNvbmZpZGVuY2VfdXBwZXIYBCABKAkSEwoLc3RlcHNfYWhlYWQYBSABKA0i8QIKDlByZWRpY3Rpb25EYXRhEkAKC3ByZWRpY3Rpb25zGAEgAygLMisuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ29lZmZpY2llbnRQcmVkaWN0aW9uEjgKCGZvcmVjYXN0GAIgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuSXNzdWFuY2VGb3JlY2FzdBIhChRmb3JlY2FzdF9jb2VmZmljaWVudBgDIAEoCUgAiAEBEhsKDmZvcmVjYXN0X3JvdW5kGAQgASgESAGIAQESFwoPYXJfY29lZmZpY2llbnRzGAUgAygBEhkKDHJlc2lkdWFsX3N0ZBgGIAEoCUgCiAEBEh0KEHByZWRpY3Rpb25fcm91bmQYByABKARIA4gBAUIXChVfZm9yZWNhc3RfY29lZmZpY2llbnRCEQoPX2ZvcmVjYXN0X3JvdW5kQg8KDV9yZXNpZHVhbF9zdGRCEwoRX3ByZWRpY3Rpb25fcm91bmQi7wIKBkludml0ZRITCgtpbnZpdGVfY29kZRgBIAEoCRIPCgdjaGFubmVsGAIgASgJEhQKB3Jld2FyZHMYAyABKAlIAIgBARIuCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIyCgZzdGF0dXMYBSABKA4yIi5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVTdGF0dXMSEgoKY291bnRfdXNlZBgGIAEoDRIWCgltYXhfY291bnQYByABKA1IAogBARISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yZXdhcmRzQgsKCV9tZXRhZGF0YUIMCgpfbWF4X2NvdW50IicKEEdldEludml0ZVJlcXVlc3QSEwoLaW52aXRlX2NvZGUYASABKAkiYAoRR2V0SW52aXRlUmVzcG9uc2USDQoFZm91bmQYASABKAgSMQoGaW52aXRlGAIgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW52aXRlSACIAQFCCQoHX2ludml0ZSJLChBVc2VJbnZpdGVSZXF1ZXN0EhMKC2ludml0ZV9jb2RlGAEgASgJEhUKCHBhcnR5X2lkGAIgASgJSACIAQFCCwoJX3BhcnR5X2lkInMKEVVzZUludml0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIxCgZpbnZpdGUYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVIAIgBAUIJCgdfaW52aXRlIqcCChdDcmVhdGVJbnN0cnVtZW50UmVxdWVzdBIVCg1pbnN0cnVtZW50X2lkGAIgASgJEhcKD2luc3RydW1lbnRfdHlwZRgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBnN5bWJvbBgFIAEoCRIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhMKBmlzc3VlchgHIAEoCUgBiAEBEhUKCHJlZ2lzdHJ5GAggASgJSAKIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESEwoLbmV3c19zeW1ib2wYCiABKAlCDgoMX2Rlc2NyaXB0aW9uQgkKB19pc3N1ZXJCCwoJX3JlZ2lzdHJ5QgsKCV9tZXRhZGF0YSJyChhDcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjQKCmluc3RydW1lbnQYAyABKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50IsYDChNDcmVhdGVNYXJrZXRSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRI1CgttYXJrZXRfdHlwZRgDIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGUSHAoPYmFzZV9pbnN0cnVtZW50GAQgASgJSACIAQESHQoQcXVvdGVfaW5zdHJ1bWVudBgFIAEoCUgBiAEBEhYKDm1pbl9vcmRlcl9zaXplGAYgASgJEhsKDm1heF9vcmRlcl9zaXplGAcgASgJSAKIAQESEQoJdGlja19zaXplGAggASgJEhEKCW1ha2VyX2ZlZRgJIAEoCRIRCgl0YWtlcl9mZWUYCiABKAkSLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESMQoLcHJpY2VfZmVlZHMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCEgoQX2Jhc2VfaW5zdHJ1bWVudEITChFfcXVvdGVfaW5zdHJ1bWVudEIRCg9fbWF4X29yZGVyX3NpemVCCwoJX21ldGFkYXRhQg4KDF9wcmljZV9mZWVkcyJmChRDcmVhdGVNYXJrZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLAoGbWFya2V0GAMgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0ImAKHVVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIsCgtwcmljZV9mZWVkcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QicAoeVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQijAEKFFJlcXVlc3RRdW90ZXNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIRCglkaXJlY3Rpb24YAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSEAoIbHBfbmFtZXMYBSADKAkSGQoMdGltZW91dF9zZWNzGAYgASgNSACIAQFCDwoNX3RpbWVvdXRfc2VjcyLkAQoVUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIOCgZyZnFfaWQYAyABKAkSMgoGcXVvdGVzGAQgAygLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxUXVvdGVJbmZvEjcKCnJlamVjdGlvbnMYBSADKAsyIy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFSZWplY3RJbmZvEhUKDWxwc19yZXF1ZXN0ZWQYBiABKA0SFQoNbHBzX3Jlc3BvbmRlZBgHIAEoDSLpAgoMUmZxUXVvdGVJbmZvEhAKCHF1b3RlX2lkGAEgASgJEg8KB2xwX25hbWUYAiABKAkSDQoFcHJpY2UYAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBSABKAkSLwoLdmFsaWRfdW50aWwYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiEKFGFsbG9jYXRlX2JlZm9yZV9zZWNzGAcgASgNSACIAQESHwoSc2V0dGxlX2JlZm9yZV9zZWNzGAggASgNSAGIAQESGQoRZXN0aW1hdGVkX2R2cF9mZWUYCSABKAkSIAoYZXN0aW1hdGVkX2FsbG9jYXRpb25fZmVlGAogASgJEhsKE2VzdGltYXRlZF90b3RhbF9mZWUYCyABKAlCFwoVX2FsbG9jYXRlX2JlZm9yZV9zZWNzQhUKE19zZXR0bGVfYmVmb3JlX3NlY3MiiAEKDVJmcVJlamVjdEluZm8SDwoHbHBfbmFtZRgBIAEoCRIOCgZyZWFzb24YAiABKAkSGQoMbWluX3F1YW50aXR5GAMgASgJSACIAQESGQoMbWF4X3F1YW50aXR5GAQgASgJSAGIAQFCDwoNX21pbl9xdWFudGl0eUIPCg1fbWF4X3F1YW50aXR5IjYKEkFjY2VwdFF1b3RlUmVxdWVzdBIOCgZyZnFfaWQYAiABKAkSEAoIcXVvdGVfaWQYAyABKAkiYQoTQWNjZXB0UXVvdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSGAoLcHJvcG9zYWxfaWQYAyABKAlIAIgBAUIOCgxfcHJvcG9zYWxfaWQiTQolR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBAUIMCgpfbWFya2V0X2lkIo4BCiZHZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSQgoTbGlxdWlkaXR5X3Byb3ZpZGVycxgDIAMoCzIlLnNpbHZhbmEub3JkZXJib29rLnYxLkNvbm5lY3RlZExwSW5mbyJOCg9Db25uZWN0ZWRMcEluZm8SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBjb25uZWN0ZWRfYWdlbnRzGAMgASgNIpUEChBSZnFBdWRpdExvZ0VudHJ5EgoKAmlkGAEgASgEEg4KBnJmcV9pZBgCIAEoCRI7CgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGUSEQoJbWFya2V0X2lkGAQgASgJEhEKCWRpcmVjdGlvbhgFIAEoCRIYChByZXF1ZXN0aW5nX3BhcnR5GAYgASgJEhQKB2xwX25hbWUYByABKAlIAIgBARIYCgtscF9wYXJ0eV9pZBgIIAEoCUgBiAEBEhUKCHF1YW50aXR5GAkgASgJSAKIAQESEgoFcHJpY2UYCiABKAlIA4gBARIbCg5xdW90ZV9xdWFudGl0eRgLIAEoCUgEiAEBEhUKCHF1b3RlX2lkGAwgASgJSAWIAQESGAoLcHJvcG9zYWxfaWQYDSABKAlIBogBARIaCg1lcnJvcl9tZXNzYWdlGA4gASgJSAeIAQESLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2xwX25hbWVCDgoMX2xwX3BhcnR5X2lkQgsKCV9xdWFudGl0eUIICgZfcHJpY2VCEQoPX3F1b3RlX3F1YW50aXR5QgsKCV9xdW90ZV9pZEIOCgxfcHJvcG9zYWxfaWRCEAoOX2Vycm9yX21lc3NhZ2UijgMKFUdldFJmcUF1ZGl0TG9nUmVxdWVzdBITCgZyZnFfaWQYASABKAlIAIgBARIWCgltYXJrZXRfaWQYAiABKAlIAYgBARJACgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGVIAogBARIUCgdscF9uYW1lGAQgASgJSAOIAQESMgoJZnJvbV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjAKB3RvX3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESEgoFbGltaXQYByABKA1IBogBARITCgZvZmZzZXQYCCABKA1IB4gBAUIJCgdfcmZxX2lkQgwKCl9tYXJrZXRfaWRCDQoLX2V2ZW50X3R5cGVCCgoIX2xwX25hbWVCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJgChZHZXRSZnFBdWRpdExvZ1Jlc3BvbnNlEjcKB2VudHJpZXMYASADKAsyJi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFBdWRpdExvZ0VudHJ5Eg0KBXRvdGFsGAIgASgNIvwBCg5SZnFTdHJlYW1FdmVudBI9Cglpbml0aWF0ZWQYASABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1Jbml0aWF0ZWRIABIzCgVxdW90ZRgCIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVF1b3RlSW5mb0gAEjgKCXJlamVjdGlvbhgDIAEoCzIjLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVJlamVjdEluZm9IABIzCgRkb25lGAQgASgLMiMuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxU3RyZWFtRG9uZUgAQgcKBWV2ZW50IjsKElJmcVN0cmVhbUluaXRpYXRlZBIOCgZyZnFfaWQYASABKAkSFQoNbHBzX3JlcXVlc3RlZBgCIAEoDSI9Cg1SZnFTdHJlYW1Eb25lEhUKDWxwc19yZXF1ZXN0ZWQYASABKA0SFQoNbHBzX3Jlc3BvbmRlZBgCIAEoDSJYCh1Fc3RpbWF0ZVNldHRsZW1lbnRGZWVzUmVxdWVzdBIRCgltYXJrZXRfaWQYASABKAkSFQoNYmFzZV9xdWFudGl0eRgCIAEoCRINCgVwcmljZRgDIAEoCSKcAQoeRXN0aW1hdGVTZXR0bGVtZW50RmVlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIZChFlc3RpbWF0ZWRfZHZwX2ZlZRgDIAEoCRIgChhlc3RpbWF0ZWRfYWxsb2NhdGlvbl9mZWUYBCABKAkSGwoTZXN0aW1hdGVkX3RvdGFsX2ZlZRgFIAEoCSI1Ch1HZXRVc2VyU2V0dGxlbWVudFN0YXRzUmVxdWVzdBIUCgxyb3VuZF9udW1iZXIYASABKA0ieAoeR2V0VXNlclNldHRsZW1lbnRTdGF0c1Jlc3BvbnNlEhQKDHJvdW5kX251bWJlchgBIAEoDRIQCghwYXJ0eV9pZBgCIAEoCRIYChBkdnBfc2V0dGxlX2NvdW50GAMgASgNEhQKDGZlZV9yZWltYl9jYxgEIAEoCSpRCglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEhIKDk9SREVSX1RZUEVfQklEEAESFAoQT1JERVJfVFlQRV9PRkZFUhACKq0BCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNPUkRFUl9TVEFUVVNfQUNUSVZFEAESGAoUT1JERVJfU1RBVFVTX1BBUlRJQUwQAhIXChNPUkRFUl9TVEFUVVNfRklMTEVEEAMSGgoWT1JERVJfU1RBVFVTX0NBTkNFTExFRBAEEhgKFE9SREVSX1NUQVRVU19FWFBJUkVEEAUqiAEKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIVChFUSU1FX0lOX0ZPUkNFX0dUQxABEhUKEVRJTUVfSU5fRk9SQ0VfSU9DEAISFQoRVElNRV9JTl9GT1JDRV9GT0sQAxIVChFUSU1FX0lOX0ZPUkNFX0dURBAEKrIBChBTZXR0bGVtZW50U3RhdHVzEiEKHVNFVFRMRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZU0VUVExFTUVOVF9TVEFUVVNfUEVORElORxABEh0KGVNFVFRMRU1FTlRfU1RBVFVTX1NFVFRMRUQQAhIfChtTRVRUTEVNRU5UX1NUQVRVU19DQU5DRUxMRUQQAxIcChhTRVRUTEVNRU5UX1NUQVRVU19GQUlMRUQQBCp2CgpNYXJrZXRUeXBlEhsKF01BUktFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTTUFSS0VUX1RZUEVfR0VORVJBTBABEh0KGU1BUktFVF9UWVBFX0lOU1RJVFVUSU9OQUwQAhITCg9NQVJLRVRfVFlQRV9PVEMQAyqKAQoQSXNzdWFuY2VGb3JlY2FzdBIhCh1JU1NVQU5DRV9GT1JFQ0FTVF9VTlNQRUNJRklFRBAAEhkKFUlTU1VBTkNFX0ZPUkVDQVNUX0xPVxABEhwKGElTU1VBTkNFX0ZPUkVDQVNUX01FRElVTRACEhoKFklTU1VBTkNFX0ZPUkVDQVNUX0hJR0gQAyqWAQoMSW52aXRlU3RhdHVzEh0KGUlOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNJTlZJVEVfU1RBVFVTX1ZBTElEEAESGQoVSU5WSVRFX1NUQVRVU19FWFBJUkVEEAISFgoSSU5WSVRFX1NUQVRVU19VU0VEEAMSGwoXSU5WSVRFX1NUQVRVU19DQU5DRUxMRUQQBCreAQoRUmZxQXVkaXRFdmVudFR5cGUSJAogUkZRX0FVRElUX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIgChxSRlFfQVVESVRfRVZFTlRfVFlQRV9SRVFVRVNUEAESHgoaUkZRX0FVRElUX0VWRU5UX1RZUEVfUVVPVEUQAhIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9SRUpFQ1QQAxIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9BQ0NFUFQQBBIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9FWFBJUkUQBTLQHgoQT3JkZXJib29rU2VydmljZRJcCglHZXRPcmRlcnMSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVzcG9uc2USdAoRR2V0T3JkZXJib29rRGVwdGgSLi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QaLy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEoMBChZHZXRTZXR0bGVtZW50UHJvcG9zYWxzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USgAEKFUdldFNldHRsZW1lbnRQcm9wb3NhbBIyLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QaMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRJrCg5HZXRJbnN0cnVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVzcG9uc2USXwoKR2V0TWFya2V0cxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1Jlc3BvbnNlEm4KD0dldE9yZGVySGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXNwb25zZRJoCg1HZXRNYXJrZXREYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVzcG9uc2USawoOR2V0U2V0dGxlbWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1Jlc3BvbnNlEoMBChZFc3RpbWF0ZVNldHRsZW1lbnRGZWVzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXN0aW1hdGVTZXR0bGVtZW50RmVlc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5Fc3RpbWF0ZVNldHRsZW1lbnRGZWVzUmVzcG9uc2USYgoLU3VibWl0T3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlc3BvbnNlEmIKC0NhbmNlbE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXNwb25zZRJZCghHZXRQYXJ0eRIlLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVzcG9uc2USXwoKR2V0UGFydGllcxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnRpZXNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydGllc1Jlc3BvbnNlEoABChVHZXRMaXF1aWRpdHlQcm92aWRlcnMSMi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0GjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TGlxdWlkaXR5UHJvdmlkZXJzUmVzcG9uc2USmwEKHkdldENvbm5lY3RlZExpcXVpZGl0eVByb3ZpZGVycxI7LnNpbHZhbmEub3JkZXJib29rLnYxLkdldENvbm5lY3RlZExpcXVpZGl0eVByb3ZpZGVyc1JlcXVlc3QaPC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRJoCg1SZXF1ZXN0UXVvdGVzEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1JlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZXF1ZXN0UXVvdGVzUmVzcG9uc2USYgoLQWNjZXB0UXVvdGUSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5BY2NlcHRRdW90ZVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5BY2NlcHRRdW90ZVJlc3BvbnNlEmsKDkdldFJmcUF1ZGl0TG9nEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UmZxQXVkaXRMb2dSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UmZxQXVkaXRMb2dSZXNwb25zZRJ6ChNBZGRXYWl0aW5nTGlzdEVudHJ5EjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWRkV2FpdGluZ0xpc3RFbnRyeVJlcXVlc3QaMS5zaWx2YW5hLm9yZGVyYm9vay52MS5BZGRXYWl0aW5nTGlzdEVudHJ5UmVzcG9uc2USXAoJR2V0SW52aXRlEiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW52aXRlUmVxdWVzdBonLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEludml0ZVJlc3BvbnNlElwKCVVzZUludml0ZRImLnNpbHZhbmEub3JkZXJib29rLnYxLlVzZUludml0ZVJlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5Vc2VJbnZpdGVSZXNwb25zZRJoCg1HZXRSb3VuZHNEYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Um91bmRzRGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRSb3VuZHNEYXRhUmVzcG9uc2USgwEKFkdldFVzZXJTZXR0bGVtZW50U3RhdHMSMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRVc2VyU2V0dGxlbWVudFN0YXRzUmVxdWVzdBo0LnNpbHZhbmEub3JkZXJib29rLnYxLkdldFVzZXJTZXR0bGVtZW50U3RhdHNSZXNwb25zZRJiCgtDcmVhdGVQYXJ0eRIoLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVzcG9uc2USYgoLVXBkYXRlUGFydHkSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlc3BvbnNlEm4KD0RlYWN0aXZhdGVQYXJ0eRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkRlYWN0aXZhdGVQYXJ0eVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5EZWFjdGl2YXRlUGFydHlSZXNwb25zZRJuCg9HZXRQYXJ0eUhpc3RvcnkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlIaXN0b3J5UmVzcG9uc2UScQoQQ3JlYXRlSW5zdHJ1bWVudBItLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZUluc3RydW1lbnRSZXF1ZXN0Gi4uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlc3BvbnNlEmUKDENyZWF0ZU1hcmtldBIpLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlcXVlc3QaKi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVNYXJrZXRSZXNwb25zZRKDAQoWVXBkYXRlTWFya2V0UHJpY2VGZWVkcxIzLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0GjQuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEm4KElN1YnNjcmliZU9yZGVyYm9vaxIvLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyYm9va1JlcXVlc3QaJS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUwARJkCg9TdWJzY3JpYmVPcmRlcnMSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVPcmRlcnNSZXF1ZXN0GiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJVcGRhdGUwARJzChRTdWJzY3JpYmVTZXR0bGVtZW50cxIxLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZVNldHRsZW1lbnRzUmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRVcGRhdGUwARJpChNTdHJlYW1SZXF1ZXN0UXVvdGVzEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1JlcXVlc3QaJC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1FdmVudDABQjRaMmdpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87b3JkZXJib29rYgZwcm90bzM", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
14
+ export const file_silvana_orderbook_v1_orderbook: GenFile = /*@__PURE__*/
15
+ fileDesc("CiRzaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIvoCCgpJbnN0cnVtZW50EhUKDWluc3RydW1lbnRfaWQYASABKAkSFwoPaW5zdHJ1bWVudF90eXBlGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGc3ltYm9sGAQgASgJEhgKC2Rlc2NyaXB0aW9uGAUgASgJSACIAQESEwoGaXNzdWVyGAYgASgJSAGIAQESFQoIcmVnaXN0cnkYByABKAlIAogBARIuCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtuZXdzX3N5bWJvbBgLIAEoCUIOCgxfZGVzY3JpcHRpb25CCQoHX2lzc3VlckILCglfcmVnaXN0cnlCCwoJX21ldGFkYXRhItwFCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgJEjUKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZRIXCg9iYXNlX2luc3RydW1lbnQYAyABKAkSGAoQcXVvdGVfaW5zdHJ1bWVudBgEIAEoCRITCgtwYWlyX3N5bWJvbBgFIAEoCRIRCglpc19hY3RpdmUYBiABKAgSFgoObWluX29yZGVyX3NpemUYByABKAkSGwoObWF4X29yZGVyX3NpemUYCCABKAlIAIgBARIRCgl0aWNrX3NpemUYCSABKAkSEQoJbWFrZXJfZmVlGAogASgJEhEKCXRha2VyX2ZlZRgLIAEoCRIuCghtZXRhZGF0YRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIuCgpjcmVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCgtwcmljZV9mZWVkcxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIaCg1jdXJyZW50X3ByaWNlGBAgASgBSAOIAQESFwoKY2hhbmdlXzI0aBgRIAEoAUgEiAEBEhcKCnZvbHVtZV8yNGgYEiABKAFIBYgBARI5ChBwcmljZV91cGRhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGFCDgoMX3ByaWNlX2ZlZWRzQhAKDl9jdXJyZW50X3ByaWNlQg0KC19jaGFuZ2VfMjRoQg0KC192b2x1bWVfMjRoQhMKEV9wcmljZV91cGRhdGVkX2F0IsEHCgVPcmRlchIQCghvcmRlcl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSMwoKb3JkZXJfdHlwZRgDIAEoDjIfLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVHlwZRIOCgZ0cmFkZXIYBCABKAkSHQoQdHJhZGVyX29yZGVyX3JlZhgFIAEoCUgAiAEBEhcKD2Jhc2VfaW5zdHJ1bWVudBgGIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAcgASgJEg0KBXByaWNlGAggASgJEhAKCHF1YW50aXR5GAkgASgJEhcKD2ZpbGxlZF9xdWFudGl0eRgKIAEoCRIYChBwZW5kaW5nX3F1YW50aXR5GAsgASgJEhoKEnJlbWFpbmluZ19xdWFudGl0eRgMIAEoCRIxCgZzdGF0dXMYDSABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1cxI4Cg10aW1lX2luX2ZvcmNlGA4gASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuVGltZUluRm9yY2USMwoKZXhwaXJlc19hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIPCgd2ZXJzaW9uGBAgASgEEjEKC2NyZWRlbnRpYWxzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgTIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgxjYW5jZWxsZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESFgoJc2lnbmF0dXJlGBcgASgJSAaIAQESEwoLc2lnbmVkX2RhdGEYGCABKAwSDQoFbm9uY2UYGSABKARCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDQoLX2V4cGlyZXNfYXRCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhQg8KDV9jYW5jZWxsZWRfYXRCDAoKX3NpZ25hdHVyZSKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiigYKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoCRIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhcKD2Jhc2VfaW5zdHJ1bWVudBgFIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAYgASgJEhUKDWJhc2VfcXVhbnRpdHkYByABKAkSFgoOcXVvdGVfcXVhbnRpdHkYCCABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgJIAEoCRIgChhkdnBfcHJvY2Vzc2luZ19mZWVfYnV5ZXIYCiABKAkSIQoZZHZwX3Byb2Nlc3NpbmdfZmVlX3NlbGxlchgLIAEoCRInCh9hbGxvY2F0aW9uX3Byb2Nlc3NpbmdfZmVlX2J1eWVyGAwgASgJEigKIGFsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfc2VsbGVyGA0gASgJEjYKBnN0YXR1cxgOIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXMSGgoNZXJyb3JfbWVzc2FnZRgPIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnNldHRsZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESNQoMY2FuY2VsbGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjIKCWZhaWxlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI1CgtvcmRlcl9tYXRjaBgUIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hCEAoOX2Vycm9yX21lc3NhZ2VCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0IrsBCgpPcmRlck1hdGNoEh4KFnNldHRsZW1lbnRfcHJvcG9zYWxfaWQYASABKAkSFAoMYmlkX29yZGVyX2lkGAIgASgEEhYKDm9mZmVyX29yZGVyX2lkGAMgASgEEhgKEG1hdGNoZWRfcXVhbnRpdHkYBCABKAkSFQoNbWF0Y2hlZF9wcmljZRgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKcBAoKU2V0dGxlbWVudBIVCg1zZXR0bGVtZW50X2lkGAEgASgEEhMKC3Byb3Bvc2FsX2lkGAIgASgJEhEKCW1hcmtldF9pZBgDIAEoCRINCgVidXllchgEIAEoCRIOCgZzZWxsZXIYBSABKAkSFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSFQoNYmFzZV9xdWFudGl0eRgIIAEoCRIWCg5xdW90ZV9xdWFudGl0eRgJIAEoCRIYChBzZXR0bGVtZW50X3ByaWNlGAogASgJEiAKGGR2cF9wcm9jZXNzaW5nX2ZlZV9idXllchgLIAEoCRIhChlkdnBfcHJvY2Vzc2luZ19mZWVfc2VsbGVyGAwgASgJEicKH2FsbG9jYXRpb25fcHJvY2Vzc2luZ19mZWVfYnV5ZXIYDSABKAkSKAogYWxsb2NhdGlvbl9wcm9jZXNzaW5nX2ZlZV9zZWxsZXIYDiABKAkSHAoPc2V0dGxlZF9kdnBfY2lkGA8gASgJSACIAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYECABKAlIAYgBARIuCgpzZXR0bGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZCKVAgoKTWFya2V0RGF0YRIRCgltYXJrZXRfaWQYASABKAkSEwoLcGFpcl9zeW1ib2wYAiABKAkSFQoIYmVzdF9iaWQYAyABKAlIAIgBARIXCgpiZXN0X29mZmVyGAQgASgJSAGIAQESFwoKbGFzdF9wcmljZRgFIAEoCUgCiAEBEhIKCnZvbHVtZV8yNGgYBiABKAkSEgoKdHJhZGVzXzI0aBgHIAEoDRITCgtvcGVuX29yZGVycxgIIAEoDRIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEILCglfYmVzdF9iaWRCDQoLX2Jlc3Rfb2ZmZXJCDQoLX2xhc3RfcHJpY2Ui+gIKEEdldE9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQESNgoGc3RhdHVzGAMgASgOMiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJTdGF0dXNIAYgBARI4CgpvcmRlcl90eXBlGAQgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBARIuCiFsaXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMYCyABKA1IBYgBARIgChhsaXF1aWRpdHlfcHJvdmlkZXJfbmFtZXMYDCADKAlCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQg0KC19vcmRlcl90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0QiQKIl9saXF1aWRpdHlfcHJvdmlkZXJfYWN0aXZlX3NlY29uZHMicQoRR2V0T3JkZXJzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIksKGEdldE9yZGVyYm9va0RlcHRoUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgidgoZR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNwoJb3JkZXJib29rGAMgASgLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rRGVwdGgiywEKHUdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjsKBnN0YXR1cxgDIAEoDjImLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRTdGF0dXNIAYgBARISCgVsaW1pdBgEIAEoDUgCiAEBEhMKBm9mZnNldBgFIAEoDUgDiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0IICgZfbGltaXRCCQoHX29mZnNldCKOAQoeR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI7Cglwcm9wb3NhbHMYAyADKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSDQoFdG90YWwYBCABKA0iMwocR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVxdWVzdBITCgtwcm9wb3NhbF9pZBgCIAEoCSKPAQodR2V0U2V0dGxlbWVudFByb3Bvc2FsUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEj8KCHByb3Bvc2FsGAMgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsSACIAQFCCwoJX3Byb3Bvc2FsIocBChVHZXRJbnN0cnVtZW50c1JlcXVlc3QSHAoPaW5zdHJ1bWVudF90eXBlGAIgASgJSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUISChBfaW5zdHJ1bWVudF90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRJbnN0cnVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtpbnN0cnVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLkluc3RydW1lbnQSDQoFdG90YWwYBCABKA0irQIKEUdldE1hcmtldHNSZXF1ZXN0EjoKC21hcmtldF90eXBlGAIgASgOMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0VHlwZUgAiAEBEhwKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCUgBiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBCABKAlIAogBARIYCgthY3RpdmVfb25seRgFIAEoCEgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQESEwoGb2Zmc2V0GAcgASgNSAWIAQFCDgoMX21hcmtldF90eXBlQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCDgoMX2FjdGl2ZV9vbmx5QggKBl9saW1pdEIJCgdfb2Zmc2V0InQKEkdldE1hcmtldHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLQoHbWFya2V0cxgDIAMoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldBINCgV0b3RhbBgEIAEoDSL8AQoWR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJ3ChdHZXRPcmRlckhpc3RvcnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0iKgoUR2V0TWFya2V0RGF0YVJlcXVlc3QSEgoKbWFya2V0X2lkcxgCIAMoCSJwChVHZXRNYXJrZXREYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjUKC21hcmtldF9kYXRhGAMgAygLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0RGF0YSL7AQoVR2V0U2V0dGxlbWVudHNSZXF1ZXN0EhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBEjIKCWZyb21fdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIwCgd0b190aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhIKBWxpbWl0GAUgASgNSAOIAQESEwoGb2Zmc2V0GAYgASgNSASIAQFCDAoKX21hcmtldF9pZEIMCgpfZnJvbV90aW1lQgoKCF90b190aW1lQggKBl9saW1pdEIJCgdfb2Zmc2V0IoABChZHZXRTZXR0bGVtZW50c1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgtzZXR0bGVtZW50cxgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnQSDQoFdG90YWwYBCABKA0iTAoZU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBIRCgltYXJrZXRfaWQYAiABKAkSEgoFZGVwdGgYAyABKA1IAIgBAUIICgZfZGVwdGgihwMKD09yZGVyYm9va1VwZGF0ZRIRCgltYXJrZXRfaWQYASABKAkSRQoLdXBkYXRlX3R5cGUYAiABKA4yMC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUuVXBkYXRlVHlwZRI5CgtiaWRfdXBkYXRlcxgDIAMoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va0xldmVsEjsKDW9mZmVyX3VwZGF0ZXMYBCADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBCJaCgpVcGRhdGVUeXBlEhsKF1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUVVBEQVRFX1RZUEVfU05BUFNIT1QQARIVChFVUERBVEVfVFlQRV9ERUxUQRACIj4KFlN1YnNjcmliZU9yZGVyc1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCKtAwoLT3JkZXJVcGRhdGUSPwoKZXZlbnRfdHlwZRgBIAEoDjIrLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlLkV2ZW50VHlwZRIqCgVvcmRlchgCIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEjQKBW1hdGNoGAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJNYXRjaEgAiAEBEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQEKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSRVZFTlRfVFlQRV9DUkVBVEVEEAESFgoSRVZFTlRfVFlQRV9VUERBVEVEEAISFQoRRVZFTlRfVFlQRV9GSUxMRUQQAxIfChtFVkVOVF9UWVBFX1BBUlRJQUxMWV9GSUxMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFEhYKEkVWRU5UX1RZUEVfRVhQSVJFRBAGQggKBl9tYXRjaCJDChtTdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QSFgoJbWFya2V0X2lkGAIgASgJSACIAQFCDAoKX21hcmtldF9pZCL2AgoQU2V0dGxlbWVudFVwZGF0ZRJECgpldmVudF90eXBlGAEgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZS5FdmVudFR5cGUSOgoIcHJvcG9zYWwYAiABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50UHJvcG9zYWwSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKwAQoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIfChtFVkVOVF9UWVBFX1BST1BPU0FMX0NSRUFURUQQARIdChlFVkVOVF9UWVBFX1NUQVRVU19DSEFOR0VEEAISFgoSRVZFTlRfVFlQRV9TRVRUTEVEEAMSFQoRRVZFTlRfVFlQRV9GQUlMRUQQBBIYChRFVkVOVF9UWVBFX0NBTkNFTExFRBAFIr4EChJTdWJtaXRPcmRlclJlcXVlc3QSEQoJbWFya2V0X2lkGAIgASgJEjMKCm9yZGVyX3R5cGUYAyABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGUSDQoFcHJpY2UYBCABKAkSEAoIcXVhbnRpdHkYBSABKAkSOAoNdGltZV9pbl9mb3JjZRgGIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLlRpbWVJbkZvcmNlEjMKCmV4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESHQoQdHJhZGVyX29yZGVyX3JlZhgIIAEoCUgBiAEBEjEKC2NyZWRlbnRpYWxzGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEjIKDHJlcXVpcmVtZW50cxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIuCghtZXRhZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIWCglzaWduYXR1cmUYDCABKAlIBYgBARITCgtzaWduZWRfZGF0YRgNIAEoDBINCgVub25jZRgOIAEoBEINCgtfZXhwaXJlc19hdEITChFfdHJhZGVyX29yZGVyX3JlZkIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDAoKX3NpZ25hdHVyZSJyChNTdWJtaXRPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIiYKEkNhbmNlbE9yZGVyUmVxdWVzdBIQCghvcmRlcl9pZBgCIAEoBCJyChNDYW5jZWxPcmRlclJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIvCgVvcmRlchgDIAEoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVySACIAQFCCAoGX29yZGVyIskFChJDcmVhdGVQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkSEgoKcGFydHlfbmFtZRgDIAEoCRISCgpwYXJ0eV90eXBlGAQgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAGIAQESLgoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAggASgJSAOIAQESKgoJdXNlcl9kYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgVlbWFpbBgKIAEoCUgEiAEBEhcKCnB1YmxpY19rZXkYCyABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgMIAEoCUgGiAEBEhMKBnNvdXJjZRgNIAEoCUgHiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgOIAEoCUgIiAEBEiQKF2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lGBAgASgJSAmIAQESKwoebGlxdWlkaXR5X3Byb3ZpZGVyX2Rlc2NyaXB0aW9uGBEgASgJSAqIAQFCEwoRX3VzZXJfc2VydmljZV9jaWRCFgoUX29wZXJhdG9yX2NvbmZpZ19jaWRCCwoJX21ldGFkYXRhQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXlCGgoYX2xpcXVpZGl0eV9wcm92aWRlcl9uYW1lQiEKH19saXF1aWRpdHlfcHJvdmlkZXJfZGVzY3JpcHRpb24iYwoTQ3JlYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKSBQoSVXBkYXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFwoKcGFydHlfbmFtZRgEIAEoCUgAiAEBEh0KEHVzZXJfc2VydmljZV9jaWQYBSABKAlIAYgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAYgASgJSAKIAQESJQoYdXNlcl9zZXJ2aWNlX3JlcXVlc3RfY2lkGAcgASgJSAOIAQESLwoJdXNlcl9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEhoKDWNoYW5nZV9yZWFzb24YCiABKAlIBogBARISCgVlbWFpbBgLIAEoCUgHiAEBEhcKCnB1YmxpY19rZXkYDCABKAlICIgBARIYCgtpbnZpdGVfY29kZRgNIAEoCUgJiAEBEhMKBnNvdXJjZRgOIAEoCUgKiAEBEiIKFWVuY3J5cHRlZF9wcml2YXRlX2tleRgPIAEoCUgLiAEBQg0KC19wYXJ0eV9uYW1lQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQhsKGV91c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWRCDAoKX3VzZXJfZGF0YUILCglfbWV0YWRhdGFCEAoOX2NoYW5nZV9yZWFzb25CCAoGX2VtYWlsQg0KC19wdWJsaWNfa2V5Qg4KDF9pbnZpdGVfY29kZUIJCgdfc291cmNlQhgKFl9lbmNyeXB0ZWRfcHJpdmF0ZV9rZXkiYwoTVXBkYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJbChZEZWFjdGl2YXRlUGFydHlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAyABKAQSFQoNY2hhbmdlX3JlYXNvbhgEIAEoCSJnChdEZWFjdGl2YXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSJoChZHZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0EhAKCHBhcnR5X2lkGAIgASgJEhIKBWxpbWl0GAMgASgNSACIAQESEwoGb2Zmc2V0GAQgASgNSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigQIKEVBhcnR5SGlzdG9yeUVudHJ5EhIKCmhpc3RvcnlfaWQYASABKAQSEAoIcGFydHlfaWQYAiABKAkSDgoGYWN0aW9uGAMgASgJEhIKCmNoYW5nZWRfYnkYBCABKAkSGgoNY2hhbmdlX3JlYXNvbhgFIAEoCUgAiAEBEg8KB3ZlcnNpb24YBiABKAQSMwoOcGFydHlfc25hcHNob3QYByABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIQCg5fY2hhbmdlX3JlYXNvbiKEAQoXR2V0UGFydHlIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjgKB2hpc3RvcnkYAyADKAsyJy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eUhpc3RvcnlFbnRyeRINCgV0b3RhbBgEIAEoDSIjCg9HZXRQYXJ0eVJlcXVlc3QSEAoIcGFydHlfaWQYAiABKAkiYAoQR2V0UGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSKjAQoRR2V0UGFydGllc1JlcXVlc3QSFwoKcGFydHlfdHlwZRgCIAEoCUgAiAEBEhgKC2FjdGl2ZV9vbmx5GAMgASgISAGIAQESEgoFbGltaXQYBCABKA1IAogBARITCgZvZmZzZXQYBSABKA1IA4gBAUINCgtfcGFydHlfdHlwZUIOCgxfYWN0aXZlX29ubHlCCAoGX2xpbWl0QgkKB19vZmZzZXQicwoSR2V0UGFydGllc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgdwYXJ0aWVzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuUGFydHkSDQoFdG90YWwYBCABKA0iigUKBVBhcnR5EhAKCHBhcnR5X2lkGAEgASgJEhIKCnBhcnR5X25hbWUYAiABKAkSEgoKcGFydHlfdHlwZRgDIAEoCRIdChB1c2VyX3NlcnZpY2VfY2lkGAQgASgJSACIAQESIAoTb3BlcmF0b3JfY29uZmlnX2NpZBgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlChh1c2VyX3NlcnZpY2VfcmVxdWVzdF9jaWQYCiABKAlIA4gBARIqCgl1c2VyX2RhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YDCABKAQSEgoFZW1haWwYDSABKAlIBIgBARIXCgpwdWJsaWNfa2V5GA4gASgJSAWIAQESGAoLaW52aXRlX2NvZGUYDyABKAlIBogBARIOCgZzb3VyY2UYECABKAkSGAoLcGFydGljaXBhbnQYESABKAlIB4gBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGFCGwoZX3VzZXJfc2VydmljZV9yZXF1ZXN0X2NpZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCDgoMX2ludml0ZV9jb2RlQg4KDF9wYXJ0aWNpcGFudCKNAgoRTGlxdWlkaXR5UHJvdmlkZXISDAoEbmFtZRgBIAEoCRIQCghwYXJ0eV9pZBgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjkKEGxhc3RfYWN0aXZlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQhMKEV9sYXN0X2FjdGl2ZV90aW1lIowBChxHZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0EhsKDmFjdGl2ZV9zZWNvbmRzGAIgASgNSACIAQESEgoFbGltaXQYAyABKA1IAYgBARITCgZvZmZzZXQYBCABKA1IAogBAUIRCg9fYWN0aXZlX3NlY29uZHNCCAoGX2xpbWl0QgkKB19vZmZzZXQilgEKHUdldExpcXVpZGl0eVByb3ZpZGVyc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRJEChNsaXF1aWRpdHlfcHJvdmlkZXJzGAMgAygLMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuTGlxdWlkaXR5UHJvdmlkZXISDQoFdG90YWwYBCABKA0ilwQKEFdhaXRpbmdMaXN0RW50cnkSCgoCaWQYASABKAQSFQoIcGFydHlfaWQYAiABKAlIAIgBARIqCgl1c2VyX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgEIAEoCRISCgVlbWFpbBgFIAEoCUgBiAEBEhcKCnB1YmxpY19rZXkYBiABKAlIAogBARIZChFvbmJvYXJkaW5nX3N0YXR1cxgHIAEoCRIPCgd2ZXJzaW9uGAggASgEEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCW11bHRpaGFzaBgMIAEoCUgEiAEBEiAKE211bHRpaGFzaF9zaWduYXR1cmUYDSABKAlIBYgBARIYCgtpbnZpdGVfY29kZRgOIAEoCUgGiAEBQgsKCV9wYXJ0eV9pZEIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhQgwKCl9tdWx0aWhhc2hCFgoUX211bHRpaGFzaF9zaWduYXR1cmVCDgoMX2ludml0ZV9jb2RlItsBChpBZGRXYWl0aW5nTGlzdEVudHJ5UmVxdWVzdBIqCgl1c2VyX2RhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg4KBnNvdXJjZRgDIAEoCRISCgVlbWFpbBgEIAEoCUgAiAEBEhcKCnB1YmxpY19rZXkYBSABKAlIAYgBARIuCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIICgZfZW1haWxCDQoLX3B1YmxpY19rZXlCCwoJX21ldGFkYXRhIksKG0FkZFdhaXRpbmdMaXN0RW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSCgoCaWQYAyABKAQisQMKBVJvdW5kEhQKDHJvdW5kX251bWJlchgBIAEoBBI0Cidpc3N1YW5jZV9wZXJfZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAiABKAlIAIgBARI2Cilpc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbhgDIAEoCUgBiAEBEhgKC2NjX3VzZF9yYXRlGAQgASgJSAKIAQESJAoXdHJhZmZpY19jb3N0X3VzZF9wZXJfbWIYBSABKAlIA4gBARIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIqCihfaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIOCgxfY2NfdXNkX3JhdGVCGgoYX3RyYWZmaWNfY29zdF91c2RfcGVyX21iIqwFChJMYXRlc3RDb2VmZmljaWVudHMSNAonaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uGAEgASgJSACIAQESOgotaXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kGAIgASgESAGIAQESNgopaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb24YAyABKAlIAogBARI8Ci9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbl9yb3VuZBgEIAEoBEgDiAEBEhgKC2NjX3VzZF9yYXRlGAUgASgJSASIAQESHgoRY2NfdXNkX3JhdGVfcm91bmQYBiABKARIBYgBARIkChd0cmFmZmljX2Nvc3RfdXNkX3Blcl9tYhgHIAEoCUgGiAEBEioKHXRyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kGAggASgESAeIAQFCKgooX2lzc3VhbmNlX3Blcl9mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIwCi5faXNzdWFuY2VfcGVyX2ZlYXR1cmVkX2FwcF9yZXdhcmRfY291cG9uX3JvdW5kQiwKKl9pc3N1YW5jZV9wZXJfdW5mZWF0dXJlZF9hcHBfcmV3YXJkX2NvdXBvbkIyCjBfaXNzdWFuY2VfcGVyX3VuZmVhdHVyZWRfYXBwX3Jld2FyZF9jb3Vwb25fcm91bmRCDgoMX2NjX3VzZF9yYXRlQhQKEl9jY191c2RfcmF0ZV9yb3VuZEIaChhfdHJhZmZpY19jb3N0X3VzZF9wZXJfbWJCIAoeX3RyYWZmaWNfY29zdF91c2RfcGVyX21iX3JvdW5kIjQKFEdldFJvdW5kc0RhdGFSZXF1ZXN0EhIKBWxpbWl0GAIgASgNSACIAQFCCAoGX2xpbWl0IvABChVHZXRSb3VuZHNEYXRhUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBnJvdW5kcxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLlJvdW5kEjgKBmxhdGVzdBgEIAEoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLkxhdGVzdENvZWZmaWNpZW50cxIUCgx0b3RhbF9yb3VuZHMYBSABKA0SOAoKcHJlZGljdGlvbhgGIAEoCzIkLnNpbHZhbmEub3JkZXJib29rLnYxLlByZWRpY3Rpb25EYXRhIpUBChVDb2VmZmljaWVudFByZWRpY3Rpb24SFAoMcm91bmRfbnVtYmVyGAEgASgEEh0KFXByZWRpY3RlZF9jb2VmZmljaWVudBgCIAEoCRIYChBjb25maWRlbmNlX2xvd2VyGAMgASgJEhgKEGNvbmZpZGVuY2VfdXBwZXIYBCABKAkSEwoLc3RlcHNfYWhlYWQYBSABKA0i8QIKDlByZWRpY3Rpb25EYXRhEkAKC3ByZWRpY3Rpb25zGAEgAygLMisuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ29lZmZpY2llbnRQcmVkaWN0aW9uEjgKCGZvcmVjYXN0GAIgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuSXNzdWFuY2VGb3JlY2FzdBIhChRmb3JlY2FzdF9jb2VmZmljaWVudBgDIAEoCUgAiAEBEhsKDmZvcmVjYXN0X3JvdW5kGAQgASgESAGIAQESFwoPYXJfY29lZmZpY2llbnRzGAUgAygBEhkKDHJlc2lkdWFsX3N0ZBgGIAEoCUgCiAEBEh0KEHByZWRpY3Rpb25fcm91bmQYByABKARIA4gBAUIXChVfZm9yZWNhc3RfY29lZmZpY2llbnRCEQoPX2ZvcmVjYXN0X3JvdW5kQg8KDV9yZXNpZHVhbF9zdGRCEwoRX3ByZWRpY3Rpb25fcm91bmQi7wIKBkludml0ZRITCgtpbnZpdGVfY29kZRgBIAEoCRIPCgdjaGFubmVsGAIgASgJEhQKB3Jld2FyZHMYAyABKAlIAIgBARIuCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIyCgZzdGF0dXMYBSABKA4yIi5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVTdGF0dXMSEgoKY291bnRfdXNlZBgGIAEoDRIWCgltYXhfY291bnQYByABKA1IAogBARISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9yZXdhcmRzQgsKCV9tZXRhZGF0YUIMCgpfbWF4X2NvdW50IicKEEdldEludml0ZVJlcXVlc3QSEwoLaW52aXRlX2NvZGUYASABKAkiYAoRR2V0SW52aXRlUmVzcG9uc2USDQoFZm91bmQYASABKAgSMQoGaW52aXRlGAIgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW52aXRlSACIAQFCCQoHX2ludml0ZSJLChBVc2VJbnZpdGVSZXF1ZXN0EhMKC2ludml0ZV9jb2RlGAEgASgJEhUKCHBhcnR5X2lkGAIgASgJSACIAQFCCwoJX3BhcnR5X2lkInMKEVVzZUludml0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIxCgZpbnZpdGUYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnZpdGVIAIgBAUIJCgdfaW52aXRlIqcCChdDcmVhdGVJbnN0cnVtZW50UmVxdWVzdBIVCg1pbnN0cnVtZW50X2lkGAIgASgJEhcKD2luc3RydW1lbnRfdHlwZRgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBnN5bWJvbBgFIAEoCRIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhMKBmlzc3VlchgHIAEoCUgBiAEBEhUKCHJlZ2lzdHJ5GAggASgJSAKIAQESLgoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESEwoLbmV3c19zeW1ib2wYCiABKAlCDgoMX2Rlc2NyaXB0aW9uQgkKB19pc3N1ZXJCCwoJX3JlZ2lzdHJ5QgsKCV9tZXRhZGF0YSJyChhDcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjQKCmluc3RydW1lbnQYAyABKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50IsYDChNDcmVhdGVNYXJrZXRSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRI1CgttYXJrZXRfdHlwZRgDIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGUSHAoPYmFzZV9pbnN0cnVtZW50GAQgASgJSACIAQESHQoQcXVvdGVfaW5zdHJ1bWVudBgFIAEoCUgBiAEBEhYKDm1pbl9vcmRlcl9zaXplGAYgASgJEhsKDm1heF9vcmRlcl9zaXplGAcgASgJSAKIAQESEQoJdGlja19zaXplGAggASgJEhEKCW1ha2VyX2ZlZRgJIAEoCRIRCgl0YWtlcl9mZWUYCiABKAkSLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESMQoLcHJpY2VfZmVlZHMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCEgoQX2Jhc2VfaW5zdHJ1bWVudEITChFfcXVvdGVfaW5zdHJ1bWVudEIRCg9fbWF4X29yZGVyX3NpemVCCwoJX21ldGFkYXRhQg4KDF9wcmljZV9mZWVkcyJmChRDcmVhdGVNYXJrZXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLAoGbWFya2V0GAMgASgLMhwuc2lsdmFuYS5vcmRlcmJvb2sudjEuTWFya2V0ImAKHVVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIsCgtwcmljZV9mZWVkcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QicAoeVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIsCgZtYXJrZXQYAyABKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQijAEKFFJlcXVlc3RRdW90ZXNSZXF1ZXN0EhEKCW1hcmtldF9pZBgCIAEoCRIRCglkaXJlY3Rpb24YAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSEAoIbHBfbmFtZXMYBSADKAkSGQoMdGltZW91dF9zZWNzGAYgASgNSACIAQFCDwoNX3RpbWVvdXRfc2VjcyLkAQoVUmVxdWVzdFF1b3Rlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIOCgZyZnFfaWQYAyABKAkSMgoGcXVvdGVzGAQgAygLMiIuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxUXVvdGVJbmZvEjcKCnJlamVjdGlvbnMYBSADKAsyIy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFSZWplY3RJbmZvEhUKDWxwc19yZXF1ZXN0ZWQYBiABKA0SFQoNbHBzX3Jlc3BvbmRlZBgHIAEoDSLpAgoMUmZxUXVvdGVJbmZvEhAKCHF1b3RlX2lkGAEgASgJEg8KB2xwX25hbWUYAiABKAkSDQoFcHJpY2UYAyABKAkSEAoIcXVhbnRpdHkYBCABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBSABKAkSLwoLdmFsaWRfdW50aWwYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiEKFGFsbG9jYXRlX2JlZm9yZV9zZWNzGAcgASgNSACIAQESHwoSc2V0dGxlX2JlZm9yZV9zZWNzGAggASgNSAGIAQESGQoRZXN0aW1hdGVkX2R2cF9mZWUYCSABKAkSIAoYZXN0aW1hdGVkX2FsbG9jYXRpb25fZmVlGAogASgJEhsKE2VzdGltYXRlZF90b3RhbF9mZWUYCyABKAlCFwoVX2FsbG9jYXRlX2JlZm9yZV9zZWNzQhUKE19zZXR0bGVfYmVmb3JlX3NlY3MiiAEKDVJmcVJlamVjdEluZm8SDwoHbHBfbmFtZRgBIAEoCRIOCgZyZWFzb24YAiABKAkSGQoMbWluX3F1YW50aXR5GAMgASgJSACIAQESGQoMbWF4X3F1YW50aXR5GAQgASgJSAGIAQFCDwoNX21pbl9xdWFudGl0eUIPCg1fbWF4X3F1YW50aXR5IjYKEkFjY2VwdFF1b3RlUmVxdWVzdBIOCgZyZnFfaWQYAiABKAkSEAoIcXVvdGVfaWQYAyABKAkiYQoTQWNjZXB0UXVvdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSGAoLcHJvcG9zYWxfaWQYAyABKAlIAIgBAUIOCgxfcHJvcG9zYWxfaWQiTQolR2V0Q29ubmVjdGVkTGlxdWlkaXR5UHJvdmlkZXJzUmVxdWVzdBIWCgltYXJrZXRfaWQYAiABKAlIAIgBAUIMCgpfbWFya2V0X2lkIo4BCiZHZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSQgoTbGlxdWlkaXR5X3Byb3ZpZGVycxgDIAMoCzIlLnNpbHZhbmEub3JkZXJib29rLnYxLkNvbm5lY3RlZExwSW5mbyJOCg9Db25uZWN0ZWRMcEluZm8SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBjb25uZWN0ZWRfYWdlbnRzGAMgASgNIpUEChBSZnFBdWRpdExvZ0VudHJ5EgoKAmlkGAEgASgEEg4KBnJmcV9pZBgCIAEoCRI7CgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGUSEQoJbWFya2V0X2lkGAQgASgJEhEKCWRpcmVjdGlvbhgFIAEoCRIYChByZXF1ZXN0aW5nX3BhcnR5GAYgASgJEhQKB2xwX25hbWUYByABKAlIAIgBARIYCgtscF9wYXJ0eV9pZBgIIAEoCUgBiAEBEhUKCHF1YW50aXR5GAkgASgJSAKIAQESEgoFcHJpY2UYCiABKAlIA4gBARIbCg5xdW90ZV9xdWFudGl0eRgLIAEoCUgEiAEBEhUKCHF1b3RlX2lkGAwgASgJSAWIAQESGAoLcHJvcG9zYWxfaWQYDSABKAlIBogBARIaCg1lcnJvcl9tZXNzYWdlGA4gASgJSAeIAQESLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2xwX25hbWVCDgoMX2xwX3BhcnR5X2lkQgsKCV9xdWFudGl0eUIICgZfcHJpY2VCEQoPX3F1b3RlX3F1YW50aXR5QgsKCV9xdW90ZV9pZEIOCgxfcHJvcG9zYWxfaWRCEAoOX2Vycm9yX21lc3NhZ2UijgMKFUdldFJmcUF1ZGl0TG9nUmVxdWVzdBITCgZyZnFfaWQYASABKAlIAIgBARIWCgltYXJrZXRfaWQYAiABKAlIAYgBARJACgpldmVudF90eXBlGAMgASgOMicuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxQXVkaXRFdmVudFR5cGVIAogBARIUCgdscF9uYW1lGAQgASgJSAOIAQESMgoJZnJvbV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEjAKB3RvX3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESEgoFbGltaXQYByABKA1IBogBARITCgZvZmZzZXQYCCABKA1IB4gBAUIJCgdfcmZxX2lkQgwKCl9tYXJrZXRfaWRCDQoLX2V2ZW50X3R5cGVCCgoIX2xwX25hbWVCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCJgChZHZXRSZnFBdWRpdExvZ1Jlc3BvbnNlEjcKB2VudHJpZXMYASADKAsyJi5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFBdWRpdExvZ0VudHJ5Eg0KBXRvdGFsGAIgASgNIvwBCg5SZnFTdHJlYW1FdmVudBI9Cglpbml0aWF0ZWQYASABKAsyKC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1Jbml0aWF0ZWRIABIzCgVxdW90ZRgCIAEoCzIiLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVF1b3RlSW5mb0gAEjgKCXJlamVjdGlvbhgDIAEoCzIjLnNpbHZhbmEub3JkZXJib29rLnYxLlJmcVJlamVjdEluZm9IABIzCgRkb25lGAQgASgLMiMuc2lsdmFuYS5vcmRlcmJvb2sudjEuUmZxU3RyZWFtRG9uZUgAQgcKBWV2ZW50IjsKElJmcVN0cmVhbUluaXRpYXRlZBIOCgZyZnFfaWQYASABKAkSFQoNbHBzX3JlcXVlc3RlZBgCIAEoDSI9Cg1SZnFTdHJlYW1Eb25lEhUKDWxwc19yZXF1ZXN0ZWQYASABKA0SFQoNbHBzX3Jlc3BvbmRlZBgCIAEoDSJYCh1Fc3RpbWF0ZVNldHRsZW1lbnRGZWVzUmVxdWVzdBIRCgltYXJrZXRfaWQYASABKAkSFQoNYmFzZV9xdWFudGl0eRgCIAEoCRINCgVwcmljZRgDIAEoCSKcAQoeRXN0aW1hdGVTZXR0bGVtZW50RmVlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIZChFlc3RpbWF0ZWRfZHZwX2ZlZRgDIAEoCRIgChhlc3RpbWF0ZWRfYWxsb2NhdGlvbl9mZWUYBCABKAkSGwoTZXN0aW1hdGVkX3RvdGFsX2ZlZRgFIAEoCSI1Ch1HZXRVc2VyU2V0dGxlbWVudFN0YXRzUmVxdWVzdBIUCgxyb3VuZF9udW1iZXIYASABKA0ieAoeR2V0VXNlclNldHRsZW1lbnRTdGF0c1Jlc3BvbnNlEhQKDHJvdW5kX251bWJlchgBIAEoDRIQCghwYXJ0eV9pZBgCIAEoCRIYChBkdnBfc2V0dGxlX2NvdW50GAMgASgNEhQKDGZlZV9yZWltYl9jYxgEIAEoCSpRCglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEhIKDk9SREVSX1RZUEVfQklEEAESFAoQT1JERVJfVFlQRV9PRkZFUhACKq0BCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNPUkRFUl9TVEFUVVNfQUNUSVZFEAESGAoUT1JERVJfU1RBVFVTX1BBUlRJQUwQAhIXChNPUkRFUl9TVEFUVVNfRklMTEVEEAMSGgoWT1JERVJfU1RBVFVTX0NBTkNFTExFRBAEEhgKFE9SREVSX1NUQVRVU19FWFBJUkVEEAUqiAEKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIVChFUSU1FX0lOX0ZPUkNFX0dUQxABEhUKEVRJTUVfSU5fRk9SQ0VfSU9DEAISFQoRVElNRV9JTl9GT1JDRV9GT0sQAxIVChFUSU1FX0lOX0ZPUkNFX0dURBAEKrIBChBTZXR0bGVtZW50U3RhdHVzEiEKHVNFVFRMRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZU0VUVExFTUVOVF9TVEFUVVNfUEVORElORxABEh0KGVNFVFRMRU1FTlRfU1RBVFVTX1NFVFRMRUQQAhIfChtTRVRUTEVNRU5UX1NUQVRVU19DQU5DRUxMRUQQAxIcChhTRVRUTEVNRU5UX1NUQVRVU19GQUlMRUQQBCp2CgpNYXJrZXRUeXBlEhsKF01BUktFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTTUFSS0VUX1RZUEVfR0VORVJBTBABEh0KGU1BUktFVF9UWVBFX0lOU1RJVFVUSU9OQUwQAhITCg9NQVJLRVRfVFlQRV9PVEMQAyqKAQoQSXNzdWFuY2VGb3JlY2FzdBIhCh1JU1NVQU5DRV9GT1JFQ0FTVF9VTlNQRUNJRklFRBAAEhkKFUlTU1VBTkNFX0ZPUkVDQVNUX0xPVxABEhwKGElTU1VBTkNFX0ZPUkVDQVNUX01FRElVTRACEhoKFklTU1VBTkNFX0ZPUkVDQVNUX0hJR0gQAyqWAQoMSW52aXRlU3RhdHVzEh0KGUlOVklURV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNJTlZJVEVfU1RBVFVTX1ZBTElEEAESGQoVSU5WSVRFX1NUQVRVU19FWFBJUkVEEAISFgoSSU5WSVRFX1NUQVRVU19VU0VEEAMSGwoXSU5WSVRFX1NUQVRVU19DQU5DRUxMRUQQBCreAQoRUmZxQXVkaXRFdmVudFR5cGUSJAogUkZRX0FVRElUX0VWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIgChxSRlFfQVVESVRfRVZFTlRfVFlQRV9SRVFVRVNUEAESHgoaUkZRX0FVRElUX0VWRU5UX1RZUEVfUVVPVEUQAhIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9SRUpFQ1QQAxIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9BQ0NFUFQQBBIfChtSRlFfQVVESVRfRVZFTlRfVFlQRV9FWFBJUkUQBTLQHgoQT3JkZXJib29rU2VydmljZRJcCglHZXRPcmRlcnMSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVzcG9uc2USdAoRR2V0T3JkZXJib29rRGVwdGgSLi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QaLy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEoMBChZHZXRTZXR0bGVtZW50UHJvcG9zYWxzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USgAEKFUdldFNldHRsZW1lbnRQcm9wb3NhbBIyLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbFJlcXVlc3QaMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxSZXNwb25zZRJrCg5HZXRJbnN0cnVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEluc3RydW1lbnRzUmVzcG9uc2USXwoKR2V0TWFya2V0cxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1Jlc3BvbnNlEm4KD0dldE9yZGVySGlzdG9yeRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXNwb25zZRJoCg1HZXRNYXJrZXREYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVzcG9uc2USawoOR2V0U2V0dGxlbWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50c1Jlc3BvbnNlEoMBChZFc3RpbWF0ZVNldHRsZW1lbnRGZWVzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuRXN0aW1hdGVTZXR0bGVtZW50RmVlc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5Fc3RpbWF0ZVNldHRsZW1lbnRGZWVzUmVzcG9uc2USYgoLU3VibWl0T3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlc3BvbnNlEmIKC0NhbmNlbE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXNwb25zZRJZCghHZXRQYXJ0eRIlLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnR5UmVzcG9uc2USXwoKR2V0UGFydGllcxInLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFBhcnRpZXNSZXF1ZXN0Giguc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydGllc1Jlc3BvbnNlEoABChVHZXRMaXF1aWRpdHlQcm92aWRlcnMSMi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRMaXF1aWRpdHlQcm92aWRlcnNSZXF1ZXN0GjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TGlxdWlkaXR5UHJvdmlkZXJzUmVzcG9uc2USmwEKHkdldENvbm5lY3RlZExpcXVpZGl0eVByb3ZpZGVycxI7LnNpbHZhbmEub3JkZXJib29rLnYxLkdldENvbm5lY3RlZExpcXVpZGl0eVByb3ZpZGVyc1JlcXVlc3QaPC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRDb25uZWN0ZWRMaXF1aWRpdHlQcm92aWRlcnNSZXNwb25zZRJoCg1SZXF1ZXN0UXVvdGVzEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1JlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5SZXF1ZXN0UXVvdGVzUmVzcG9uc2USYgoLQWNjZXB0UXVvdGUSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5BY2NlcHRRdW90ZVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5BY2NlcHRRdW90ZVJlc3BvbnNlEmsKDkdldFJmcUF1ZGl0TG9nEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UmZxQXVkaXRMb2dSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UmZxQXVkaXRMb2dSZXNwb25zZRJ6ChNBZGRXYWl0aW5nTGlzdEVudHJ5EjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuQWRkV2FpdGluZ0xpc3RFbnRyeVJlcXVlc3QaMS5zaWx2YW5hLm9yZGVyYm9vay52MS5BZGRXYWl0aW5nTGlzdEVudHJ5UmVzcG9uc2USXAoJR2V0SW52aXRlEiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW52aXRlUmVxdWVzdBonLnNpbHZhbmEub3JkZXJib29rLnYxLkdldEludml0ZVJlc3BvbnNlElwKCVVzZUludml0ZRImLnNpbHZhbmEub3JkZXJib29rLnYxLlVzZUludml0ZVJlcXVlc3QaJy5zaWx2YW5hLm9yZGVyYm9vay52MS5Vc2VJbnZpdGVSZXNwb25zZRJoCg1HZXRSb3VuZHNEYXRhEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0Um91bmRzRGF0YVJlcXVlc3QaKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRSb3VuZHNEYXRhUmVzcG9uc2USgwEKFkdldFVzZXJTZXR0bGVtZW50U3RhdHMSMy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRVc2VyU2V0dGxlbWVudFN0YXRzUmVxdWVzdBo0LnNpbHZhbmEub3JkZXJib29rLnYxLkdldFVzZXJTZXR0bGVtZW50U3RhdHNSZXNwb25zZRJiCgtDcmVhdGVQYXJ0eRIoLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZVBhcnR5UmVzcG9uc2USYgoLVXBkYXRlUGFydHkSKC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVQYXJ0eVJlc3BvbnNlEm4KD0RlYWN0aXZhdGVQYXJ0eRIsLnNpbHZhbmEub3JkZXJib29rLnYxLkRlYWN0aXZhdGVQYXJ0eVJlcXVlc3QaLS5zaWx2YW5hLm9yZGVyYm9vay52MS5EZWFjdGl2YXRlUGFydHlSZXNwb25zZRJuCg9HZXRQYXJ0eUhpc3RvcnkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRQYXJ0eUhpc3RvcnlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0UGFydHlIaXN0b3J5UmVzcG9uc2UScQoQQ3JlYXRlSW5zdHJ1bWVudBItLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZUluc3RydW1lbnRSZXF1ZXN0Gi4uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlc3BvbnNlEmUKDENyZWF0ZU1hcmtldBIpLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlcXVlc3QaKi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVNYXJrZXRSZXNwb25zZRKDAQoWVXBkYXRlTWFya2V0UHJpY2VGZWVkcxIzLnNpbHZhbmEub3JkZXJib29rLnYxLlVwZGF0ZU1hcmtldFByaWNlRmVlZHNSZXF1ZXN0GjQuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1Jlc3BvbnNlEm4KElN1YnNjcmliZU9yZGVyYm9vaxIvLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyYm9va1JlcXVlc3QaJS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tVcGRhdGUwARJkCg9TdWJzY3JpYmVPcmRlcnMSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVPcmRlcnNSZXF1ZXN0GiEuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJVcGRhdGUwARJzChRTdWJzY3JpYmVTZXR0bGVtZW50cxIxLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZVNldHRsZW1lbnRzUmVxdWVzdBomLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRVcGRhdGUwARJpChNTdHJlYW1SZXF1ZXN0UXVvdGVzEiouc2lsdmFuYS5vcmRlcmJvb2sudjEuUmVxdWVzdFF1b3Rlc1JlcXVlc3QaJC5zaWx2YW5hLm9yZGVyYm9vay52MS5SZnFTdHJlYW1FdmVudDABQjRaMmdpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87b3JkZXJib29rYgZwcm90bzM", [file_google_protobuf_timestamp, file_google_protobuf_empty, file_google_protobuf_struct]);
16
16
 
17
17
  /**
18
18
  * Instrument message
@@ -83,7 +83,7 @@ export type Instrument = Message<"silvana.orderbook.v1.Instrument"> & {
83
83
  * Use `create(InstrumentSchema)` to create a new message.
84
84
  */
85
85
  export const InstrumentSchema: GenMessage<Instrument> = /*@__PURE__*/
86
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 0);
86
+ messageDesc(file_silvana_orderbook_v1_orderbook, 0);
87
87
 
88
88
  /**
89
89
  * Market message
@@ -208,7 +208,7 @@ export type Market = Message<"silvana.orderbook.v1.Market"> & {
208
208
  * Use `create(MarketSchema)` to create a new message.
209
209
  */
210
210
  export const MarketSchema: GenMessage<Market> = /*@__PURE__*/
211
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 1);
211
+ messageDesc(file_silvana_orderbook_v1_orderbook, 1);
212
212
 
213
213
  /**
214
214
  * Order message
@@ -369,7 +369,7 @@ export type Order = Message<"silvana.orderbook.v1.Order"> & {
369
369
  * Use `create(OrderSchema)` to create a new message.
370
370
  */
371
371
  export const OrderSchema: GenMessage<Order> = /*@__PURE__*/
372
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 2);
372
+ messageDesc(file_silvana_orderbook_v1_orderbook, 2);
373
373
 
374
374
  /**
375
375
  * Orderbook depth level (aggregated view without user details)
@@ -407,7 +407,7 @@ export type OrderbookLevel = Message<"silvana.orderbook.v1.OrderbookLevel"> & {
407
407
  * Use `create(OrderbookLevelSchema)` to create a new message.
408
408
  */
409
409
  export const OrderbookLevelSchema: GenMessage<OrderbookLevel> = /*@__PURE__*/
410
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 3);
410
+ messageDesc(file_silvana_orderbook_v1_orderbook, 3);
411
411
 
412
412
  /**
413
413
  * Orderbook depth for a market
@@ -450,7 +450,7 @@ export type OrderbookDepth = Message<"silvana.orderbook.v1.OrderbookDepth"> & {
450
450
  * Use `create(OrderbookDepthSchema)` to create a new message.
451
451
  */
452
452
  export const OrderbookDepthSchema: GenMessage<OrderbookDepth> = /*@__PURE__*/
453
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 4);
453
+ messageDesc(file_silvana_orderbook_v1_orderbook, 4);
454
454
 
455
455
  /**
456
456
  * Settlement proposal message (simplified - immutable values + status only)
@@ -584,7 +584,7 @@ export type SettlementProposal = Message<"silvana.orderbook.v1.SettlementProposa
584
584
  * Use `create(SettlementProposalSchema)` to create a new message.
585
585
  */
586
586
  export const SettlementProposalSchema: GenMessage<SettlementProposal> = /*@__PURE__*/
587
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 5);
587
+ messageDesc(file_silvana_orderbook_v1_orderbook, 5);
588
588
 
589
589
  /**
590
590
  * Order match message
@@ -634,7 +634,7 @@ export type OrderMatch = Message<"silvana.orderbook.v1.OrderMatch"> & {
634
634
  * Use `create(OrderMatchSchema)` to create a new message.
635
635
  */
636
636
  export const OrderMatchSchema: GenMessage<OrderMatch> = /*@__PURE__*/
637
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 6);
637
+ messageDesc(file_silvana_orderbook_v1_orderbook, 6);
638
638
 
639
639
  /**
640
640
  * Settlement (completed) message - audit trail for completed settlements
@@ -757,7 +757,7 @@ export type Settlement = Message<"silvana.orderbook.v1.Settlement"> & {
757
757
  * Use `create(SettlementSchema)` to create a new message.
758
758
  */
759
759
  export const SettlementSchema: GenMessage<Settlement> = /*@__PURE__*/
760
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 7);
760
+ messageDesc(file_silvana_orderbook_v1_orderbook, 7);
761
761
 
762
762
  /**
763
763
  * Market data message
@@ -824,7 +824,7 @@ export type MarketData = Message<"silvana.orderbook.v1.MarketData"> & {
824
824
  * Use `create(MarketDataSchema)` to create a new message.
825
825
  */
826
826
  export const MarketDataSchema: GenMessage<MarketData> = /*@__PURE__*/
827
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 8);
827
+ messageDesc(file_silvana_orderbook_v1_orderbook, 8);
828
828
 
829
829
  /**
830
830
  * Get user's orders
@@ -881,7 +881,7 @@ export type GetOrdersRequest = Message<"silvana.orderbook.v1.GetOrdersRequest">
881
881
  * Use `create(GetOrdersRequestSchema)` to create a new message.
882
882
  */
883
883
  export const GetOrdersRequestSchema: GenMessage<GetOrdersRequest> = /*@__PURE__*/
884
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 9);
884
+ messageDesc(file_silvana_orderbook_v1_orderbook, 9);
885
885
 
886
886
  /**
887
887
  * @generated from message silvana.orderbook.v1.GetOrdersResponse
@@ -913,7 +913,7 @@ export type GetOrdersResponse = Message<"silvana.orderbook.v1.GetOrdersResponse"
913
913
  * Use `create(GetOrdersResponseSchema)` to create a new message.
914
914
  */
915
915
  export const GetOrdersResponseSchema: GenMessage<GetOrdersResponse> = /*@__PURE__*/
916
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 10);
916
+ messageDesc(file_silvana_orderbook_v1_orderbook, 10);
917
917
 
918
918
  /**
919
919
  * Get orderbook depth (aggregated, no user details)
@@ -941,7 +941,7 @@ export type GetOrderbookDepthRequest = Message<"silvana.orderbook.v1.GetOrderboo
941
941
  * Use `create(GetOrderbookDepthRequestSchema)` to create a new message.
942
942
  */
943
943
  export const GetOrderbookDepthRequestSchema: GenMessage<GetOrderbookDepthRequest> = /*@__PURE__*/
944
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 11);
944
+ messageDesc(file_silvana_orderbook_v1_orderbook, 11);
945
945
 
946
946
  /**
947
947
  * @generated from message silvana.orderbook.v1.GetOrderbookDepthResponse
@@ -968,7 +968,7 @@ export type GetOrderbookDepthResponse = Message<"silvana.orderbook.v1.GetOrderbo
968
968
  * Use `create(GetOrderbookDepthResponseSchema)` to create a new message.
969
969
  */
970
970
  export const GetOrderbookDepthResponseSchema: GenMessage<GetOrderbookDepthResponse> = /*@__PURE__*/
971
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 12);
971
+ messageDesc(file_silvana_orderbook_v1_orderbook, 12);
972
972
 
973
973
  /**
974
974
  * Get user's settlement proposals
@@ -1004,7 +1004,7 @@ export type GetSettlementProposalsRequest = Message<"silvana.orderbook.v1.GetSet
1004
1004
  * Use `create(GetSettlementProposalsRequestSchema)` to create a new message.
1005
1005
  */
1006
1006
  export const GetSettlementProposalsRequestSchema: GenMessage<GetSettlementProposalsRequest> = /*@__PURE__*/
1007
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 13);
1007
+ messageDesc(file_silvana_orderbook_v1_orderbook, 13);
1008
1008
 
1009
1009
  /**
1010
1010
  * @generated from message silvana.orderbook.v1.GetSettlementProposalsResponse
@@ -1036,7 +1036,7 @@ export type GetSettlementProposalsResponse = Message<"silvana.orderbook.v1.GetSe
1036
1036
  * Use `create(GetSettlementProposalsResponseSchema)` to create a new message.
1037
1037
  */
1038
1038
  export const GetSettlementProposalsResponseSchema: GenMessage<GetSettlementProposalsResponse> = /*@__PURE__*/
1039
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 14);
1039
+ messageDesc(file_silvana_orderbook_v1_orderbook, 14);
1040
1040
 
1041
1041
  /**
1042
1042
  * Get a single settlement proposal by ID
@@ -1059,7 +1059,7 @@ export type GetSettlementProposalRequest = Message<"silvana.orderbook.v1.GetSett
1059
1059
  * Use `create(GetSettlementProposalRequestSchema)` to create a new message.
1060
1060
  */
1061
1061
  export const GetSettlementProposalRequestSchema: GenMessage<GetSettlementProposalRequest> = /*@__PURE__*/
1062
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 15);
1062
+ messageDesc(file_silvana_orderbook_v1_orderbook, 15);
1063
1063
 
1064
1064
  /**
1065
1065
  * @generated from message silvana.orderbook.v1.GetSettlementProposalResponse
@@ -1086,7 +1086,7 @@ export type GetSettlementProposalResponse = Message<"silvana.orderbook.v1.GetSet
1086
1086
  * Use `create(GetSettlementProposalResponseSchema)` to create a new message.
1087
1087
  */
1088
1088
  export const GetSettlementProposalResponseSchema: GenMessage<GetSettlementProposalResponse> = /*@__PURE__*/
1089
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 16);
1089
+ messageDesc(file_silvana_orderbook_v1_orderbook, 16);
1090
1090
 
1091
1091
  /**
1092
1092
  * Get available instruments (filtered by JWT permissions)
@@ -1117,7 +1117,7 @@ export type GetInstrumentsRequest = Message<"silvana.orderbook.v1.GetInstruments
1117
1117
  * Use `create(GetInstrumentsRequestSchema)` to create a new message.
1118
1118
  */
1119
1119
  export const GetInstrumentsRequestSchema: GenMessage<GetInstrumentsRequest> = /*@__PURE__*/
1120
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 17);
1120
+ messageDesc(file_silvana_orderbook_v1_orderbook, 17);
1121
1121
 
1122
1122
  /**
1123
1123
  * @generated from message silvana.orderbook.v1.GetInstrumentsResponse
@@ -1149,7 +1149,7 @@ export type GetInstrumentsResponse = Message<"silvana.orderbook.v1.GetInstrument
1149
1149
  * Use `create(GetInstrumentsResponseSchema)` to create a new message.
1150
1150
  */
1151
1151
  export const GetInstrumentsResponseSchema: GenMessage<GetInstrumentsResponse> = /*@__PURE__*/
1152
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 18);
1152
+ messageDesc(file_silvana_orderbook_v1_orderbook, 18);
1153
1153
 
1154
1154
  /**
1155
1155
  * Get available markets (filtered by JWT permissions)
@@ -1195,7 +1195,7 @@ export type GetMarketsRequest = Message<"silvana.orderbook.v1.GetMarketsRequest"
1195
1195
  * Use `create(GetMarketsRequestSchema)` to create a new message.
1196
1196
  */
1197
1197
  export const GetMarketsRequestSchema: GenMessage<GetMarketsRequest> = /*@__PURE__*/
1198
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 19);
1198
+ messageDesc(file_silvana_orderbook_v1_orderbook, 19);
1199
1199
 
1200
1200
  /**
1201
1201
  * @generated from message silvana.orderbook.v1.GetMarketsResponse
@@ -1227,7 +1227,7 @@ export type GetMarketsResponse = Message<"silvana.orderbook.v1.GetMarketsRespons
1227
1227
  * Use `create(GetMarketsResponseSchema)` to create a new message.
1228
1228
  */
1229
1229
  export const GetMarketsResponseSchema: GenMessage<GetMarketsResponse> = /*@__PURE__*/
1230
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 20);
1230
+ messageDesc(file_silvana_orderbook_v1_orderbook, 20);
1231
1231
 
1232
1232
  /**
1233
1233
  * Get user's order history
@@ -1268,7 +1268,7 @@ export type GetOrderHistoryRequest = Message<"silvana.orderbook.v1.GetOrderHisto
1268
1268
  * Use `create(GetOrderHistoryRequestSchema)` to create a new message.
1269
1269
  */
1270
1270
  export const GetOrderHistoryRequestSchema: GenMessage<GetOrderHistoryRequest> = /*@__PURE__*/
1271
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 21);
1271
+ messageDesc(file_silvana_orderbook_v1_orderbook, 21);
1272
1272
 
1273
1273
  /**
1274
1274
  * @generated from message silvana.orderbook.v1.GetOrderHistoryResponse
@@ -1300,7 +1300,7 @@ export type GetOrderHistoryResponse = Message<"silvana.orderbook.v1.GetOrderHist
1300
1300
  * Use `create(GetOrderHistoryResponseSchema)` to create a new message.
1301
1301
  */
1302
1302
  export const GetOrderHistoryResponseSchema: GenMessage<GetOrderHistoryResponse> = /*@__PURE__*/
1303
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 22);
1303
+ messageDesc(file_silvana_orderbook_v1_orderbook, 22);
1304
1304
 
1305
1305
  /**
1306
1306
  * Get market data (filtered by JWT permissions)
@@ -1323,7 +1323,7 @@ export type GetMarketDataRequest = Message<"silvana.orderbook.v1.GetMarketDataRe
1323
1323
  * Use `create(GetMarketDataRequestSchema)` to create a new message.
1324
1324
  */
1325
1325
  export const GetMarketDataRequestSchema: GenMessage<GetMarketDataRequest> = /*@__PURE__*/
1326
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 23);
1326
+ messageDesc(file_silvana_orderbook_v1_orderbook, 23);
1327
1327
 
1328
1328
  /**
1329
1329
  * @generated from message silvana.orderbook.v1.GetMarketDataResponse
@@ -1350,7 +1350,7 @@ export type GetMarketDataResponse = Message<"silvana.orderbook.v1.GetMarketDataR
1350
1350
  * Use `create(GetMarketDataResponseSchema)` to create a new message.
1351
1351
  */
1352
1352
  export const GetMarketDataResponseSchema: GenMessage<GetMarketDataResponse> = /*@__PURE__*/
1353
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 24);
1353
+ messageDesc(file_silvana_orderbook_v1_orderbook, 24);
1354
1354
 
1355
1355
  /**
1356
1356
  * Get user's settlements (completed)
@@ -1391,7 +1391,7 @@ export type GetSettlementsRequest = Message<"silvana.orderbook.v1.GetSettlements
1391
1391
  * Use `create(GetSettlementsRequestSchema)` to create a new message.
1392
1392
  */
1393
1393
  export const GetSettlementsRequestSchema: GenMessage<GetSettlementsRequest> = /*@__PURE__*/
1394
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 25);
1394
+ messageDesc(file_silvana_orderbook_v1_orderbook, 25);
1395
1395
 
1396
1396
  /**
1397
1397
  * @generated from message silvana.orderbook.v1.GetSettlementsResponse
@@ -1423,7 +1423,7 @@ export type GetSettlementsResponse = Message<"silvana.orderbook.v1.GetSettlement
1423
1423
  * Use `create(GetSettlementsResponseSchema)` to create a new message.
1424
1424
  */
1425
1425
  export const GetSettlementsResponseSchema: GenMessage<GetSettlementsResponse> = /*@__PURE__*/
1426
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 26);
1426
+ messageDesc(file_silvana_orderbook_v1_orderbook, 26);
1427
1427
 
1428
1428
  /**
1429
1429
  * Subscribe to orderbook updates (streaming)
@@ -1451,7 +1451,7 @@ export type SubscribeOrderbookRequest = Message<"silvana.orderbook.v1.SubscribeO
1451
1451
  * Use `create(SubscribeOrderbookRequestSchema)` to create a new message.
1452
1452
  */
1453
1453
  export const SubscribeOrderbookRequestSchema: GenMessage<SubscribeOrderbookRequest> = /*@__PURE__*/
1454
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 27);
1454
+ messageDesc(file_silvana_orderbook_v1_orderbook, 27);
1455
1455
 
1456
1456
  /**
1457
1457
  * Orderbook update event
@@ -1497,7 +1497,7 @@ export type OrderbookUpdate = Message<"silvana.orderbook.v1.OrderbookUpdate"> &
1497
1497
  * Use `create(OrderbookUpdateSchema)` to create a new message.
1498
1498
  */
1499
1499
  export const OrderbookUpdateSchema: GenMessage<OrderbookUpdate> = /*@__PURE__*/
1500
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 28);
1500
+ messageDesc(file_silvana_orderbook_v1_orderbook, 28);
1501
1501
 
1502
1502
  /**
1503
1503
  * @generated from enum silvana.orderbook.v1.OrderbookUpdate.UpdateType
@@ -1523,7 +1523,7 @@ export enum OrderbookUpdate_UpdateType {
1523
1523
  * Describes the enum silvana.orderbook.v1.OrderbookUpdate.UpdateType.
1524
1524
  */
1525
1525
  export const OrderbookUpdate_UpdateTypeSchema: GenEnum<OrderbookUpdate_UpdateType> = /*@__PURE__*/
1526
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 28, 0);
1526
+ enumDesc(file_silvana_orderbook_v1_orderbook, 28, 0);
1527
1527
 
1528
1528
  /**
1529
1529
  * Subscribe to user's order updates (streaming)
@@ -1544,7 +1544,7 @@ export type SubscribeOrdersRequest = Message<"silvana.orderbook.v1.SubscribeOrde
1544
1544
  * Use `create(SubscribeOrdersRequestSchema)` to create a new message.
1545
1545
  */
1546
1546
  export const SubscribeOrdersRequestSchema: GenMessage<SubscribeOrdersRequest> = /*@__PURE__*/
1547
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 29);
1547
+ messageDesc(file_silvana_orderbook_v1_orderbook, 29);
1548
1548
 
1549
1549
  /**
1550
1550
  * Order update event
@@ -1580,7 +1580,7 @@ export type OrderUpdate = Message<"silvana.orderbook.v1.OrderUpdate"> & {
1580
1580
  * Use `create(OrderUpdateSchema)` to create a new message.
1581
1581
  */
1582
1582
  export const OrderUpdateSchema: GenMessage<OrderUpdate> = /*@__PURE__*/
1583
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 30);
1583
+ messageDesc(file_silvana_orderbook_v1_orderbook, 30);
1584
1584
 
1585
1585
  /**
1586
1586
  * @generated from enum silvana.orderbook.v1.OrderUpdate.EventType
@@ -1626,7 +1626,7 @@ export enum OrderUpdate_EventType {
1626
1626
  * Describes the enum silvana.orderbook.v1.OrderUpdate.EventType.
1627
1627
  */
1628
1628
  export const OrderUpdate_EventTypeSchema: GenEnum<OrderUpdate_EventType> = /*@__PURE__*/
1629
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 30, 0);
1629
+ enumDesc(file_silvana_orderbook_v1_orderbook, 30, 0);
1630
1630
 
1631
1631
  /**
1632
1632
  * Subscribe to user's settlement updates (streaming)
@@ -1647,7 +1647,7 @@ export type SubscribeSettlementsRequest = Message<"silvana.orderbook.v1.Subscrib
1647
1647
  * Use `create(SubscribeSettlementsRequestSchema)` to create a new message.
1648
1648
  */
1649
1649
  export const SubscribeSettlementsRequestSchema: GenMessage<SubscribeSettlementsRequest> = /*@__PURE__*/
1650
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 31);
1650
+ messageDesc(file_silvana_orderbook_v1_orderbook, 31);
1651
1651
 
1652
1652
  /**
1653
1653
  * Settlement update event (for streaming - simplified to status changes)
@@ -1676,7 +1676,7 @@ export type SettlementUpdate = Message<"silvana.orderbook.v1.SettlementUpdate">
1676
1676
  * Use `create(SettlementUpdateSchema)` to create a new message.
1677
1677
  */
1678
1678
  export const SettlementUpdateSchema: GenMessage<SettlementUpdate> = /*@__PURE__*/
1679
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 32);
1679
+ messageDesc(file_silvana_orderbook_v1_orderbook, 32);
1680
1680
 
1681
1681
  /**
1682
1682
  * @generated from enum silvana.orderbook.v1.SettlementUpdate.EventType
@@ -1727,7 +1727,7 @@ export enum SettlementUpdate_EventType {
1727
1727
  * Describes the enum silvana.orderbook.v1.SettlementUpdate.EventType.
1728
1728
  */
1729
1729
  export const SettlementUpdate_EventTypeSchema: GenEnum<SettlementUpdate_EventType> = /*@__PURE__*/
1730
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 32, 0);
1730
+ enumDesc(file_silvana_orderbook_v1_orderbook, 32, 0);
1731
1731
 
1732
1732
  /**
1733
1733
  * Submit a new order
@@ -1818,7 +1818,7 @@ export type SubmitOrderRequest = Message<"silvana.orderbook.v1.SubmitOrderReques
1818
1818
  * Use `create(SubmitOrderRequestSchema)` to create a new message.
1819
1819
  */
1820
1820
  export const SubmitOrderRequestSchema: GenMessage<SubmitOrderRequest> = /*@__PURE__*/
1821
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 33);
1821
+ messageDesc(file_silvana_orderbook_v1_orderbook, 33);
1822
1822
 
1823
1823
  /**
1824
1824
  * @generated from message silvana.orderbook.v1.SubmitOrderResponse
@@ -1845,7 +1845,7 @@ export type SubmitOrderResponse = Message<"silvana.orderbook.v1.SubmitOrderRespo
1845
1845
  * Use `create(SubmitOrderResponseSchema)` to create a new message.
1846
1846
  */
1847
1847
  export const SubmitOrderResponseSchema: GenMessage<SubmitOrderResponse> = /*@__PURE__*/
1848
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 34);
1848
+ messageDesc(file_silvana_orderbook_v1_orderbook, 34);
1849
1849
 
1850
1850
  /**
1851
1851
  * Cancel an existing order
@@ -1866,7 +1866,7 @@ export type CancelOrderRequest = Message<"silvana.orderbook.v1.CancelOrderReques
1866
1866
  * Use `create(CancelOrderRequestSchema)` to create a new message.
1867
1867
  */
1868
1868
  export const CancelOrderRequestSchema: GenMessage<CancelOrderRequest> = /*@__PURE__*/
1869
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 35);
1869
+ messageDesc(file_silvana_orderbook_v1_orderbook, 35);
1870
1870
 
1871
1871
  /**
1872
1872
  * @generated from message silvana.orderbook.v1.CancelOrderResponse
@@ -1893,7 +1893,7 @@ export type CancelOrderResponse = Message<"silvana.orderbook.v1.CancelOrderRespo
1893
1893
  * Use `create(CancelOrderResponseSchema)` to create a new message.
1894
1894
  */
1895
1895
  export const CancelOrderResponseSchema: GenMessage<CancelOrderResponse> = /*@__PURE__*/
1896
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 36);
1896
+ messageDesc(file_silvana_orderbook_v1_orderbook, 36);
1897
1897
 
1898
1898
  /**
1899
1899
  * Create a new party (operator, registry, or trader)
@@ -2010,7 +2010,7 @@ export type CreatePartyRequest = Message<"silvana.orderbook.v1.CreatePartyReques
2010
2010
  * Use `create(CreatePartyRequestSchema)` to create a new message.
2011
2011
  */
2012
2012
  export const CreatePartyRequestSchema: GenMessage<CreatePartyRequest> = /*@__PURE__*/
2013
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 37);
2013
+ messageDesc(file_silvana_orderbook_v1_orderbook, 37);
2014
2014
 
2015
2015
  /**
2016
2016
  * @generated from message silvana.orderbook.v1.CreatePartyResponse
@@ -2037,7 +2037,7 @@ export type CreatePartyResponse = Message<"silvana.orderbook.v1.CreatePartyRespo
2037
2037
  * Use `create(CreatePartyResponseSchema)` to create a new message.
2038
2038
  */
2039
2039
  export const CreatePartyResponseSchema: GenMessage<CreatePartyResponse> = /*@__PURE__*/
2040
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 38);
2040
+ messageDesc(file_silvana_orderbook_v1_orderbook, 38);
2041
2041
 
2042
2042
  /**
2043
2043
  * Update an existing party (admin operation)
@@ -2139,7 +2139,7 @@ export type UpdatePartyRequest = Message<"silvana.orderbook.v1.UpdatePartyReques
2139
2139
  * Use `create(UpdatePartyRequestSchema)` to create a new message.
2140
2140
  */
2141
2141
  export const UpdatePartyRequestSchema: GenMessage<UpdatePartyRequest> = /*@__PURE__*/
2142
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 39);
2142
+ messageDesc(file_silvana_orderbook_v1_orderbook, 39);
2143
2143
 
2144
2144
  /**
2145
2145
  * @generated from message silvana.orderbook.v1.UpdatePartyResponse
@@ -2166,7 +2166,7 @@ export type UpdatePartyResponse = Message<"silvana.orderbook.v1.UpdatePartyRespo
2166
2166
  * Use `create(UpdatePartyResponseSchema)` to create a new message.
2167
2167
  */
2168
2168
  export const UpdatePartyResponseSchema: GenMessage<UpdatePartyResponse> = /*@__PURE__*/
2169
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 40);
2169
+ messageDesc(file_silvana_orderbook_v1_orderbook, 40);
2170
2170
 
2171
2171
  /**
2172
2172
  * Deactivate a party (soft delete - admin operation)
@@ -2199,7 +2199,7 @@ export type DeactivatePartyRequest = Message<"silvana.orderbook.v1.DeactivatePar
2199
2199
  * Use `create(DeactivatePartyRequestSchema)` to create a new message.
2200
2200
  */
2201
2201
  export const DeactivatePartyRequestSchema: GenMessage<DeactivatePartyRequest> = /*@__PURE__*/
2202
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 41);
2202
+ messageDesc(file_silvana_orderbook_v1_orderbook, 41);
2203
2203
 
2204
2204
  /**
2205
2205
  * @generated from message silvana.orderbook.v1.DeactivatePartyResponse
@@ -2226,7 +2226,7 @@ export type DeactivatePartyResponse = Message<"silvana.orderbook.v1.DeactivatePa
2226
2226
  * Use `create(DeactivatePartyResponseSchema)` to create a new message.
2227
2227
  */
2228
2228
  export const DeactivatePartyResponseSchema: GenMessage<DeactivatePartyResponse> = /*@__PURE__*/
2229
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 42);
2229
+ messageDesc(file_silvana_orderbook_v1_orderbook, 42);
2230
2230
 
2231
2231
  /**
2232
2232
  * Get party change history (audit trail)
@@ -2257,7 +2257,7 @@ export type GetPartyHistoryRequest = Message<"silvana.orderbook.v1.GetPartyHisto
2257
2257
  * Use `create(GetPartyHistoryRequestSchema)` to create a new message.
2258
2258
  */
2259
2259
  export const GetPartyHistoryRequestSchema: GenMessage<GetPartyHistoryRequest> = /*@__PURE__*/
2260
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 43);
2260
+ messageDesc(file_silvana_orderbook_v1_orderbook, 43);
2261
2261
 
2262
2262
  /**
2263
2263
  * Single entry in party history
@@ -2315,7 +2315,7 @@ export type PartyHistoryEntry = Message<"silvana.orderbook.v1.PartyHistoryEntry"
2315
2315
  * Use `create(PartyHistoryEntrySchema)` to create a new message.
2316
2316
  */
2317
2317
  export const PartyHistoryEntrySchema: GenMessage<PartyHistoryEntry> = /*@__PURE__*/
2318
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 44);
2318
+ messageDesc(file_silvana_orderbook_v1_orderbook, 44);
2319
2319
 
2320
2320
  /**
2321
2321
  * @generated from message silvana.orderbook.v1.GetPartyHistoryResponse
@@ -2347,7 +2347,7 @@ export type GetPartyHistoryResponse = Message<"silvana.orderbook.v1.GetPartyHist
2347
2347
  * Use `create(GetPartyHistoryResponseSchema)` to create a new message.
2348
2348
  */
2349
2349
  export const GetPartyHistoryResponseSchema: GenMessage<GetPartyHistoryResponse> = /*@__PURE__*/
2350
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 45);
2350
+ messageDesc(file_silvana_orderbook_v1_orderbook, 45);
2351
2351
 
2352
2352
  /**
2353
2353
  * Get a single party by ID
@@ -2368,7 +2368,7 @@ export type GetPartyRequest = Message<"silvana.orderbook.v1.GetPartyRequest"> &
2368
2368
  * Use `create(GetPartyRequestSchema)` to create a new message.
2369
2369
  */
2370
2370
  export const GetPartyRequestSchema: GenMessage<GetPartyRequest> = /*@__PURE__*/
2371
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 46);
2371
+ messageDesc(file_silvana_orderbook_v1_orderbook, 46);
2372
2372
 
2373
2373
  /**
2374
2374
  * @generated from message silvana.orderbook.v1.GetPartyResponse
@@ -2395,7 +2395,7 @@ export type GetPartyResponse = Message<"silvana.orderbook.v1.GetPartyResponse">
2395
2395
  * Use `create(GetPartyResponseSchema)` to create a new message.
2396
2396
  */
2397
2397
  export const GetPartyResponseSchema: GenMessage<GetPartyResponse> = /*@__PURE__*/
2398
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 47);
2398
+ messageDesc(file_silvana_orderbook_v1_orderbook, 47);
2399
2399
 
2400
2400
  /**
2401
2401
  * List parties with filters and pagination
@@ -2439,7 +2439,7 @@ export type GetPartiesRequest = Message<"silvana.orderbook.v1.GetPartiesRequest"
2439
2439
  * Use `create(GetPartiesRequestSchema)` to create a new message.
2440
2440
  */
2441
2441
  export const GetPartiesRequestSchema: GenMessage<GetPartiesRequest> = /*@__PURE__*/
2442
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 48);
2442
+ messageDesc(file_silvana_orderbook_v1_orderbook, 48);
2443
2443
 
2444
2444
  /**
2445
2445
  * @generated from message silvana.orderbook.v1.GetPartiesResponse
@@ -2471,7 +2471,7 @@ export type GetPartiesResponse = Message<"silvana.orderbook.v1.GetPartiesRespons
2471
2471
  * Use `create(GetPartiesResponseSchema)` to create a new message.
2472
2472
  */
2473
2473
  export const GetPartiesResponseSchema: GenMessage<GetPartiesResponse> = /*@__PURE__*/
2474
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 49);
2474
+ messageDesc(file_silvana_orderbook_v1_orderbook, 49);
2475
2475
 
2476
2476
  /**
2477
2477
  * Party information
@@ -2586,7 +2586,7 @@ export type Party = Message<"silvana.orderbook.v1.Party"> & {
2586
2586
  * Use `create(PartySchema)` to create a new message.
2587
2587
  */
2588
2588
  export const PartySchema: GenMessage<Party> = /*@__PURE__*/
2589
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 50);
2589
+ messageDesc(file_silvana_orderbook_v1_orderbook, 50);
2590
2590
 
2591
2591
  /**
2592
2592
  * Liquidity provider information
@@ -2638,7 +2638,7 @@ export type LiquidityProvider = Message<"silvana.orderbook.v1.LiquidityProvider"
2638
2638
  * Use `create(LiquidityProviderSchema)` to create a new message.
2639
2639
  */
2640
2640
  export const LiquidityProviderSchema: GenMessage<LiquidityProvider> = /*@__PURE__*/
2641
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 51);
2641
+ messageDesc(file_silvana_orderbook_v1_orderbook, 51);
2642
2642
 
2643
2643
  /**
2644
2644
  * Get liquidity providers list
@@ -2673,7 +2673,7 @@ export type GetLiquidityProvidersRequest = Message<"silvana.orderbook.v1.GetLiqu
2673
2673
  * Use `create(GetLiquidityProvidersRequestSchema)` to create a new message.
2674
2674
  */
2675
2675
  export const GetLiquidityProvidersRequestSchema: GenMessage<GetLiquidityProvidersRequest> = /*@__PURE__*/
2676
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 52);
2676
+ messageDesc(file_silvana_orderbook_v1_orderbook, 52);
2677
2677
 
2678
2678
  /**
2679
2679
  * @generated from message silvana.orderbook.v1.GetLiquidityProvidersResponse
@@ -2705,7 +2705,7 @@ export type GetLiquidityProvidersResponse = Message<"silvana.orderbook.v1.GetLiq
2705
2705
  * Use `create(GetLiquidityProvidersResponseSchema)` to create a new message.
2706
2706
  */
2707
2707
  export const GetLiquidityProvidersResponseSchema: GenMessage<GetLiquidityProvidersResponse> = /*@__PURE__*/
2708
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 53);
2708
+ messageDesc(file_silvana_orderbook_v1_orderbook, 53);
2709
2709
 
2710
2710
  /**
2711
2711
  * Waiting list entry for users pending onboarding
@@ -2793,7 +2793,7 @@ export type WaitingListEntry = Message<"silvana.orderbook.v1.WaitingListEntry">
2793
2793
  * Use `create(WaitingListEntrySchema)` to create a new message.
2794
2794
  */
2795
2795
  export const WaitingListEntrySchema: GenMessage<WaitingListEntry> = /*@__PURE__*/
2796
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 54);
2796
+ messageDesc(file_silvana_orderbook_v1_orderbook, 54);
2797
2797
 
2798
2798
  /**
2799
2799
  * Add entry to waiting list (JWT auth with user 'onboard')
@@ -2834,7 +2834,7 @@ export type AddWaitingListEntryRequest = Message<"silvana.orderbook.v1.AddWaitin
2834
2834
  * Use `create(AddWaitingListEntryRequestSchema)` to create a new message.
2835
2835
  */
2836
2836
  export const AddWaitingListEntryRequestSchema: GenMessage<AddWaitingListEntryRequest> = /*@__PURE__*/
2837
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 55);
2837
+ messageDesc(file_silvana_orderbook_v1_orderbook, 55);
2838
2838
 
2839
2839
  /**
2840
2840
  * @generated from message silvana.orderbook.v1.AddWaitingListEntryResponse
@@ -2861,7 +2861,7 @@ export type AddWaitingListEntryResponse = Message<"silvana.orderbook.v1.AddWaiti
2861
2861
  * Use `create(AddWaitingListEntryResponseSchema)` to create a new message.
2862
2862
  */
2863
2863
  export const AddWaitingListEntryResponseSchema: GenMessage<AddWaitingListEntryResponse> = /*@__PURE__*/
2864
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 56);
2864
+ messageDesc(file_silvana_orderbook_v1_orderbook, 56);
2865
2865
 
2866
2866
  /**
2867
2867
  * Canton round with conversion coefficients for reward calculations
@@ -2918,7 +2918,7 @@ export type Round = Message<"silvana.orderbook.v1.Round"> & {
2918
2918
  * Use `create(RoundSchema)` to create a new message.
2919
2919
  */
2920
2920
  export const RoundSchema: GenMessage<Round> = /*@__PURE__*/
2921
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 57);
2921
+ messageDesc(file_silvana_orderbook_v1_orderbook, 57);
2922
2922
 
2923
2923
  /**
2924
2924
  * Latest coefficient values (may come from different rounds)
@@ -2980,7 +2980,7 @@ export type LatestCoefficients = Message<"silvana.orderbook.v1.LatestCoefficient
2980
2980
  * Use `create(LatestCoefficientsSchema)` to create a new message.
2981
2981
  */
2982
2982
  export const LatestCoefficientsSchema: GenMessage<LatestCoefficients> = /*@__PURE__*/
2983
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 58);
2983
+ messageDesc(file_silvana_orderbook_v1_orderbook, 58);
2984
2984
 
2985
2985
  /**
2986
2986
  * Get rounds data with latest coefficients
@@ -3003,7 +3003,7 @@ export type GetRoundsDataRequest = Message<"silvana.orderbook.v1.GetRoundsDataRe
3003
3003
  * Use `create(GetRoundsDataRequestSchema)` to create a new message.
3004
3004
  */
3005
3005
  export const GetRoundsDataRequestSchema: GenMessage<GetRoundsDataRequest> = /*@__PURE__*/
3006
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 59);
3006
+ messageDesc(file_silvana_orderbook_v1_orderbook, 59);
3007
3007
 
3008
3008
  /**
3009
3009
  * @generated from message silvana.orderbook.v1.GetRoundsDataResponse
@@ -3053,7 +3053,7 @@ export type GetRoundsDataResponse = Message<"silvana.orderbook.v1.GetRoundsDataR
3053
3053
  * Use `create(GetRoundsDataResponseSchema)` to create a new message.
3054
3054
  */
3055
3055
  export const GetRoundsDataResponseSchema: GenMessage<GetRoundsDataResponse> = /*@__PURE__*/
3056
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 60);
3056
+ messageDesc(file_silvana_orderbook_v1_orderbook, 60);
3057
3057
 
3058
3058
  /**
3059
3059
  * A single coefficient prediction for a future round
@@ -3100,7 +3100,7 @@ export type CoefficientPrediction = Message<"silvana.orderbook.v1.CoefficientPre
3100
3100
  * Use `create(CoefficientPredictionSchema)` to create a new message.
3101
3101
  */
3102
3102
  export const CoefficientPredictionSchema: GenMessage<CoefficientPrediction> = /*@__PURE__*/
3103
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 61);
3103
+ messageDesc(file_silvana_orderbook_v1_orderbook, 61);
3104
3104
 
3105
3105
  /**
3106
3106
  * Prediction data from AR(5) model
@@ -3163,7 +3163,7 @@ export type PredictionData = Message<"silvana.orderbook.v1.PredictionData"> & {
3163
3163
  * Use `create(PredictionDataSchema)` to create a new message.
3164
3164
  */
3165
3165
  export const PredictionDataSchema: GenMessage<PredictionData> = /*@__PURE__*/
3166
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 62);
3166
+ messageDesc(file_silvana_orderbook_v1_orderbook, 62);
3167
3167
 
3168
3168
  /**
3169
3169
  * Invite code for user onboarding
@@ -3229,7 +3229,7 @@ export type Invite = Message<"silvana.orderbook.v1.Invite"> & {
3229
3229
  * Use `create(InviteSchema)` to create a new message.
3230
3230
  */
3231
3231
  export const InviteSchema: GenMessage<Invite> = /*@__PURE__*/
3232
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 63);
3232
+ messageDesc(file_silvana_orderbook_v1_orderbook, 63);
3233
3233
 
3234
3234
  /**
3235
3235
  * Get invite by code
@@ -3248,7 +3248,7 @@ export type GetInviteRequest = Message<"silvana.orderbook.v1.GetInviteRequest">
3248
3248
  * Use `create(GetInviteRequestSchema)` to create a new message.
3249
3249
  */
3250
3250
  export const GetInviteRequestSchema: GenMessage<GetInviteRequest> = /*@__PURE__*/
3251
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 64);
3251
+ messageDesc(file_silvana_orderbook_v1_orderbook, 64);
3252
3252
 
3253
3253
  /**
3254
3254
  * @generated from message silvana.orderbook.v1.GetInviteResponse
@@ -3270,7 +3270,7 @@ export type GetInviteResponse = Message<"silvana.orderbook.v1.GetInviteResponse"
3270
3270
  * Use `create(GetInviteResponseSchema)` to create a new message.
3271
3271
  */
3272
3272
  export const GetInviteResponseSchema: GenMessage<GetInviteResponse> = /*@__PURE__*/
3273
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 65);
3273
+ messageDesc(file_silvana_orderbook_v1_orderbook, 65);
3274
3274
 
3275
3275
  /**
3276
3276
  * Use invite code (increments count, marks used if at max)
@@ -3296,7 +3296,7 @@ export type UseInviteRequest = Message<"silvana.orderbook.v1.UseInviteRequest">
3296
3296
  * Use `create(UseInviteRequestSchema)` to create a new message.
3297
3297
  */
3298
3298
  export const UseInviteRequestSchema: GenMessage<UseInviteRequest> = /*@__PURE__*/
3299
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 66);
3299
+ messageDesc(file_silvana_orderbook_v1_orderbook, 66);
3300
3300
 
3301
3301
  /**
3302
3302
  * @generated from message silvana.orderbook.v1.UseInviteResponse
@@ -3325,7 +3325,7 @@ export type UseInviteResponse = Message<"silvana.orderbook.v1.UseInviteResponse"
3325
3325
  * Use `create(UseInviteResponseSchema)` to create a new message.
3326
3326
  */
3327
3327
  export const UseInviteResponseSchema: GenMessage<UseInviteResponse> = /*@__PURE__*/
3328
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 67);
3328
+ messageDesc(file_silvana_orderbook_v1_orderbook, 67);
3329
3329
 
3330
3330
  /**
3331
3331
  * Create a new instrument
@@ -3394,7 +3394,7 @@ export type CreateInstrumentRequest = Message<"silvana.orderbook.v1.CreateInstru
3394
3394
  * Use `create(CreateInstrumentRequestSchema)` to create a new message.
3395
3395
  */
3396
3396
  export const CreateInstrumentRequestSchema: GenMessage<CreateInstrumentRequest> = /*@__PURE__*/
3397
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 68);
3397
+ messageDesc(file_silvana_orderbook_v1_orderbook, 68);
3398
3398
 
3399
3399
  /**
3400
3400
  * @generated from message silvana.orderbook.v1.CreateInstrumentResponse
@@ -3421,7 +3421,7 @@ export type CreateInstrumentResponse = Message<"silvana.orderbook.v1.CreateInstr
3421
3421
  * Use `create(CreateInstrumentResponseSchema)` to create a new message.
3422
3422
  */
3423
3423
  export const CreateInstrumentResponseSchema: GenMessage<CreateInstrumentResponse> = /*@__PURE__*/
3424
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 69);
3424
+ messageDesc(file_silvana_orderbook_v1_orderbook, 69);
3425
3425
 
3426
3426
  /**
3427
3427
  * Create a new market
@@ -3508,7 +3508,7 @@ export type CreateMarketRequest = Message<"silvana.orderbook.v1.CreateMarketRequ
3508
3508
  * Use `create(CreateMarketRequestSchema)` to create a new message.
3509
3509
  */
3510
3510
  export const CreateMarketRequestSchema: GenMessage<CreateMarketRequest> = /*@__PURE__*/
3511
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 70);
3511
+ messageDesc(file_silvana_orderbook_v1_orderbook, 70);
3512
3512
 
3513
3513
  /**
3514
3514
  * @generated from message silvana.orderbook.v1.CreateMarketResponse
@@ -3535,7 +3535,7 @@ export type CreateMarketResponse = Message<"silvana.orderbook.v1.CreateMarketRes
3535
3535
  * Use `create(CreateMarketResponseSchema)` to create a new message.
3536
3536
  */
3537
3537
  export const CreateMarketResponseSchema: GenMessage<CreateMarketResponse> = /*@__PURE__*/
3538
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 71);
3538
+ messageDesc(file_silvana_orderbook_v1_orderbook, 71);
3539
3539
 
3540
3540
  /**
3541
3541
  * Update price feeds for an existing market
@@ -3563,7 +3563,7 @@ export type UpdateMarketPriceFeedsRequest = Message<"silvana.orderbook.v1.Update
3563
3563
  * Use `create(UpdateMarketPriceFeedsRequestSchema)` to create a new message.
3564
3564
  */
3565
3565
  export const UpdateMarketPriceFeedsRequestSchema: GenMessage<UpdateMarketPriceFeedsRequest> = /*@__PURE__*/
3566
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 72);
3566
+ messageDesc(file_silvana_orderbook_v1_orderbook, 72);
3567
3567
 
3568
3568
  /**
3569
3569
  * @generated from message silvana.orderbook.v1.UpdateMarketPriceFeedsResponse
@@ -3592,7 +3592,7 @@ export type UpdateMarketPriceFeedsResponse = Message<"silvana.orderbook.v1.Updat
3592
3592
  * Use `create(UpdateMarketPriceFeedsResponseSchema)` to create a new message.
3593
3593
  */
3594
3594
  export const UpdateMarketPriceFeedsResponseSchema: GenMessage<UpdateMarketPriceFeedsResponse> = /*@__PURE__*/
3595
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 73);
3595
+ messageDesc(file_silvana_orderbook_v1_orderbook, 73);
3596
3596
 
3597
3597
  /**
3598
3598
  * Request quotes from connected liquidity providers
@@ -3641,7 +3641,7 @@ export type RequestQuotesRequest = Message<"silvana.orderbook.v1.RequestQuotesRe
3641
3641
  * Use `create(RequestQuotesRequestSchema)` to create a new message.
3642
3642
  */
3643
3643
  export const RequestQuotesRequestSchema: GenMessage<RequestQuotesRequest> = /*@__PURE__*/
3644
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 74);
3644
+ messageDesc(file_silvana_orderbook_v1_orderbook, 74);
3645
3645
 
3646
3646
  /**
3647
3647
  * @generated from message silvana.orderbook.v1.RequestQuotesResponse
@@ -3694,7 +3694,7 @@ export type RequestQuotesResponse = Message<"silvana.orderbook.v1.RequestQuotesR
3694
3694
  * Use `create(RequestQuotesResponseSchema)` to create a new message.
3695
3695
  */
3696
3696
  export const RequestQuotesResponseSchema: GenMessage<RequestQuotesResponse> = /*@__PURE__*/
3697
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 75);
3697
+ messageDesc(file_silvana_orderbook_v1_orderbook, 75);
3698
3698
 
3699
3699
  /**
3700
3700
  * Quote info returned to user
@@ -3781,7 +3781,7 @@ export type RfqQuoteInfo = Message<"silvana.orderbook.v1.RfqQuoteInfo"> & {
3781
3781
  * Use `create(RfqQuoteInfoSchema)` to create a new message.
3782
3782
  */
3783
3783
  export const RfqQuoteInfoSchema: GenMessage<RfqQuoteInfo> = /*@__PURE__*/
3784
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 76);
3784
+ messageDesc(file_silvana_orderbook_v1_orderbook, 76);
3785
3785
 
3786
3786
  /**
3787
3787
  * Rejection info returned to user
@@ -3821,7 +3821,7 @@ export type RfqRejectInfo = Message<"silvana.orderbook.v1.RfqRejectInfo"> & {
3821
3821
  * Use `create(RfqRejectInfoSchema)` to create a new message.
3822
3822
  */
3823
3823
  export const RfqRejectInfoSchema: GenMessage<RfqRejectInfo> = /*@__PURE__*/
3824
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 77);
3824
+ messageDesc(file_silvana_orderbook_v1_orderbook, 77);
3825
3825
 
3826
3826
  /**
3827
3827
  * Accept a specific quote
@@ -3851,7 +3851,7 @@ export type AcceptQuoteRequest = Message<"silvana.orderbook.v1.AcceptQuoteReques
3851
3851
  * Use `create(AcceptQuoteRequestSchema)` to create a new message.
3852
3852
  */
3853
3853
  export const AcceptQuoteRequestSchema: GenMessage<AcceptQuoteRequest> = /*@__PURE__*/
3854
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 78);
3854
+ messageDesc(file_silvana_orderbook_v1_orderbook, 78);
3855
3855
 
3856
3856
  /**
3857
3857
  * @generated from message silvana.orderbook.v1.AcceptQuoteResponse
@@ -3880,7 +3880,7 @@ export type AcceptQuoteResponse = Message<"silvana.orderbook.v1.AcceptQuoteRespo
3880
3880
  * Use `create(AcceptQuoteResponseSchema)` to create a new message.
3881
3881
  */
3882
3882
  export const AcceptQuoteResponseSchema: GenMessage<AcceptQuoteResponse> = /*@__PURE__*/
3883
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 79);
3883
+ messageDesc(file_silvana_orderbook_v1_orderbook, 79);
3884
3884
 
3885
3885
  /**
3886
3886
  * Get connected liquidity providers (replaces activity-based filter)
@@ -3903,7 +3903,7 @@ export type GetConnectedLiquidityProvidersRequest = Message<"silvana.orderbook.v
3903
3903
  * Use `create(GetConnectedLiquidityProvidersRequestSchema)` to create a new message.
3904
3904
  */
3905
3905
  export const GetConnectedLiquidityProvidersRequestSchema: GenMessage<GetConnectedLiquidityProvidersRequest> = /*@__PURE__*/
3906
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 80);
3906
+ messageDesc(file_silvana_orderbook_v1_orderbook, 80);
3907
3907
 
3908
3908
  /**
3909
3909
  * @generated from message silvana.orderbook.v1.GetConnectedLiquidityProvidersResponse
@@ -3930,7 +3930,7 @@ export type GetConnectedLiquidityProvidersResponse = Message<"silvana.orderbook.
3930
3930
  * Use `create(GetConnectedLiquidityProvidersResponseSchema)` to create a new message.
3931
3931
  */
3932
3932
  export const GetConnectedLiquidityProvidersResponseSchema: GenMessage<GetConnectedLiquidityProvidersResponse> = /*@__PURE__*/
3933
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 81);
3933
+ messageDesc(file_silvana_orderbook_v1_orderbook, 81);
3934
3934
 
3935
3935
  /**
3936
3936
  * @generated from message silvana.orderbook.v1.ConnectedLpInfo
@@ -3959,7 +3959,7 @@ export type ConnectedLpInfo = Message<"silvana.orderbook.v1.ConnectedLpInfo"> &
3959
3959
  * Use `create(ConnectedLpInfoSchema)` to create a new message.
3960
3960
  */
3961
3961
  export const ConnectedLpInfoSchema: GenMessage<ConnectedLpInfo> = /*@__PURE__*/
3962
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 82);
3962
+ messageDesc(file_silvana_orderbook_v1_orderbook, 82);
3963
3963
 
3964
3964
  /**
3965
3965
  * @generated from message silvana.orderbook.v1.RfqAuditLogEntry
@@ -4046,7 +4046,7 @@ export type RfqAuditLogEntry = Message<"silvana.orderbook.v1.RfqAuditLogEntry">
4046
4046
  * Use `create(RfqAuditLogEntrySchema)` to create a new message.
4047
4047
  */
4048
4048
  export const RfqAuditLogEntrySchema: GenMessage<RfqAuditLogEntry> = /*@__PURE__*/
4049
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 83);
4049
+ messageDesc(file_silvana_orderbook_v1_orderbook, 83);
4050
4050
 
4051
4051
  /**
4052
4052
  * @generated from message silvana.orderbook.v1.GetRfqAuditLogRequest
@@ -4101,7 +4101,7 @@ export type GetRfqAuditLogRequest = Message<"silvana.orderbook.v1.GetRfqAuditLog
4101
4101
  * Use `create(GetRfqAuditLogRequestSchema)` to create a new message.
4102
4102
  */
4103
4103
  export const GetRfqAuditLogRequestSchema: GenMessage<GetRfqAuditLogRequest> = /*@__PURE__*/
4104
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 84);
4104
+ messageDesc(file_silvana_orderbook_v1_orderbook, 84);
4105
4105
 
4106
4106
  /**
4107
4107
  * @generated from message silvana.orderbook.v1.GetRfqAuditLogResponse
@@ -4123,7 +4123,7 @@ export type GetRfqAuditLogResponse = Message<"silvana.orderbook.v1.GetRfqAuditLo
4123
4123
  * Use `create(GetRfqAuditLogResponseSchema)` to create a new message.
4124
4124
  */
4125
4125
  export const GetRfqAuditLogResponseSchema: GenMessage<GetRfqAuditLogResponse> = /*@__PURE__*/
4126
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 85);
4126
+ messageDesc(file_silvana_orderbook_v1_orderbook, 85);
4127
4127
 
4128
4128
  /**
4129
4129
  * Event streamed from StreamRequestQuotes
@@ -4166,7 +4166,7 @@ export type RfqStreamEvent = Message<"silvana.orderbook.v1.RfqStreamEvent"> & {
4166
4166
  * Use `create(RfqStreamEventSchema)` to create a new message.
4167
4167
  */
4168
4168
  export const RfqStreamEventSchema: GenMessage<RfqStreamEvent> = /*@__PURE__*/
4169
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 86);
4169
+ messageDesc(file_silvana_orderbook_v1_orderbook, 86);
4170
4170
 
4171
4171
  /**
4172
4172
  * @generated from message silvana.orderbook.v1.RfqStreamInitiated
@@ -4188,7 +4188,7 @@ export type RfqStreamInitiated = Message<"silvana.orderbook.v1.RfqStreamInitiate
4188
4188
  * Use `create(RfqStreamInitiatedSchema)` to create a new message.
4189
4189
  */
4190
4190
  export const RfqStreamInitiatedSchema: GenMessage<RfqStreamInitiated> = /*@__PURE__*/
4191
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 87);
4191
+ messageDesc(file_silvana_orderbook_v1_orderbook, 87);
4192
4192
 
4193
4193
  /**
4194
4194
  * @generated from message silvana.orderbook.v1.RfqStreamDone
@@ -4210,7 +4210,7 @@ export type RfqStreamDone = Message<"silvana.orderbook.v1.RfqStreamDone"> & {
4210
4210
  * Use `create(RfqStreamDoneSchema)` to create a new message.
4211
4211
  */
4212
4212
  export const RfqStreamDoneSchema: GenMessage<RfqStreamDone> = /*@__PURE__*/
4213
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 88);
4213
+ messageDesc(file_silvana_orderbook_v1_orderbook, 88);
4214
4214
 
4215
4215
  /**
4216
4216
  * Estimate settlement fees for a trade (before creating proposal)
@@ -4243,7 +4243,7 @@ export type EstimateSettlementFeesRequest = Message<"silvana.orderbook.v1.Estima
4243
4243
  * Use `create(EstimateSettlementFeesRequestSchema)` to create a new message.
4244
4244
  */
4245
4245
  export const EstimateSettlementFeesRequestSchema: GenMessage<EstimateSettlementFeesRequest> = /*@__PURE__*/
4246
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 89);
4246
+ messageDesc(file_silvana_orderbook_v1_orderbook, 89);
4247
4247
 
4248
4248
  /**
4249
4249
  * @generated from message silvana.orderbook.v1.EstimateSettlementFeesResponse
@@ -4286,7 +4286,7 @@ export type EstimateSettlementFeesResponse = Message<"silvana.orderbook.v1.Estim
4286
4286
  * Use `create(EstimateSettlementFeesResponseSchema)` to create a new message.
4287
4287
  */
4288
4288
  export const EstimateSettlementFeesResponseSchema: GenMessage<EstimateSettlementFeesResponse> = /*@__PURE__*/
4289
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 90);
4289
+ messageDesc(file_silvana_orderbook_v1_orderbook, 90);
4290
4290
 
4291
4291
  /**
4292
4292
  * @generated from message silvana.orderbook.v1.GetUserSettlementStatsRequest
@@ -4303,7 +4303,7 @@ export type GetUserSettlementStatsRequest = Message<"silvana.orderbook.v1.GetUse
4303
4303
  * Use `create(GetUserSettlementStatsRequestSchema)` to create a new message.
4304
4304
  */
4305
4305
  export const GetUserSettlementStatsRequestSchema: GenMessage<GetUserSettlementStatsRequest> = /*@__PURE__*/
4306
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 91);
4306
+ messageDesc(file_silvana_orderbook_v1_orderbook, 91);
4307
4307
 
4308
4308
  /**
4309
4309
  * @generated from message silvana.orderbook.v1.GetUserSettlementStatsResponse
@@ -4337,7 +4337,7 @@ export type GetUserSettlementStatsResponse = Message<"silvana.orderbook.v1.GetUs
4337
4337
  * Use `create(GetUserSettlementStatsResponseSchema)` to create a new message.
4338
4338
  */
4339
4339
  export const GetUserSettlementStatsResponseSchema: GenMessage<GetUserSettlementStatsResponse> = /*@__PURE__*/
4340
- messageDesc(file_proto_silvana_orderbook_v1_orderbook, 92);
4340
+ messageDesc(file_silvana_orderbook_v1_orderbook, 92);
4341
4341
 
4342
4342
  /**
4343
4343
  * Order type enumeration
@@ -4369,7 +4369,7 @@ export enum OrderType {
4369
4369
  * Describes the enum silvana.orderbook.v1.OrderType.
4370
4370
  */
4371
4371
  export const OrderTypeSchema: GenEnum<OrderType> = /*@__PURE__*/
4372
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 0);
4372
+ enumDesc(file_silvana_orderbook_v1_orderbook, 0);
4373
4373
 
4374
4374
  /**
4375
4375
  * Order status enumeration
@@ -4412,7 +4412,7 @@ export enum OrderStatus {
4412
4412
  * Describes the enum silvana.orderbook.v1.OrderStatus.
4413
4413
  */
4414
4414
  export const OrderStatusSchema: GenEnum<OrderStatus> = /*@__PURE__*/
4415
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 1);
4415
+ enumDesc(file_silvana_orderbook_v1_orderbook, 1);
4416
4416
 
4417
4417
  /**
4418
4418
  * Time in force enumeration
@@ -4458,7 +4458,7 @@ export enum TimeInForce {
4458
4458
  * Describes the enum silvana.orderbook.v1.TimeInForce.
4459
4459
  */
4460
4460
  export const TimeInForceSchema: GenEnum<TimeInForce> = /*@__PURE__*/
4461
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 2);
4461
+ enumDesc(file_silvana_orderbook_v1_orderbook, 2);
4462
4462
 
4463
4463
  /**
4464
4464
  * Settlement status enumeration (simplified - 4 states only)
@@ -4496,7 +4496,7 @@ export enum SettlementStatus {
4496
4496
  * Describes the enum silvana.orderbook.v1.SettlementStatus.
4497
4497
  */
4498
4498
  export const SettlementStatusSchema: GenEnum<SettlementStatus> = /*@__PURE__*/
4499
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 3);
4499
+ enumDesc(file_silvana_orderbook_v1_orderbook, 3);
4500
4500
 
4501
4501
  /**
4502
4502
  * Market type enumeration
@@ -4529,7 +4529,7 @@ export enum MarketType {
4529
4529
  * Describes the enum silvana.orderbook.v1.MarketType.
4530
4530
  */
4531
4531
  export const MarketTypeSchema: GenEnum<MarketType> = /*@__PURE__*/
4532
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 4);
4532
+ enumDesc(file_silvana_orderbook_v1_orderbook, 4);
4533
4533
 
4534
4534
  /**
4535
4535
  * Issuance forecast interpretation based on predicted coefficient
@@ -4568,7 +4568,7 @@ export enum IssuanceForecast {
4568
4568
  * Describes the enum silvana.orderbook.v1.IssuanceForecast.
4569
4569
  */
4570
4570
  export const IssuanceForecastSchema: GenEnum<IssuanceForecast> = /*@__PURE__*/
4571
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 5);
4571
+ enumDesc(file_silvana_orderbook_v1_orderbook, 5);
4572
4572
 
4573
4573
  /**
4574
4574
  * Invite status enum
@@ -4606,7 +4606,7 @@ export enum InviteStatus {
4606
4606
  * Describes the enum silvana.orderbook.v1.InviteStatus.
4607
4607
  */
4608
4608
  export const InviteStatusSchema: GenEnum<InviteStatus> = /*@__PURE__*/
4609
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 6);
4609
+ enumDesc(file_silvana_orderbook_v1_orderbook, 6);
4610
4610
 
4611
4611
  /**
4612
4612
  * @generated from enum silvana.orderbook.v1.RfqAuditEventType
@@ -4647,7 +4647,7 @@ export enum RfqAuditEventType {
4647
4647
  * Describes the enum silvana.orderbook.v1.RfqAuditEventType.
4648
4648
  */
4649
4649
  export const RfqAuditEventTypeSchema: GenEnum<RfqAuditEventType> = /*@__PURE__*/
4650
- enumDesc(file_proto_silvana_orderbook_v1_orderbook, 7);
4650
+ enumDesc(file_silvana_orderbook_v1_orderbook, 7);
4651
4651
 
4652
4652
  /**
4653
4653
  * @generated from service silvana.orderbook.v1.OrderbookService
@@ -4958,5 +4958,5 @@ export const OrderbookService: GenService<{
4958
4958
  output: typeof RfqStreamEventSchema;
4959
4959
  },
4960
4960
  }> = /*@__PURE__*/
4961
- serviceDesc(file_proto_silvana_orderbook_v1_orderbook, 0);
4961
+ serviceDesc(file_silvana_orderbook_v1_orderbook, 0);
4962
4962