lynx-client 0.0.3 → 0.0.5

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 (131) hide show
  1. package/dist/cjs/index.js +19 -0
  2. package/dist/cjs/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.js +91 -0
  3. package/dist/cjs/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.js +2 -0
  4. package/dist/cjs/lib/contractsIntegration/ChipsIntentsVerifierService/index.js +5 -0
  5. package/dist/cjs/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.js +2 -0
  6. package/dist/cjs/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.js +70 -0
  7. package/dist/cjs/lib/contractsIntegration/LiquidityIntentsVerifierService/index.js +5 -0
  8. package/dist/cjs/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.js +2 -0
  9. package/dist/cjs/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.js +99 -0
  10. package/dist/cjs/lib/contractsIntegration/TradeIntentsVerifierService/index.js +5 -0
  11. package/dist/cjs/lib/contractsIntegration/deployedContractsConnector.js +45 -0
  12. package/dist/cjs/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.js +2 -0
  13. package/dist/cjs/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.js +2 -0
  14. package/dist/cjs/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.js +2 -0
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1129 -0
  16. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +870 -0
  17. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1561 -0
  18. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  19. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  20. package/dist/cjs/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.js +37 -0
  21. package/dist/cjs/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.js +39 -0
  22. package/dist/cjs/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.js +152 -0
  23. package/dist/esm/index.d.ts +23 -0
  24. package/dist/esm/index.d.ts.map +1 -1
  25. package/dist/esm/index.js +19 -0
  26. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.d.ts +29 -0
  27. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.d.ts.map +1 -0
  28. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.js +91 -0
  29. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.d.ts +24 -0
  30. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.d.ts.map +1 -0
  31. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.js +2 -0
  32. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/index.d.ts +4 -0
  33. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/index.d.ts.map +1 -0
  34. package/dist/esm/lib/contractsIntegration/ChipsIntentsVerifierService/index.js +5 -0
  35. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.d.ts +17 -0
  36. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.d.ts.map +1 -0
  37. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.js +2 -0
  38. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.d.ts +22 -0
  39. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.d.ts.map +1 -0
  40. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.js +70 -0
  41. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/index.d.ts +4 -0
  42. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/index.d.ts.map +1 -0
  43. package/dist/esm/lib/contractsIntegration/LiquidityIntentsVerifierService/index.js +5 -0
  44. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.d.ts +24 -0
  45. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.d.ts.map +1 -0
  46. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.js +2 -0
  47. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.d.ts +29 -0
  48. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.d.ts.map +1 -0
  49. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.js +99 -0
  50. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/index.d.ts +4 -0
  51. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/index.d.ts.map +1 -0
  52. package/dist/esm/lib/contractsIntegration/TradeIntentsVerifierService/index.js +5 -0
  53. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.d.ts +15 -0
  54. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.d.ts.map +1 -1
  55. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.js +45 -0
  56. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.d.ts +643 -0
  57. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.d.ts.map +1 -0
  58. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.js +2 -0
  59. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.d.ts +508 -0
  60. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.d.ts.map +1 -0
  61. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.js +2 -0
  62. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.d.ts +832 -0
  63. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.d.ts.map +1 -0
  64. package/dist/esm/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.js +2 -0
  65. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +866 -0
  66. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts.map +1 -0
  67. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.js +1129 -0
  68. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +670 -0
  69. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts.map +1 -0
  70. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.js +870 -0
  71. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1201 -0
  72. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts.map +1 -0
  73. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1561 -0
  74. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  75. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  76. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  77. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  78. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  79. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.d.ts +9 -0
  80. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.d.ts.map +1 -0
  81. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.js +37 -0
  82. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.d.ts +9 -0
  83. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.d.ts.map +1 -0
  84. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.js +39 -0
  85. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.d.ts +13 -0
  86. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.d.ts.map +1 -0
  87. package/dist/esm/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.js +152 -0
  88. package/dist/types/index.d.ts +23 -0
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.d.ts +29 -0
  91. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/ChipsIntentsVerifierService.d.ts.map +1 -0
  92. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.d.ts +24 -0
  93. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/IChipsIntentsVerifierService.d.ts.map +1 -0
  94. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/index.d.ts +4 -0
  95. package/dist/types/lib/contractsIntegration/ChipsIntentsVerifierService/index.d.ts.map +1 -0
  96. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.d.ts +17 -0
  97. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/ILiquidityIntentsVerifierService.d.ts.map +1 -0
  98. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.d.ts +22 -0
  99. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/LiquidityIntentsVerifierService.d.ts.map +1 -0
  100. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/index.d.ts +4 -0
  101. package/dist/types/lib/contractsIntegration/LiquidityIntentsVerifierService/index.d.ts.map +1 -0
  102. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.d.ts +24 -0
  103. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/ITradeIntentsVerifierService.d.ts.map +1 -0
  104. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.d.ts +29 -0
  105. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/TradeIntentsVerifierService.d.ts.map +1 -0
  106. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/index.d.ts +4 -0
  107. package/dist/types/lib/contractsIntegration/TradeIntentsVerifierService/index.d.ts.map +1 -0
  108. package/dist/types/lib/contractsIntegration/deployedContractsConnector.d.ts +15 -0
  109. package/dist/types/lib/contractsIntegration/deployedContractsConnector.d.ts.map +1 -1
  110. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.d.ts +643 -0
  111. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1.d.ts.map +1 -0
  112. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.d.ts +508 -0
  113. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1.d.ts.map +1 -0
  114. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.d.ts +832 -0
  115. package/dist/types/lib/typechain/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1.d.ts.map +1 -0
  116. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts +866 -0
  117. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/ChipsIntentsVerifierV1__factory.d.ts.map +1 -0
  118. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts +670 -0
  119. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/LiquidityIntentsVerifierV1__factory.d.ts.map +1 -0
  120. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1201 -0
  121. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts.map +1 -0
  122. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  123. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  124. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  125. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.d.ts +9 -0
  126. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.d.ts.map +1 -0
  127. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.d.ts +9 -0
  128. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.d.ts.map +1 -0
  129. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.d.ts +13 -0
  130. package/dist/types/lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.d.ts.map +1 -0
  131. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TradeIntentsVerifierV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class TradingFloorV1__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): TradingFloorV1__factory;
17
- static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615cf380620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806382571409116101de578063b71f3cfe1161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aed578063f5f5ba7214610b0d578063f851a44014610b37578063f9b9484e14610b4a57600080fd5b8063ece938cf14610a5b578063ef6ecc5514610a64578063f2eb245e14610ac4578063f51f3fd314610ae457600080fd5b8063ddf474f1116100e9578063ddf474f1146109cd578063e640f33b14610a15578063eb48914014610a28578063ec7f8a3a14610a3b57600080fd5b8063b71f3cfe1461099c578063c07f9921146109a7578063ca3a3a82146109ba57600080fd5b806395be50501161017c578063a40d726811610156578063a40d726814610947578063aaf5eb681461095a578063acfd6b9214610969578063ad1f2b561461099457600080fd5b806395be5050146108a65780639ff69ffa14610921578063a2a25ea61461093457600080fd5b80638f7a8fb5116101b85780638f7a8fb5146107e257806390f24cac1461085d57806393a7f6a71461087057806394a1e6e51461089e57600080fd5b806382571409146107a657806386dc4975146107af5780638aa10435146107c257600080fd5b8063396f7b23116102c357806368f296a51161026157806376d901be1161023057806376d901be146107435780637b1039991461077657806380193b261461078957806380a7f3d41461079357600080fd5b806368f296a5146106c15780636e01af8d146106e7578063725b7d52146106fa57806374d8b78e1461071a57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f35780635c60da1b14610606578063614d08f81461061957806366307a4f1461064657600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a1366004615044565b610bac565b6040519081526020015b60405180910390f35b6103e26103c7366004615188565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b6104496104083660046151a5565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e26104933660046151a5565b6110fc565b6104ab6104a63660046151cb565b611126565b005b6103a66104bb366004615188565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e4366004615188565b6111f5565b6104ab6104f7366004615216565b611343565b6013546103a6565b610517610512366004615188565b6113d9565b60405163ffffffff90911681526020016103b0565b6104ab61053a36600461524b565b611473565b6001546103e2906001600160a01b031681565b6103a6610560366004615277565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001630313031360e41b81525081565b6040516103b091906152d4565b6003546103e2906001600160a01b031681565b6103a66105ce366004615307565b611712565b6105e66105e1366004615188565b611743565b6040516103b09190615325565b6104ab610601366004615369565b6117af565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b61068e6106543660046151a5565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106cf366004615188565b60156020526000908152604090205463ffffffff1681565b6104ab6106f53660046153a5565b611873565b61070d610708366004615307565b611c09565b6040516103b091906153cc565b6103e2610728366004615188565b600a602052600090815260409020546001600160a01b031681565b6107666107513660046151a5565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6104ab6107a136600461540d565b611c89565b6103a660075481565b6104ab6107bd366004615451565b6120e1565b6040805180820190915260048152630313031360e41b60208201526105a0565b61084a6107f03660046151a5565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b097969594939291906154a0565b6103e261086b3660046154f5565b612174565b61076661087e366004615188565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a66121b9565b6109106108b43660046151a5565b6000908152600d6020818152604080842060010154600c835293205491905260ff8083169361010084046001600160401b031693600160a01b90930461ffff1692600160681b810490921691600160b01b900463ffffffff1690565b6040516103b095949392919061552a565b6104ab61092f36600461556e565b6121ca565b6104ab6109423660046155cc565b612411565b6103a66109553660046155fc565b612533565b6103a6670de0b6b3a764000081565b6103a6610977366004615307565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109b5366004615649565b6125a2565b6104ab6109c8366004615671565b612cef565b61068e6109db3660046151a5565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a23366004615671565b612ea0565b6104ab610a36366004615216565b613031565b6103a6610a49366004615188565b60146020526000908152604090205481565b6103a660055481565b610aa7610a723660046156ad565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ad23660046151a5565b60106020526000908152604090205481565b6103a660065481565b610b00610afb3660046151a5565b6130c7565b6040516103b09190615724565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610b9d610b583660046151a5565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b093929190615732565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e9190615768565b610c435760405162461bcd60e51b8152600401610c3a90615785565b60405180910390fd5b610c6b84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cb75760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c3a565b60208085015161ffff1660009081526008909152604090205460ff1615610cf05760405162461bcd60e51b8152600401610c3a906157ad565b6001856002811115610d0457610d04615476565b1480610d2157506002856002811115610d1f57610d1f615476565b145b610d665760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c3a565b610dab836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b03166131ef565b60055484516001600160a01b031660009081526016602052604090205410610e0d5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c3a565b610e248460400151856000015186602001516132d1565b9050610e3d846040015185600001518560200151613442565b8351610e4890613587565b6000818152600d60205260409020805415610e8f5760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c3a565b600180820180548651604088015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928a16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208501518255600090876002811115610f1057610f10615476565b14610f1c576002610f1f565b60015b9050808260010160006101000a81548160ff02191690836005811115610f4757610f47615476565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600085815260200190815260200160002090508560a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508560c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000868152602001908152602001600020905086606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555086608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508660e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508661010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550847fabd7725cc4e772d19c08344ff52fe389227a111b190576195fb007bcdf84dd3c848a8a8a6040516110e894939291906157d2565b60405180910390a250505050949350505050565b6013818154811061110c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa158015611172573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119691906158b4565b6001600160a01b0316336001600160a01b0316146111e55760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c3a565b6111f0838383613603565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125791906158b4565b6001600160a01b0316336001600160a01b0316146112a65760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c3a565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906158d1565b156113405760405162461bcd60e51b8152600401610c3a9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190615768565b6113cc5760405162461bcd60e51b8152600401610c3a906158ea565b6111f08360028484613726565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114495760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c3a565b600b8163ffffffff1610156114615750600b92915050565b61146c816001615923565b9392505050565b6000546001600160a01b031633146114ba5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600081116114fb5760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c3a565b6060600183600381111561151157611511615476565b0361154a575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116c5565b600283600381111561155e5761155e615476565b036115ed576064611573620186a06032615947565b61157d9190615974565b8210156115c65760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116c5565b600383600381111561160157611601615476565b0361168f57611614620186a06002615947565b82101561165d5760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116c5565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c3a565b806040516116d39190615988565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061172e57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117a357602002820191906000526020600020905b81548152602001906001019080831161178f575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190615768565b6118685760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6111f0338484613dba565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa1580156118bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e09190615768565b61192c5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b61193a6064620186a0615974565b8111156119805760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c3a565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff1660058111156119bf576119bf615476565b60058111156119d0576119d0615476565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611a675760405162461bcd60e51b8152600401610c3a906159a4565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611ad657611ad6615476565b03611b3857600182602001516005811115611af357611af3615476565b14611b335760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c3a565b611be3565b6002846002811115611b4c57611b4c615476565b03611ba857600282602001516005811115611b6957611b69615476565b14611b335760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c3a565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c3a565b611c028582600001518360600151856000015186606001518833613ecb565b5050505050565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611c7b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c5d575b505050505090505b92915050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190615768565b611d125760405162461bcd60e51b8152600401610c3a906158ea565b6000848152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611d5157611d51615476565b6005811115611d6257611d62615476565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150611de25760405162461bcd60e51b8152600401610c3a906159a4565b6000858152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002886003811115611e5157611e51615476565b03611eb4578460800151611e7e5783606001516001600160401b0316866001600160401b03161015611e99565b83606001516001600160401b0316866001600160401b031611155b925083606001516001600160401b0316915060029050611f99565b6001886003811115611ec857611ec8615476565b03611f2b578460800151611ef55783604001516001600160401b0316866001600160401b03161115611f10565b83604001516001600160401b0316866001600160401b031610155b925083604001516001600160401b0316915060019050611f99565b6003886003811115611f3f57611f3f615476565b03611f5b575060019150506001600160401b0384166003611f99565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c3a565b82611fd65760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b6000806000611fe68c8686613f9d565b91945092509050600384600481111561200157612001615476565b0361206e5787608001516120215780896001600160401b0316101561202f565b80896001600160401b031611155b95508561206e5760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b8a600381111561208057612080615476565b604080516001600160401b038c16815260208101849052908101859052606081018490528d907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a3505050505050505050505050565b6000546001600160a01b031633146121285760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b6011602052826000526040600020602052816000526040600020818154811061219c57600080fd5b6000918252602090912001546001600160a01b0316925083915050565b6121c76064620186a0615974565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122379190615768565b6122535760405162461bcd60e51b8152600401610c3a90615785565b6000858152600d602052604090206002600182015460ff16600581111561227c5761227c615476565b146122995760405162461bcd60e51b8152600401610c3a906159ce565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156122e05760405162461bcd60e51b8152600401610c3a906157ad565b61232281600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b03166131ef565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d859060800160405180910390a25050505050505050565b6004546001600160a01b031633146124575760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c3a565b6001600160a01b038381166000908152600a602052604090205416156124bf5760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c3a565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156125eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260f9190615768565b61262b5760405162461bcd60e51b8152600401610c3a906158ea565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916126b55760405162461bcd60e51b8152600401610c3a906159a4565b6003600184015460ff1660058111156126d0576126d0615476565b146126ed5760405162461bcd60e51b8152600401610c3a906159ce565b80516001600160a01b039081166000908152600b60205260408120549091169080600189600281111561272257612722615476565b036129dd5760006127c3846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561276a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278e91906158d1565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff166141a1565b9050886001600160401b0316816001600160401b0316146128185760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160801b9091048116908216036128665760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c3a565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b81526004016129a5999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b1580156129bf57600080fd5b505af11580156129d3573d6000803e3d6000fd5b5050505050612b6e565b60028960028111156129f1576129f1615476565b0361168f576000612a92846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5d91906158d1565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16614273565b9050886001600160401b0316816001600160401b031614612ae75760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160c01b909104811690821603612b355760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c3a565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b60018601546000906001600160401b03808a16600160701b9092041611612ba9576001870154600160701b90046001600160401b0316612bab565b875b60018801546001600160401b0391821692506000918a8116600160701b9092041610612beb576001880154600160701b90046001600160401b0316612bed565b885b6001600160401b03169050612c2888600101600d9054906101000a900460ff168383876001600160401b0316876001600160401b03166131ef565b86546001600160401b03858116600160801b0267ffffffffffffffff60801b19918616600160c01b02919091166001600160801b03909216919091171787558a6002811115612c7957612c79615476565b866020015161ffff168d7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e6883776678b600101600d9054906101000a900460ff168e604051612cd992919091151582526001600160401b0316602082015260400190565b60405180910390a4505050505050505050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612d38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5c9190615768565b612d785760405162461bcd60e51b8152600401610c3a906158ea565b6000838152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b90049092166060830152612deb5760405162461bcd60e51b8152600401610c3a906159a4565b80516001600160401b0380841691161180612e1b5750816001600160401b031681602001516001600160401b0316105b15612e3157612e2c30856001613dba565b612e9a565b6000806000612e4b87866001600160401b03166004613f9d565b6040805182815260208101859052908101839052929550909350915087907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb9060600160405180910390a25050505b50505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0d9190615768565b612f295760405162461bcd60e51b8152600401610c3a90615785565b6000838152600d602052604090208054612f555760405162461bcd60e51b8152600401610c3a906159a4565b6003600182015460ff166005811115612f7057612f70615476565b14612f8d5760405162461bcd60e51b8152600401610c3a906159ce565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa15801561307a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309e9190615768565b6130ba5760405162461bcd60e51b8152600401610c3a906158ea565b6111f08360018484613726565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff16600581111561312b5761312b615476565b600581111561313c5761313c615476565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b828411156132315760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c3a565b81158061324a5750846132465783821061324a565b8282115b6132815760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c3a565b80158061329a5750846132965782811161329a565b8381105b611c025760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c3a565b6000806132dd846113d9565b90506132eb85858584612533565b6000818152600c60205260408120805492945091600160b01b900463ffffffff169003613439578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f82604051613430919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50509392505050565b80156111f0576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561348f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b391906158d1565b90506134ca6001600160a01b038516843085614330565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015613511573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353591906158d1565b90508261354283836159f3565b14611c025760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c3a565b6001600160a01b03811660009081526016602052604090205460010361134057601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b03831660009081526009602052604081208184600381111561362e5761362e615476565b600381111561363f5761363f615476565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b03168152602001908152602001600020600085600381111561368b5761368b615476565b600381111561369c5761369c615476565b81526020810191909152604001600020556136c16001600160a01b0385168383614397565b816001600160a01b03168360038111156136dd576136dd615476565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161371891815260200190565b60405180910390a450505050565b6000848152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152878452600d8352818420825160e0810190935280548352600181015491949390919083019060ff1660058111156137af576137af615476565b60058111156137c0576137c0615476565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a09091015280519091506138405760405162461bcd60e51b8152600401610c3a906159a4565b6000868152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138c55760405162461bcd60e51b8152600401610c3a906157ad565b8560058111156138d7576138d7615476565b826020015160058111156138ed576138ed615476565b1461390a5760405162461bcd60e51b8152600401610c3a906159ce565b600186600581111561391e5761391e615476565b036139c25782516001600160401b03808716911611806139535750846001600160401b031683602001516001600160401b0316105b156139bd576040516001600160401b038616815287907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139b58782600001518360600151856000015186606001518930613ecb565b505050612e9a565b613a48565b60028660058111156139d6576139d6615476565b0361168f5782516001600160401b03808716911611801590613a0e5750846001600160401b031683602001516001600160401b031610155b6139bd5760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c3a565b80516001600160a01b039081166000908152600b6020526040812054606085015160808601519190931692613a82918b9185918b8a6143c8565b9050816001600160a01b03166352713f678a85606001518660200151886000015189606001518a6080015188604001518f6040518963ffffffff1660e01b8152600401613b289897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af1925050508015613b62575060408051601f3d908101601f19168201909252613b5f91810190615a06565b60015b613c6657613b6e615a2a565b806308c379a003613ba75750613b82615a46565b80613b8d5750613ba9565b8060405162461bcd60e51b8152600401610c3a91906152d4565b505b3d808015613bd3576040519150601f19603f3d011682016040523d82523d6000602084013e613bd8565b606091505b50632eb752bf60e21b613bea82615acf565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b90613c379085908590615b06565b60405180910390a2613c5e8c876000015188606001518a600001518b606001518e30613ecb565b505050613daf565b60008b8152600d602090815260408083206001810180546001600160401b038f16600160701b0267ffffffffffffffff60701b19909116179055895160109093529220558651613cb79084906159f3565b8155600180820180546001600160401b0342166101000268ffffffffffffffffff199091161760031790558651613cfa918e9190613cf586886159f3565b61474b565b85516001600160a01b038082166000908152600a6020526040902054613d22929116846147ff565b60008c8152600f60205260408082209190915584810151606086015191518e927fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf8192613da3928f9290899089906001600160401b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b60405180910390a25050505b505050505050505050565b6000828152600d6020526040902054613de55760405162461bcd60e51b8152600401610c3a906159a4565b6000828152600f60205260408120556001816001811115613e0857613e08615476565b03611ba85760046000838152600d602052604090206001015460ff166005811115613e3557613e35615476565b14613e525760405162461bcd60e51b8152600401610c3a906159ce565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613f13613f0d8663ffffffff8716614819565b84614831565b9050613f22888860038461474b565b613f2b86614841565b613f358689614998565b6000613f4182876159f3565b9050613f4e8888836147ff565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613f8a91815260200190565b60405180910390a3505050505050505050565b6000838152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081614005886130c7565b80519091506140265760405162461bcd60e51b8152600401610c3a906159a4565b6000806000806140398c87878e8e614ac3565b935093509350935084600001518311156140bb578451600090620186a061406082876159f3565b61406a9190615947565b6140749190615974565b90506007548111156140b95760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c3a565b505b81975082985080965084600001518411156141185760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c3a565b6141298c876000015160028761474b565b6141368660600151614841565b61414486606001518d614998565b60008c8152600d6020908152604080832083815560010180546001600160d01b0319169055600e825280832083905560109091528120556060860151865186516141929291908c9088614b75565b50505050505093509350939050565b60006001600160401b03831615806141cb57508560070b6141c58787868689614cde565b60070b12155b15614267576000620186a0856001600160401b03166064896001600160401b0316896001600160401b03166142009190615947565b61420a9190615947565b6142149190615974565b61421e9190615974565b90508261425557856001600160401b0316816001600160401b0316111561424657600061425f565b6142508187615b24565b61425f565b61425f8187615b44565b91505061426a565b50815b95945050505050565b60006001600160401b03831615806142a8575060065461429590600019615b64565b6142a28787868689614cde565b60070b13155b15614267576000620186a0856001600160401b03166064600654896001600160401b03166142d69190615947565b6142e09190615947565b6142ea9190615974565b6142f49190615974565b905082614305576142508187615b44565b856001600160401b0316816001600160401b0316111561432657600061425f565b61425f8187615b24565b6040516001600160a01b038481166024830152838116604483015260648201839052612e9a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614d6a565b6040516001600160a01b038381166024830152604482018390526111f091859182169063a9059cbb90606401614365565b6040805160808101825260008082526020820181905291810182905260608101919091526000866001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561442c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061445091906158d1565b6000898152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b90049091166060820152935090915015806144c3575060408301516001600160401b0316155b61450f5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60608201516001600160401b03161580614534575060608301516001600160401b0316155b6145805760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60408301516001600160401b0316156145fa5760006145aa8585604001518963ffffffff16614dcd565b9050856145e057846001600160401b0316816001600160401b0316106145d15760006145ea565b6145db8186615b24565b6145ea565b6145ea8186615b44565b6001600160401b03166040840152505b60608301516001600160401b0316156146745760006146248585606001518963ffffffff16614dcd565b90508561463a576146358186615b44565b614664565b846001600160401b0316816001600160401b03161061465a576000614664565b6146648186615b24565b6001600160401b03166060840152505b61468b81858863ffffffff168560400151896141a1565b6001600160401b0390811660408401524216825260608201516146ba908290869063ffffffff8a169089614273565b6001600160401b0390811660608401908152428216602080860191825260009b8c52600e905260409a8b90208551815492519c87015193518516600160c01b026001600160c01b03948616600160801b02949094166001600160801b039d8616600160401b026001600160801b03199094169190951617919091179a909a1691909117179097559695505050505050565b8015612e9a576001600160a01b0383166000908152600960205260408120829184600381111561477d5761477d615476565b600381111561478e5761478e615476565b815260200190815260200160002060008282546147ab9190615b94565b9091555082905060038111156147c3576147c3615476565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161371891815260200190565b80156111f0576111f06001600160a01b0384168383614397565b600060646148278385615947565b61146c9190615974565b6000620186a06148278385615947565b6001600160a01b0381166000908152601660205260409020546001036113405760135460011015614949576001600160a01b03811660009081526014602052604090205460138054614895906001906159f3565b815481106148a5576148a5615ba7565b6000918252602090912001546001600160a01b031660136148c76001846159f3565b815481106148d7576148d7615ba7565b6000918252602082200180546001600160a01b0319166001600160a01b039390931692909217909155819060149060136149126001856159f3565b8154811061492257614922615ba7565b60009182526020808320909101546001600160a01b03168352820192909252604001902055505b6001600160a01b038116600090815260146020526040812055601380548061497357614973615bbd565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6001600160a01b038216600090815260176020908152604080832084845290915290205480156111f0576001600160a01b0383166000908152601660205260408120906149e66001846159f3565b82549091506149f7906001906159f3565b811015614a735781546000908390614a11906001906159f3565b81548110614a2157614a21615ba7565b9060005260206000200154905080838381548110614a4157614a41615ba7565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b81805480614a8357614a83615bbd565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d3168892614b1f928e92908d908d908d90600401615bd3565b6080604051808303816000875af1158015614b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b629190615c2a565b929c919b50995090975095505050505050565b6001600160a01b038085166000908152600a602052604081205490911690838510614c1e57614ba483856159f3565b90506000614bb282876159f3565b6040516321d4911360e01b81526001600160a01b038a8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b158015614c0057600080fd5b505af1158015614c14573d6000803e3d6000fd5b5050505050614cca565b50836000614c2c82866159f3565b905083811115614c4f57614c4a8784614c4587856159f3565b6147ff565b614cc8565b6001600160a01b0383166321d4911330614c6984886159f3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614caf57600080fd5b505af1158015614cc3573d6000803e3d6000fd5b505050505b505b614cd58688836147ff565b50505050505050565b6000858184614cf657614cf18688615c60565b614d00565b614d008787615c60565b905060008460070b620186a08360070b614d1a9190615b64565b614d249190615b64565b90506000600789900b614d38606484615c8f565b614d429190615c8f565b90508094508360070b8560070b13614d5a5784614d5c565b835b9a9950505050505050505050565b6000614d7f6001600160a01b03841683614e1c565b90508051600014158015614da4575080806020019051810190614da29190615768565b155b156111f057604051635274afe760e01b81526001600160a01b0384166004820152602401610c3a565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614dfe9190615947565b614e089190615947565b614e129190615974565b61426a9190615974565b606061146c8383600084600080856001600160a01b03168486604051614e429190615988565b60006040518083038185875af1925050503d8060008114614e7f576040519150601f19603f3d011682016040523d82523d6000602084013e614e84565b606091505b5091509150614e94868383614e9e565b9695505050505050565b606082614eb357614eae82614efa565b61146c565b8151158015614eca57506001600160a01b0384163b155b15614ef357604051639996b31560e01b81526001600160a01b0385166004820152602401610c3a565b508061146c565b805115614f0a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6003811061134057600080fd5b606081018181106001600160401b0382111715614f5d57634e487b7160e01b600052604160045260246000fd5b60405250565b601f8201601f191681016001600160401b0381118282101715614f9657634e487b7160e01b600052604160045260246000fd5b6040525050565b60405161012081016001600160401b0381118282101715614fce57634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b038116811461134057600080fd5b803561ffff81168114614ffb57600080fd5b919050565b801515811461134057600080fd5b8035614ffb81615000565b803563ffffffff81168114614ffb57600080fd5b80356001600160401b0381168114614ffb57600080fd5b6000806000808486036101c081121561505c57600080fd5b853561506781614f23565b94506060601f198201121561507b57600080fd5b60405161508781614f30565b602087013561509581614fd4565b81526150a360408801614fe9565b602082015260608701356150b681614fd4565b60408201529350610120607f1982018113156150d157600080fd5b6150d9614f9d565b91506150e76080880161500e565b825260a087013560208301526150ff60c08801615019565b604083015261511060e0880161502d565b606083015261010061512381890161502d565b608084015261513382890161502d565b60a0840152615145610140890161502d565b60c0840152615157610160890161502d565b60e0840152615169610180890161502d565b9083015250915061517d6101a08601615019565b905092959194509250565b60006020828403121561519a57600080fd5b813561146c81614fd4565b6000602082840312156151b757600080fd5b5035919050565b6004811061134057600080fd5b6000806000606084860312156151e057600080fd5b83356151eb81614fd4565b925060208401356151fb816151be565b9150604084013561520b81614fd4565b809150509250925092565b60008060006060848603121561522b57600080fd5b8335925061523b6020850161502d565b9150604084013590509250925092565b6000806040838503121561525e57600080fd5b8235615269816151be565b946020939093013593505050565b6000806040838503121561528a57600080fd5b823561529581614fd4565b915060208301356152a5816151be565b809150509250929050565b60005b838110156152cb5781810151838201526020016152b3565b50506000910152565b60208152600082518060208401526152f38160408501602087016152b0565b601f01601f19169190910160400192915050565b6000806040838503121561531a57600080fd5b823561526981614fd4565b6020808252825182820181905260009190848201906040850190845b8181101561535d57835183529284019291840191600101615341565b50909695505050505050565b60008060006060848603121561537e57600080fd5b8335925060208401356002811061539457600080fd5b929592945050506040919091013590565b6000806000606084860312156153ba57600080fd5b83359250602084013561539481614f23565b6020808252825182820181905260009190848201906040850190845b8181101561535d5783516001600160a01b0316835292840192918401916001016153e8565b6000806000806080858703121561542357600080fd5b843593506020850135615435816151be565b92506154436040860161502d565b915061517d6060860161502d565b6000806040838503121561546457600080fd5b8235915060208301356152a581615000565b634e487b7160e01b600052602160045260246000fd5b6006811061549c5761549c615476565b9052565b87815260e081016154b4602083018961548c565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b60008060006060848603121561550a57600080fd5b833561551581614fd4565b95602085013595506040909401359392505050565b60a08101615538828861548c565b6001600160401b0395909516602082015261ffff939093166040840152901515606083015263ffffffff16608090910152919050565b600080600080600060a0868803121561558657600080fd5b853594506155966020870161502d565b93506155a46040870161502d565b92506155b26060870161502d565b91506155c06080870161502d565b90509295509295909350565b6000806000606084860312156155e157600080fd5b83356155ec81614fd4565b925060208401356151fb81614fd4565b6000806000806080858703121561561257600080fd5b843561561d81614fd4565b9350602085013561562d81614fd4565b925061563b60408601614fe9565b915061517d60608601615019565b6000806000806080858703121561565f57600080fd5b84359350602085013561543581614f23565b60008060006060848603121561568657600080fd5b833592506156966020850161502d565b91506156a46040850161502d565b90509250925092565b6000806000606084860312156156c257600080fd5b83356156cd81614fd4565b9250602084013561539481614fd4565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611c8382846156dd565b60608101615740828661548c565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b60006020828403121561577a57600080fd5b815161146c81615000565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101c081016157e1828761548c565b60018060a01b0380865116602084015261ffff602087015116604084015280604087015116606084015250835115156080830152602084015160a083015263ffffffff60408501511660c0830152606084015161584960e08401826001600160401b03169052565b506080840151610100615866818501836001600160401b03169052565b60a08601516001600160401b0390811661012086015260c0870151811661014086015260e0870151811661016086015290860151166101808401525063ffffffff83166101a083015261426a565b6000602082840312156158c657600080fd5b815161146c81614fd4565b6000602082840312156158e357600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190808211156159405761594061590d565b5092915050565b8082028115828204841417611c8357611c8361590d565b634e487b7160e01b600052601260045260246000fd5b6000826159835761598361595e565b500490565b6000825161599a8184602087016152b0565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611c8357611c8361590d565b60008060408385031215615a1957600080fd5b505080516020909101519092909150565b600060033d1115615a435760046000803e5060005160e01c5b90565b600060443d1015615a545790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615a8357505050505090565b8285019150815181811115615a9b5750505050505090565b843d8701016020828501011115615ab55750505050505090565b615ac460208286010187614f63565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615afe5780818460040360031b1b83161693505b505050919050565b6040810160128410615b1a57615b1a615476565b9281526020015290565b6001600160401b038281168282160390808211156159405761594061590d565b6001600160401b038181168382160190808211156159405761594061590d565b80820260008212600160ff1b84141615615b8057615b8061590d565b8181058314821517611c8357611c8361590d565b80820180821115611c8357611c8361590d565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8681526001600160a01b038616602082015261ffff851660408201526101408101615c0160608301866156dd565b8361010083015260058310615c1857615c18615476565b82610120830152979650505050505050565b60008060008060808587031215615c4057600080fd5b505082516020840151604085015160609095015191969095509092509050565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611c8357611c8361590d565b600082615c9e57615c9e61595e565b600160ff1b821460001984141615615cb857615cb861590d565b50059056fea26469706673582212207273a7eefdb6c212ff59cc546215dc0b65197ff444bb41b8d6e6c5b5dd635e8e64736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615ced80620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806382571409116101de578063b71f3cfe1161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aed578063f5f5ba7214610b0d578063f851a44014610b37578063f9b9484e14610b4a57600080fd5b8063ece938cf14610a5b578063ef6ecc5514610a64578063f2eb245e14610ac4578063f51f3fd314610ae457600080fd5b8063ddf474f1116100e9578063ddf474f1146109cd578063e640f33b14610a15578063eb48914014610a28578063ec7f8a3a14610a3b57600080fd5b8063b71f3cfe1461099c578063c07f9921146109a7578063ca3a3a82146109ba57600080fd5b806395be50501161017c578063a40d726811610156578063a40d726814610947578063aaf5eb681461095a578063acfd6b9214610969578063ad1f2b561461099457600080fd5b806395be5050146108a65780639ff69ffa14610921578063a2a25ea61461093457600080fd5b80638f7a8fb5116101b85780638f7a8fb5146107e257806390f24cac1461085d57806393a7f6a71461087057806394a1e6e51461089e57600080fd5b806382571409146107a657806386dc4975146107af5780638aa10435146107c257600080fd5b8063396f7b23116102c357806368f296a51161026157806376d901be1161023057806376d901be146107435780637b1039991461077657806380193b261461078957806380a7f3d41461079357600080fd5b806368f296a5146106c15780636e01af8d146106e7578063725b7d52146106fa57806374d8b78e1461071a57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f35780635c60da1b14610606578063614d08f81461061957806366307a4f1461064657600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a136600461503e565b610bac565b6040519081526020015b60405180910390f35b6103e26103c7366004615182565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b61044961040836600461519f565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e261049336600461519f565b6110fc565b6104ab6104a63660046151c5565b611126565b005b6103a66104bb366004615182565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e4366004615182565b6111f5565b6104ab6104f7366004615210565b611343565b6013546103a6565b610517610512366004615182565b6113d9565b60405163ffffffff90911681526020016103b0565b6104ab61053a366004615245565b611473565b6001546103e2906001600160a01b031681565b6103a6610560366004615271565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001630313031360e41b81525081565b6040516103b091906152ce565b6003546103e2906001600160a01b031681565b6103a66105ce366004615301565b611712565b6105e66105e1366004615182565b611743565b6040516103b0919061531f565b6104ab610601366004615363565b6117af565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b61068e61065436600461519f565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106cf366004615182565b60156020526000908152604090205463ffffffff1681565b6104ab6106f536600461539f565b611873565b61070d610708366004615301565b611c09565b6040516103b091906153c6565b6103e2610728366004615182565b600a602052600090815260409020546001600160a01b031681565b61076661075136600461519f565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6104ab6107a1366004615407565b611c89565b6103a660075481565b6104ab6107bd36600461544b565b6120db565b6040805180820190915260048152630313031360e41b60208201526105a0565b61084a6107f036600461519f565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b0979695949392919061549a565b6103e261086b3660046154ef565b61216e565b61076661087e366004615182565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a66121b3565b6109106108b436600461519f565b6000908152600d6020818152604080842060010154600c835293205491905260ff8083169361010084046001600160401b031693600160a01b90930461ffff1692600160681b810490921691600160b01b900463ffffffff1690565b6040516103b0959493929190615524565b6104ab61092f366004615568565b6121c4565b6104ab6109423660046155c6565b61240b565b6103a66109553660046155f6565b61252d565b6103a6670de0b6b3a764000081565b6103a6610977366004615301565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109b5366004615643565b61259c565b6104ab6109c836600461566b565b612ce9565b61068e6109db36600461519f565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a2336600461566b565b612e9a565b6104ab610a36366004615210565b61302b565b6103a6610a49366004615182565b60146020526000908152604090205481565b6103a660055481565b610aa7610a723660046156a7565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ad236600461519f565b60106020526000908152604090205481565b6103a660065481565b610b00610afb36600461519f565b6130c1565b6040516103b0919061571e565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610b9d610b5836600461519f565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b09392919061572c565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e9190615762565b610c435760405162461bcd60e51b8152600401610c3a9061577f565b60405180910390fd5b610c6b84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cb75760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c3a565b60208085015161ffff1660009081526008909152604090205460ff1615610cf05760405162461bcd60e51b8152600401610c3a906157a7565b6001856002811115610d0457610d04615470565b1480610d2157506002856002811115610d1f57610d1f615470565b145b610d665760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c3a565b610dab836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b03166131e9565b60055484516001600160a01b031660009081526016602052604090205410610e0d5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c3a565b610e248460400151856000015186602001516132cb565b9050610e3d84604001518560000151856020015161343c565b8351610e4890613581565b6000818152600d60205260409020805415610e8f5760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c3a565b600180820180548651604088015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928a16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208501518255600090876002811115610f1057610f10615470565b14610f1c576002610f1f565b60015b9050808260010160006101000a81548160ff02191690836005811115610f4757610f47615470565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600085815260200190815260200160002090508560a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508560c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000868152602001908152602001600020905086606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555086608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508660e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508661010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550847fabd7725cc4e772d19c08344ff52fe389227a111b190576195fb007bcdf84dd3c848a8a8a6040516110e894939291906157cc565b60405180910390a250505050949350505050565b6013818154811061110c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa158015611172573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119691906158ae565b6001600160a01b0316336001600160a01b0316146111e55760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c3a565b6111f08383836135fd565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125791906158ae565b6001600160a01b0316336001600160a01b0316146112a65760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c3a565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a91906158cb565b156113405760405162461bcd60e51b8152600401610c3a9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190615762565b6113cc5760405162461bcd60e51b8152600401610c3a906158e4565b6111f08360028484613720565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114495760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c3a565b600b8163ffffffff1610156114615750600b92915050565b61146c81600161591d565b9392505050565b6000546001600160a01b031633146114ba5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600081116114fb5760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c3a565b6060600183600381111561151157611511615470565b0361154a575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116c5565b600283600381111561155e5761155e615470565b036115ed576064611573620186a06032615941565b61157d919061596e565b8210156115c65760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116c5565b600383600381111561160157611601615470565b0361168f57611614620186a06002615941565b82101561165d5760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116c5565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c3a565b806040516116d39190615982565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061172e57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117a357602002820191906000526020600020905b81548152602001906001019080831161178f575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190615762565b6118685760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6111f0338484613db4565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa1580156118bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e09190615762565b61192c5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b61193a6064620186a061596e565b8111156119805760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c3a565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff1660058111156119bf576119bf615470565b60058111156119d0576119d0615470565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611a675760405162461bcd60e51b8152600401610c3a9061599e565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611ad657611ad6615470565b03611b3857600182602001516005811115611af357611af3615470565b14611b335760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c3a565b611be3565b6002846002811115611b4c57611b4c615470565b03611ba857600282602001516005811115611b6957611b69615470565b14611b335760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c3a565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c3a565b611c028582600001518360600151856000015186606001518833613ec5565b5050505050565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611c7b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c5d575b505050505090505b92915050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190615762565b611d125760405162461bcd60e51b8152600401610c3a906158e4565b6000848152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611d5157611d51615470565b6005811115611d6257611d62615470565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150611de25760405162461bcd60e51b8152600401610c3a9061599e565b6000858152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002886003811115611e5157611e51615470565b03611eae578460800151611e7e5783606001516001600160401b0316866001600160401b03161015611e99565b83606001516001600160401b0316866001600160401b031611155b925050506001600160401b0384166002611f93565b6001886003811115611ec257611ec2615470565b03611f25578460800151611eef5783604001516001600160401b0316866001600160401b03161115611f0a565b83604001516001600160401b0316866001600160401b031610155b925083604001516001600160401b0316915060019050611f93565b6003886003811115611f3957611f39615470565b03611f55575060019150506001600160401b0384166003611f93565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c3a565b82611fd05760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b6000806000611fe08c8686613f97565b919450925090506003846004811115611ffb57611ffb615470565b0361206857876080015161201b5780896001600160401b03161015612029565b80896001600160401b031611155b9550856120685760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b8a600381111561207a5761207a615470565b604080516001600160401b038c16815260208101849052908101859052606081018490528d907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a3505050505050505050505050565b6000546001600160a01b031633146121225760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b6011602052826000526040600020602052816000526040600020818154811061219657600080fd5b6000918252602090912001546001600160a01b0316925083915050565b6121c16064620186a061596e565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa15801561220d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122319190615762565b61224d5760405162461bcd60e51b8152600401610c3a9061577f565b6000858152600d602052604090206002600182015460ff16600581111561227657612276615470565b146122935760405162461bcd60e51b8152600401610c3a906159c8565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156122da5760405162461bcd60e51b8152600401610c3a906157a7565b61231c81600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b03166131e9565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d859060800160405180910390a25050505050505050565b6004546001600160a01b031633146124515760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c3a565b6001600160a01b038381166000908152600a602052604090205416156124b95760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c3a565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156125e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126099190615762565b6126255760405162461bcd60e51b8152600401610c3a906158e4565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916126af5760405162461bcd60e51b8152600401610c3a9061599e565b6003600184015460ff1660058111156126ca576126ca615470565b146126e75760405162461bcd60e51b8152600401610c3a906159c8565b80516001600160a01b039081166000908152600b60205260408120549091169080600189600281111561271c5761271c615470565b036129d75760006127bd846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612764573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278891906158cb565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff1661419b565b9050886001600160401b0316816001600160401b0316146128125760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160801b9091048116908216036128605760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c3a565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b815260040161299f999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b1580156129b957600080fd5b505af11580156129cd573d6000803e3d6000fd5b5050505050612b68565b60028960028111156129eb576129eb615470565b0361168f576000612a8c846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5791906158cb565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff1661426d565b9050886001600160401b0316816001600160401b031614612ae15760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160c01b909104811690821603612b2f5760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c3a565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b60018601546000906001600160401b03808a16600160701b9092041611612ba3576001870154600160701b90046001600160401b0316612ba5565b875b60018801546001600160401b0391821692506000918a8116600160701b9092041610612be5576001880154600160701b90046001600160401b0316612be7565b885b6001600160401b03169050612c2288600101600d9054906101000a900460ff168383876001600160401b0316876001600160401b03166131e9565b86546001600160401b03858116600160801b0267ffffffffffffffff60801b19918616600160c01b02919091166001600160801b03909216919091171787558a6002811115612c7357612c73615470565b866020015161ffff168d7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e6883776678b600101600d9054906101000a900460ff168e604051612cd392919091151582526001600160401b0316602082015260400190565b60405180910390a4505050505050505050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d569190615762565b612d725760405162461bcd60e51b8152600401610c3a906158e4565b6000838152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b90049092166060830152612de55760405162461bcd60e51b8152600401610c3a9061599e565b80516001600160401b0380841691161180612e155750816001600160401b031681602001516001600160401b0316105b15612e2b57612e2630856001613db4565b612e94565b6000806000612e4587866001600160401b03166004613f97565b6040805182815260208101859052908101839052929550909350915087907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb9060600160405180910390a25050505b50505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f079190615762565b612f235760405162461bcd60e51b8152600401610c3a9061577f565b6000838152600d602052604090208054612f4f5760405162461bcd60e51b8152600401610c3a9061599e565b6003600182015460ff166005811115612f6a57612f6a615470565b14612f875760405162461bcd60e51b8152600401610c3a906159c8565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015613074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130989190615762565b6130b45760405162461bcd60e51b8152600401610c3a906158e4565b6111f08360018484613720565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff16600581111561312557613125615470565b600581111561313657613136615470565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b8284111561322b5760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c3a565b81158061324457508461324057838210613244565b8282115b61327b5760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c3a565b80158061329457508461329057828111613294565b8381105b611c025760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c3a565b6000806132d7846113d9565b90506132e58585858461252d565b6000818152600c60205260408120805492945091600160b01b900463ffffffff169003613433578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f8260405161342a919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50509392505050565b80156111f0576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015613489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134ad91906158cb565b90506134c46001600160a01b03851684308561432a565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561350b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061352f91906158cb565b90508261353c83836159ed565b14611c025760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c3a565b6001600160a01b03811660009081526016602052604090205460010361134057601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b03831660009081526009602052604081208184600381111561362857613628615470565b600381111561363957613639615470565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b03168152602001908152602001600020600085600381111561368557613685615470565b600381111561369657613696615470565b81526020810191909152604001600020556136bb6001600160a01b0385168383614391565b816001600160a01b03168360038111156136d7576136d7615470565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161371291815260200190565b60405180910390a450505050565b6000848152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152878452600d8352818420825160e0810190935280548352600181015491949390919083019060ff1660058111156137a9576137a9615470565b60058111156137ba576137ba615470565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a090910152805190915061383a5760405162461bcd60e51b8152600401610c3a9061599e565b6000868152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138bf5760405162461bcd60e51b8152600401610c3a906157a7565b8560058111156138d1576138d1615470565b826020015160058111156138e7576138e7615470565b146139045760405162461bcd60e51b8152600401610c3a906159c8565b600186600581111561391857613918615470565b036139bc5782516001600160401b038087169116118061394d5750846001600160401b031683602001516001600160401b0316105b156139b7576040516001600160401b038616815287907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139af8782600001518360600151856000015186606001518930613ec5565b505050612e94565b613a42565b60028660058111156139d0576139d0615470565b0361168f5782516001600160401b03808716911611801590613a085750846001600160401b031683602001516001600160401b031610155b6139b75760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c3a565b80516001600160a01b039081166000908152600b6020526040812054606085015160808601519190931692613a7c918b9185918b8a6143c2565b9050816001600160a01b03166352713f678a85606001518660200151886000015189606001518a6080015188604001518f6040518963ffffffff1660e01b8152600401613b229897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af1925050508015613b5c575060408051601f3d908101601f19168201909252613b5991810190615a00565b60015b613c6057613b68615a24565b806308c379a003613ba15750613b7c615a40565b80613b875750613ba3565b8060405162461bcd60e51b8152600401610c3a91906152ce565b505b3d808015613bcd576040519150601f19603f3d011682016040523d82523d6000602084013e613bd2565b606091505b50632eb752bf60e21b613be482615ac9565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b90613c319085908590615b00565b60405180910390a2613c588c876000015188606001518a600001518b606001518e30613ec5565b505050613da9565b60008b8152600d602090815260408083206001810180546001600160401b038f16600160701b0267ffffffffffffffff60701b19909116179055895160109093529220558651613cb19084906159ed565b8155600180820180546001600160401b0342166101000268ffffffffffffffffff199091161760031790558651613cf4918e9190613cef86886159ed565b614745565b85516001600160a01b038082166000908152600a6020526040902054613d1c929116846147f9565b60008c8152600f60205260408082209190915584810151606086015191518e927fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf8192613d9d928f9290899089906001600160401b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b60405180910390a25050505b505050505050505050565b6000828152600d6020526040902054613ddf5760405162461bcd60e51b8152600401610c3a9061599e565b6000828152600f60205260408120556001816001811115613e0257613e02615470565b03611ba85760046000838152600d602052604090206001015460ff166005811115613e2f57613e2f615470565b14613e4c5760405162461bcd60e51b8152600401610c3a906159c8565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613f0d613f078663ffffffff8716614813565b8461482b565b9050613f1c8888600384614745565b613f258661483b565b613f2f8689614992565b6000613f3b82876159ed565b9050613f488888836147f9565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613f8491815260200190565b60405180910390a3505050505050505050565b6000838152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081613fff886130c1565b80519091506140205760405162461bcd60e51b8152600401610c3a9061599e565b6000806000806140338c87878e8e614abd565b935093509350935084600001518311156140b5578451600090620186a061405a82876159ed565b6140649190615941565b61406e919061596e565b90506007548111156140b35760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c3a565b505b81975082985080965084600001518411156141125760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c3a565b6141238c8760000151600287614745565b614130866060015161483b565b61413e86606001518d614992565b60008c8152600d6020908152604080832083815560010180546001600160d01b0319169055600e8252808320839055601090915281205560608601518651865161418c9291908c9088614b6f565b50505050505093509350939050565b60006001600160401b03831615806141c557508560070b6141bf8787868689614cd8565b60070b12155b15614261576000620186a0856001600160401b03166064896001600160401b0316896001600160401b03166141fa9190615941565b6142049190615941565b61420e919061596e565b614218919061596e565b90508261424f57856001600160401b0316816001600160401b03161115614240576000614259565b61424a8187615b1e565b614259565b6142598187615b3e565b915050614264565b50815b95945050505050565b60006001600160401b03831615806142a2575060065461428f90600019615b5e565b61429c8787868689614cd8565b60070b13155b15614261576000620186a0856001600160401b03166064600654896001600160401b03166142d09190615941565b6142da9190615941565b6142e4919061596e565b6142ee919061596e565b9050826142ff5761424a8187615b3e565b856001600160401b0316816001600160401b03161115614320576000614259565b6142598187615b1e565b6040516001600160a01b038481166024830152838116604483015260648201839052612e949186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614d64565b6040516001600160a01b038381166024830152604482018390526111f091859182169063a9059cbb9060640161435f565b6040805160808101825260008082526020820181905291810182905260608101919091526000866001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061444a91906158cb565b6000898152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b90049091166060820152935090915015806144bd575060408301516001600160401b0316155b6145095760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60608201516001600160401b0316158061452e575060608301516001600160401b0316155b61457a5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60408301516001600160401b0316156145f45760006145a48585604001518963ffffffff16614dc7565b9050856145da57846001600160401b0316816001600160401b0316106145cb5760006145e4565b6145d58186615b1e565b6145e4565b6145e48186615b3e565b6001600160401b03166040840152505b60608301516001600160401b03161561466e57600061461e8585606001518963ffffffff16614dc7565b9050856146345761462f8186615b3e565b61465e565b846001600160401b0316816001600160401b03161061465457600061465e565b61465e8186615b1e565b6001600160401b03166060840152505b61468581858863ffffffff1685604001518961419b565b6001600160401b0390811660408401524216825260608201516146b4908290869063ffffffff8a16908961426d565b6001600160401b0390811660608401908152428216602080860191825260009b8c52600e905260409a8b90208551815492519c87015193518516600160c01b026001600160c01b03948616600160801b02949094166001600160801b039d8616600160401b026001600160801b03199094169190951617919091179a909a1691909117179097559695505050505050565b8015612e94576001600160a01b0383166000908152600960205260408120829184600381111561477757614777615470565b600381111561478857614788615470565b815260200190815260200160002060008282546147a59190615b8e565b9091555082905060038111156147bd576147bd615470565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161371291815260200190565b80156111f0576111f06001600160a01b0384168383614391565b600060646148218385615941565b61146c919061596e565b6000620186a06148218385615941565b6001600160a01b0381166000908152601660205260409020546001036113405760135460011015614943576001600160a01b0381166000908152601460205260409020546013805461488f906001906159ed565b8154811061489f5761489f615ba1565b6000918252602090912001546001600160a01b031660136148c16001846159ed565b815481106148d1576148d1615ba1565b6000918252602082200180546001600160a01b0319166001600160a01b0393909316929092179091558190601490601361490c6001856159ed565b8154811061491c5761491c615ba1565b60009182526020808320909101546001600160a01b03168352820192909252604001902055505b6001600160a01b038116600090815260146020526040812055601380548061496d5761496d615bb7565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6001600160a01b038216600090815260176020908152604080832084845290915290205480156111f0576001600160a01b0383166000908152601660205260408120906149e06001846159ed565b82549091506149f1906001906159ed565b811015614a6d5781546000908390614a0b906001906159ed565b81548110614a1b57614a1b615ba1565b9060005260206000200154905080838381548110614a3b57614a3b615ba1565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b81805480614a7d57614a7d615bb7565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d3168892614b19928e92908d908d908d90600401615bcd565b6080604051808303816000875af1158015614b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b5c9190615c24565b929c919b50995090975095505050505050565b6001600160a01b038085166000908152600a602052604081205490911690838510614c1857614b9e83856159ed565b90506000614bac82876159ed565b6040516321d4911360e01b81526001600160a01b038a8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b158015614bfa57600080fd5b505af1158015614c0e573d6000803e3d6000fd5b5050505050614cc4565b50836000614c2682866159ed565b905083811115614c4957614c448784614c3f87856159ed565b6147f9565b614cc2565b6001600160a01b0383166321d4911330614c6384886159ed565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614ca957600080fd5b505af1158015614cbd573d6000803e3d6000fd5b505050505b505b614ccf8688836147f9565b50505050505050565b6000858184614cf057614ceb8688615c5a565b614cfa565b614cfa8787615c5a565b905060008460070b620186a08360070b614d149190615b5e565b614d1e9190615b5e565b90506000600789900b614d32606484615c89565b614d3c9190615c89565b90508094508360070b8560070b13614d545784614d56565b835b9a9950505050505050505050565b6000614d796001600160a01b03841683614e16565b90508051600014158015614d9e575080806020019051810190614d9c9190615762565b155b156111f057604051635274afe760e01b81526001600160a01b0384166004820152602401610c3a565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614df89190615941565b614e029190615941565b614e0c919061596e565b614264919061596e565b606061146c8383600084600080856001600160a01b03168486604051614e3c9190615982565b60006040518083038185875af1925050503d8060008114614e79576040519150601f19603f3d011682016040523d82523d6000602084013e614e7e565b606091505b5091509150614e8e868383614e98565b9695505050505050565b606082614ead57614ea882614ef4565b61146c565b8151158015614ec457506001600160a01b0384163b155b15614eed57604051639996b31560e01b81526001600160a01b0385166004820152602401610c3a565b508061146c565b805115614f045780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6003811061134057600080fd5b606081018181106001600160401b0382111715614f5757634e487b7160e01b600052604160045260246000fd5b60405250565b601f8201601f191681016001600160401b0381118282101715614f9057634e487b7160e01b600052604160045260246000fd5b6040525050565b60405161012081016001600160401b0381118282101715614fc857634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b038116811461134057600080fd5b803561ffff81168114614ff557600080fd5b919050565b801515811461134057600080fd5b8035614ff581614ffa565b803563ffffffff81168114614ff557600080fd5b80356001600160401b0381168114614ff557600080fd5b6000806000808486036101c081121561505657600080fd5b853561506181614f1d565b94506060601f198201121561507557600080fd5b60405161508181614f2a565b602087013561508f81614fce565b815261509d60408801614fe3565b602082015260608701356150b081614fce565b60408201529350610120607f1982018113156150cb57600080fd5b6150d3614f97565b91506150e160808801615008565b825260a087013560208301526150f960c08801615013565b604083015261510a60e08801615027565b606083015261010061511d818901615027565b608084015261512d828901615027565b60a084015261513f6101408901615027565b60c08401526151516101608901615027565b60e08401526151636101808901615027565b908301525091506151776101a08601615013565b905092959194509250565b60006020828403121561519457600080fd5b813561146c81614fce565b6000602082840312156151b157600080fd5b5035919050565b6004811061134057600080fd5b6000806000606084860312156151da57600080fd5b83356151e581614fce565b925060208401356151f5816151b8565b9150604084013561520581614fce565b809150509250925092565b60008060006060848603121561522557600080fd5b8335925061523560208501615027565b9150604084013590509250925092565b6000806040838503121561525857600080fd5b8235615263816151b8565b946020939093013593505050565b6000806040838503121561528457600080fd5b823561528f81614fce565b9150602083013561529f816151b8565b809150509250929050565b60005b838110156152c55781810151838201526020016152ad565b50506000910152565b60208152600082518060208401526152ed8160408501602087016152aa565b601f01601f19169190910160400192915050565b6000806040838503121561531457600080fd5b823561526381614fce565b6020808252825182820181905260009190848201906040850190845b818110156153575783518352928401929184019160010161533b565b50909695505050505050565b60008060006060848603121561537857600080fd5b8335925060208401356002811061538e57600080fd5b929592945050506040919091013590565b6000806000606084860312156153b457600080fd5b83359250602084013561538e81614f1d565b6020808252825182820181905260009190848201906040850190845b818110156153575783516001600160a01b0316835292840192918401916001016153e2565b6000806000806080858703121561541d57600080fd5b84359350602085013561542f816151b8565b925061543d60408601615027565b915061517760608601615027565b6000806040838503121561545e57600080fd5b82359150602083013561529f81614ffa565b634e487b7160e01b600052602160045260246000fd5b6006811061549657615496615470565b9052565b87815260e081016154ae6020830189615486565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b60008060006060848603121561550457600080fd5b833561550f81614fce565b95602085013595506040909401359392505050565b60a081016155328288615486565b6001600160401b0395909516602082015261ffff939093166040840152901515606083015263ffffffff16608090910152919050565b600080600080600060a0868803121561558057600080fd5b8535945061559060208701615027565b935061559e60408701615027565b92506155ac60608701615027565b91506155ba60808701615027565b90509295509295909350565b6000806000606084860312156155db57600080fd5b83356155e681614fce565b925060208401356151f581614fce565b6000806000806080858703121561560c57600080fd5b843561561781614fce565b9350602085013561562781614fce565b925061563560408601614fe3565b915061517760608601615013565b6000806000806080858703121561565957600080fd5b84359350602085013561542f81614f1d565b60008060006060848603121561568057600080fd5b8335925061569060208501615027565b915061569e60408501615027565b90509250925092565b6000806000606084860312156156bc57600080fd5b83356156c781614fce565b9250602084013561538e81614fce565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611c8382846156d7565b6060810161573a8286615486565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b60006020828403121561577457600080fd5b815161146c81614ffa565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101c081016157db8287615486565b60018060a01b0380865116602084015261ffff602087015116604084015280604087015116606084015250835115156080830152602084015160a083015263ffffffff60408501511660c0830152606084015161584360e08401826001600160401b03169052565b506080840151610100615860818501836001600160401b03169052565b60a08601516001600160401b0390811661012086015260c0870151811661014086015260e0870151811661016086015290860151166101808401525063ffffffff83166101a0830152614264565b6000602082840312156158c057600080fd5b815161146c81614fce565b6000602082840312156158dd57600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff81811683821601908082111561593a5761593a615907565b5092915050565b8082028115828204841417611c8357611c83615907565b634e487b7160e01b600052601260045260246000fd5b60008261597d5761597d615958565b500490565b600082516159948184602087016152aa565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611c8357611c83615907565b60008060408385031215615a1357600080fd5b505080516020909101519092909150565b600060033d1115615a3d5760046000803e5060005160e01c5b90565b600060443d1015615a4e5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615a7d57505050505090565b8285019150815181811115615a955750505050505090565b843d8701016020828501011115615aaf5750505050505090565b615abe60208286010187614f5d565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615af85780818460040360031b1b83161693505b505050919050565b6040810160128410615b1457615b14615470565b9281526020015290565b6001600160401b0382811682821603908082111561593a5761593a615907565b6001600160401b0381811683821601908082111561593a5761593a615907565b80820260008212600160ff1b84141615615b7a57615b7a615907565b8181058314821517611c8357611c83615907565b80820180821115611c8357611c83615907565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8681526001600160a01b038616602082015261ffff851660408201526101408101615bfb60608301866156d7565b8361010083015260058310615c1257615c12615470565b82610120830152979650505050505050565b60008060008060808587031215615c3a57600080fd5b505082516020840151604085015160609095015191969095509092509050565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611c8357611c83615907565b600082615c9857615c98615958565b600160ff1b821460001984141615615cb257615cb2615907565b50059056fea2646970667358221220b43098b43b7232d11be76d359d4c365590cd15529b6fc54a21b6245dffeff32664736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -1 +1 @@
1
- {"version":3,"file":"TradingFloorV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TradingFloorV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class TradingFloorLens__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): TradingFloorLens__factory;
17
- static readonly bytecode = "0x608060405234801561001057600080fd5b50612499806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639a59cb491161005b5780639a59cb49146100eb578063a40d72681461010b578063a6510cf114610196578063e9403cd8146101a957600080fd5b806305870ea8146100825780636ff52a73146100ab578063796da7e2146100cb575b600080fd5b61009561009036600461182d565b610207565b6040516100a29190611873565b60405180910390f35b6100be6100b9366004611952565b6102be565b6040516100a29190611b89565b6100de6100d9366004611b9c565b6102d1565b6040516100a29190611bae565b6100fe6100f9366004611bf6565b610543565b6040516100a29190611c22565b610188610119366004611c53565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6040519081526020016100a2565b6100956101a4366004611caf565b610555565b6101bc6101b7366004611d35565b610d39565b6040805182516001600160a01b0316815260208084015161ffff9081169183019190915283830151169181019190915260609182015163ffffffff16918101919091526080016100a2565b61023f6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b6040805160008152602081019182905263a6510cf160e01b909152309063a6510cf19061027190859060248101611d68565b6000604051808303816000875af1158015610290573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102b89190810190611eda565b92915050565b60606102ca8383610d66565b9392505050565b6102fe60405180608001604052806060815260200160008152602001600081526020016000151581525090565b81604001356001600160401b0381111561031a5761031a611d52565b60405190808252806020026020018201604052801561035357816020015b610340611749565b8152602001906001900390816103385790505b508152600060208083018290528301803560408401526103739084611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190612026565b90505b80826040015110156105365782604001358260200151106103f85750919050565b60006104076020850185611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b815260040161043891815260200190565b602060405180830381865afa158015610455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610479919061203f565b9050600061049361048d6020870187611d35565b83610d66565b90508460400135815185602001516104ab9190612072565b11156104b957505050919050565b60005b815181101561051b578181815181106104d7576104d7612085565b602002602001015185600001518660200180518091906104f69061209b565b90528151811061050857610508612085565b60209081029190910101526001016104bc565b5050506040820180519061052e8261209b565b9052506103d7565b5060016060820152919050565b61054b611749565b6102ca8383610ebe565b61058d6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b83606001356001600160401b038111156105a9576105a9611d52565b60405190808252806020026020018201604052801561060257816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282526000199092019101816105c75790505b508152600060208083019190915284013560408083019190915261062c90606086019086016120b4565b61ffff16606082015260006106446020860186611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190612026565b90505b8082604001511015610d2a5760006106c36020870187611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b81526004016106f491815260200190565b602060405180830381865afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610735919061203f565b905060006107466020880188611d35565b604051633b17a49760e01b81526001600160a01b0384811660048301529190911690633b17a49790602401600060405180830381865afa15801561078e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b691908101906120d1565b90505b8051846060015161ffff161015610d095786606001358460200151106107e1575050506102ca565b600081856060015161ffff16815181106107fd576107fd612085565b60200260200101519050600088600001602081019061081c9190611d35565b6001600160a01b0316638f7a8fb5836040518263ffffffff1660e01b815260040161084991815260200190565b60e060405180830381865afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612156565b90506000816020015160058111156108a4576108a4611849565b036108b0575050610ced565b60008781036108c157506001610942565b60005b60ff81168911156109405789898260ff168181106108e4576108e4612085565b90506020020160208101906108f99190612204565b600581111561090a5761090a611849565b8360200151600581111561092057610920611849565b0361092e5760019150610940565b8061093881612221565b9150506108c4565b505b8061094f57505050610ced565b600061095e60208c018c611d35565b6001600160a01b031663042e37c5856040518263ffffffff1660e01b815260040161098b91815260200190565b608060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc9190612240565b905060006109dd60208d018d611d35565b82516040516303b90a8760e01b81526001600160a01b0391821660048201529116906303b90a8790602401602060405180830381865afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a49919061203f565b90506000610a5a60208e018e611d35565b6001600160a01b03166366307a4f876040518263ffffffff1660e01b8152600401610a8791815260200190565b608060405180830381865afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612307565b83519091506001600160a01b031615801590610af1575060008560a001516001600160401b0316115b15610ce6576040805160a081018252600060208083018281529383018290526060830182905260808301919091528882528701519091906005811115610b3957610b39611849565b90816005811115610b4c57610b4c611849565b81525050826001600160a01b0316637f7c41388886602001518960a0015186604001518b608001518c600001518d606001516040518863ffffffff1660e01b8152600401610ba09796959493929190612323565b6020604051808303816000875af1158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190612026565b81608001906001600160401b031690816001600160401b031681525050600080846001600160a01b0316637dd29a668a88602001518b608001518c600001518d606001518e60a001518b604001516040518863ffffffff1660e01b8152600401610c539796959493929190612369565b60408051808303816000875af1158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9591906123af565b915091508183606001818152505080836040018181525050828d600001518e6020018051809190610cc59061209b565b905281518110610cd757610cd7612085565b60200260200101819052505050505b5050505050505b60608401805190610cfd826123d3565b61ffff169052506107b9565b50506000606083015260408201805190610d228261209b565b9052506106a8565b50600160808201529392505050565b6040805160808101825260008082526020820181905291810182905260608101919091526102b8826115c5565b604051633b17a49760e01b81526001600160a01b038281166004830152606091600091851690633b17a49790602401600060405180830381865afa158015610db2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dda91908101906120d1565b905080516001600160401b03811115610df557610df5611d52565b604051908082528060200260200182016040528015610e2e57816020015b610e1b611749565b815260200190600190039081610e135790505b5091506000805b8251811015610eb5576000610e6387858481518110610e5657610e56612085565b6020026020010151610ebe565b905060008160c001516005811115610e7d57610e7d611849565b14610eac57808584610e8e8161209b565b955081518110610ea057610ea0612085565b60200260200101819052505b50600101610e35565b50505092915050565b610ec6611749565b604051638f7a8fb560e01b8152600481018390526000906001600160a01b03851690638f7a8fb59060240160e060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190612156565b9050600081602001516005811115610f4c57610f4c611849565b03610f5757506102b8565b60405163042e37c560e01b8152600481018490526000906001600160a01b0386169063042e37c590602401608060405180830381865afa158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc39190612240565b60405163ddf474f160e01b8152600481018690529091506000906001600160a01b0387169063ddf474f190602401608060405180830381865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190612307565b6040516366307a4f60e01b8152600481018790529091506000906001600160a01b038816906366307a4f90602401608060405180830381865afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190612307565b86865283516001600160a01b039081166020808901919091526060808701519092166040808a01919091528187015161ffff16928901929092529085015163ffffffff166080880152855160a088015285015190915060c0860190600581111561110d5761110d611849565b9081600581111561112057611120611849565b9052506040808501516001600160401b0390811660e088015260608087015163ffffffff9081166101008a0152608088015115156101208a015260a088015183166101408a015260c0880151166101608901528451821661018089015260208086015183166101a08a0152928401518216610200890152835182166101c0890152830151811661022088015290820151166101e086015282516001600160a01b0316158015906111de575060008561014001516001600160401b0316115b156113b55782516040516303b90a8760e01b81526001600160a01b0391821660048201526000918916906303b90a8790602401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611252919061203f565b9050806001600160a01b0316637f7c41388888606001518961014001518a61020001518b61012001518c60a001518d61010001516040518863ffffffff1660e01b81526004016112a89796959493929190612323565b6020604051808303816000875af11580156112c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112eb9190612026565b8661030001906001600160401b031690816001600160401b031681525050600080826001600160a01b0316637dd29a668a8a606001518b61012001518c60a001518d61010001518e61014001518f61020001516040518863ffffffff1660e01b81526004016113609796959493929190612369565b60408051808303816000875af115801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906123af565b6102e08a01919091526102c08901525050505b6000876001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611419919061203f565b6001600160a01b0316637bbb19dc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a919061203f565b90506000816001600160a01b031663776af5ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e0919061203f565b6001600160a01b031663e10b8c32896040518263ffffffff1660e01b815260040161150d91815260200190565b60a060405180830381865afa15801561152a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154e91906123f4565b60408101516001600160401b03166102608901526020810151909150610240880190600381111561158157611581611849565b9081600381111561159457611594611849565b90525060608101516001600160401b03908116610280890152608090910151166102a0870152505050505092915050565b604080516080810182526000602080830182905282840182905260608301919091526001600160a01b038416808352835163ece938cf60e01b8152935192938593919263ece938cf926004808401938290030181865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190612026565b61ffff166020808401919091526040805163f51f3fd360e01b815290516001600160a01b0384169263f51f3fd392600480820193918290030181865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190612026565b826040019061ffff16908161ffff1681525050806001600160a01b031663825714096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117389190612026565b63ffffffff16606083015250919050565b6040805161032081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e0810182905261030081019190915290565b60006080828403121561182757600080fd5b50919050565b60006080828403121561183f57600080fd5b6102ca8383611815565b634e487b7160e01b600052602160045260246000fd5b6006811061186f5761186f611849565b9052565b6020808252825160a0838301819052815160c0850181905260009392830191849160e08701905b808410156118f457845180518352868101516118b88885018261185f565b5060408181015190840152606080820151908401526080908101516001600160401b03169083015293850193600193909301929082019061189a565b50848801516040880152604088015160608801526060880151945061191f608088018661ffff169052565b608088015180151560a089015294505b979650505050505050565b6001600160a01b038116811461194f57600080fd5b50565b6000806040838503121561196557600080fd5b82356119708161193a565b915060208301356119808161193a565b809150509250929050565b6004811061186f5761186f611849565b8051825260208101516119b960208401826001600160a01b03169052565b5060408101516119d460408401826001600160a01b03169052565b5060608101516119ea606084018261ffff169052565b506080810151611a02608084018263ffffffff169052565b5060a081015160a083015260c0810151611a1f60c084018261185f565b5060e0810151611a3a60e08401826001600160401b03169052565b506101008181015163ffffffff9081169184019190915261012080830151151590840152610140808301516001600160401b03908116918501919091526101608084015190921691840191909152610180808301518216908401526101a0808301518216908401526101c0808301518216908401526101e08083015182169084015261020080830151821690840152610220808301519091169083015261024080820151611aea8285018261198b565b5050610260818101516001600160401b0390811691840191909152610280808301518216908401526102a0808301518216908401526102c080830151908401526102e080830151908401526103009182015116910152565b60008151808452602080850194506020840160005b83811015611b7e57611b6a87835161199b565b610320969096019590820190600101611b57565b509495945050505050565b6020815260006102ca6020830184611b42565b60006060828403121561182757600080fd5b602081526000825160806020840152611bca60a0840182611b42565b905060208401516040840152604084015160608401526060840151151560808401528091505092915050565b60008060408385031215611c0957600080fd5b8235611c148161193a565b946020939093013593505050565b61032081016102b8828461199b565b61ffff8116811461194f57600080fd5b63ffffffff8116811461194f57600080fd5b60008060008060808587031215611c6957600080fd5b8435611c748161193a565b93506020850135611c848161193a565b92506040850135611c9481611c31565b91506060850135611ca481611c41565b939692955090935050565b600080600060a08486031215611cc457600080fd5b611cce8585611815565b925060808401356001600160401b0380821115611cea57600080fd5b818601915086601f830112611cfe57600080fd5b813581811115611d0d57600080fd5b8760208260051b8501011115611d2257600080fd5b6020830194508093505050509250925092565b600060208284031215611d4757600080fd5b81356102ca8161193a565b634e487b7160e01b600052604160045260246000fd5b600060a082018435611d798161193a565b6001600160a01b03168352602085810135818501526040860135611d9c81611c31565b61ffff1660408501526060868101359085015260a06080850152845191829052602085019160c085019060005b81811015611dec57611ddc83865161185f565b9383019391830191600101611dc9565b5090979650505050505050565b60405160a081016001600160401b0381118282101715611e1b57611e1b611d52565b60405290565b604051608081016001600160401b0381118282101715611e1b57611e1b611d52565b604051601f8201601f191681016001600160401b0381118282101715611e6b57611e6b611d52565b604052919050565b60006001600160401b03821115611e8c57611e8c611d52565b5060051b60200190565b6006811061194f57600080fd5b80516001600160401b0381168114611eba57600080fd5b919050565b8051611eba81611c31565b80518015158114611eba57600080fd5b60006020808385031215611eed57600080fd5b82516001600160401b0380821115611f0457600080fd5b818501915060a0808388031215611f1a57600080fd5b611f22611df9565b835183811115611f3157600080fd5b84019250601f83018813611f4457600080fd5b8251611f57611f5282611e73565b611e43565b81815260a09091028401860190868101908a831115611f7557600080fd5b948701945b82861015611fe35784868c031215611f925760008081fd5b611f9a611df9565b8651815288870151611fab81611e96565b818a015260408781015190820152606080880151908201526080611fd0818901611ea3565b9082015282529484019490870190611f7a565b8352505083850151858201526040808501519082015261200560608501611ebf565b606082015261201660808501611eca565b6080820152979650505050505050565b60006020828403121561203857600080fd5b5051919050565b60006020828403121561205157600080fd5b81516102ca8161193a565b634e487b7160e01b600052601160045260246000fd5b808201808211156102b8576102b861205c565b634e487b7160e01b600052603260045260246000fd5b6000600182016120ad576120ad61205c565b5060010190565b6000602082840312156120c657600080fd5b81356102ca81611c31565b600060208083850312156120e457600080fd5b82516001600160401b038111156120fa57600080fd5b8301601f8101851361210b57600080fd5b8051612119611f5282611e73565b81815260059190911b8201830190838101908783111561213857600080fd5b928401925b8284101561192f5783518252928401929084019061213d565b600060e0828403121561216857600080fd5b60405160e081018181106001600160401b038211171561218a5761218a611d52565b60405282518152602083015161219f81611e96565b60208201526121b060408401611ea3565b604082015260608301516121c381611c41565b60608201526121d460808401611eca565b60808201526121e560a08401611ea3565b60a082015260c08301516121f881611c41565b60c08201529392505050565b60006020828403121561221657600080fd5b81356102ca81611e96565b600060ff821660ff81036122375761223761205c565b60010192915050565b60006080828403121561225257600080fd5b61225a611e21565b82516122658161193a565b8152602083015161227581611c31565b6020820152604083015161228881611c41565b6040820152606083015161229b8161193a565b60608201529392505050565b6000608082840312156122b957600080fd5b6122c1611e21565b90506122cc82611ea3565b81526122da60208301611ea3565b60208201526122eb60408301611ea3565b60408201526122fc60608301611ea3565b606082015292915050565b60006080828403121561231957600080fd5b6102ca83836122a7565b96875261ffff9590951660208701526001600160401b039384166040870152919092166060850152901515608084015260a083015263ffffffff1660c082015260e00190565b96875261ffff9590951660208701529215156040860152606085019190915263ffffffff1660808401526001600160401b0390811660a08401521660c082015260e00190565b600080604083850312156123c257600080fd5b505080516020909101519092909150565b600061ffff8083168181036123ea576123ea61205c565b6001019392505050565b600060a0828403121561240657600080fd5b61240e611df9565b8251815260208301516004811061242457600080fd5b602082015261243560408401611ea3565b604082015261244660608401611ea3565b606082015261245760808401611ea3565b6080820152939250505056fea264697066735822122044f8d0d22996fe7a5b370f3bfca3698639be01a17f5bb313279f2f11f2d8ba0664736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50612499806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639a59cb491161005b5780639a59cb49146100eb578063a40d72681461010b578063a6510cf114610196578063e9403cd8146101a957600080fd5b806305870ea8146100825780636ff52a73146100ab578063796da7e2146100cb575b600080fd5b61009561009036600461182d565b610207565b6040516100a29190611873565b60405180910390f35b6100be6100b9366004611952565b6102be565b6040516100a29190611b89565b6100de6100d9366004611b9c565b6102d1565b6040516100a29190611bae565b6100fe6100f9366004611bf6565b610543565b6040516100a29190611c22565b610188610119366004611c53565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6040519081526020016100a2565b6100956101a4366004611caf565b610555565b6101bc6101b7366004611d35565b610d39565b6040805182516001600160a01b0316815260208084015161ffff9081169183019190915283830151169181019190915260609182015163ffffffff16918101919091526080016100a2565b61023f6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b6040805160008152602081019182905263a6510cf160e01b909152309063a6510cf19061027190859060248101611d68565b6000604051808303816000875af1158015610290573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102b89190810190611eda565b92915050565b60606102ca8383610d66565b9392505050565b6102fe60405180608001604052806060815260200160008152602001600081526020016000151581525090565b81604001356001600160401b0381111561031a5761031a611d52565b60405190808252806020026020018201604052801561035357816020015b610340611749565b8152602001906001900390816103385790505b508152600060208083018290528301803560408401526103739084611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d49190612026565b90505b80826040015110156105365782604001358260200151106103f85750919050565b60006104076020850185611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b815260040161043891815260200190565b602060405180830381865afa158015610455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610479919061203f565b9050600061049361048d6020870187611d35565b83610d66565b90508460400135815185602001516104ab9190612072565b11156104b957505050919050565b60005b815181101561051b578181815181106104d7576104d7612085565b602002602001015185600001518660200180518091906104f69061209b565b90528151811061050857610508612085565b60209081029190910101526001016104bc565b5050506040820180519061052e8261209b565b9052506103d7565b5060016060820152919050565b61054b611749565b6102ca8383610ebe565b61058d6040518060a00160405280606081526020016000815260200160008152602001600061ffff1681526020016000151581525090565b83606001356001600160401b038111156105a9576105a9611d52565b60405190808252806020026020018201604052801561060257816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282526000199092019101816105c75790505b508152600060208083019190915284013560408083019190915261062c90606086019086016120b4565b61ffff16606082015260006106446020860186611d35565b6001600160a01b0316632457bc3a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610681573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a59190612026565b90505b8082604001511015610d2a5760006106c36020870187611d35565b6001600160a01b031663135e563d84604001516040518263ffffffff1660e01b81526004016106f491815260200190565b602060405180830381865afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610735919061203f565b905060006107466020880188611d35565b604051633b17a49760e01b81526001600160a01b0384811660048301529190911690633b17a49790602401600060405180830381865afa15801561078e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b691908101906120d1565b90505b8051846060015161ffff161015610d095786606001358460200151106107e1575050506102ca565b600081856060015161ffff16815181106107fd576107fd612085565b60200260200101519050600088600001602081019061081c9190611d35565b6001600160a01b0316638f7a8fb5836040518263ffffffff1660e01b815260040161084991815260200190565b60e060405180830381865afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612156565b90506000816020015160058111156108a4576108a4611849565b036108b0575050610ced565b60008781036108c157506001610942565b60005b60ff81168911156109405789898260ff168181106108e4576108e4612085565b90506020020160208101906108f99190612204565b600581111561090a5761090a611849565b8360200151600581111561092057610920611849565b0361092e5760019150610940565b8061093881612221565b9150506108c4565b505b8061094f57505050610ced565b600061095e60208c018c611d35565b6001600160a01b031663042e37c5856040518263ffffffff1660e01b815260040161098b91815260200190565b608060405180830381865afa1580156109a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cc9190612240565b905060006109dd60208d018d611d35565b82516040516303b90a8760e01b81526001600160a01b0391821660048201529116906303b90a8790602401602060405180830381865afa158015610a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a49919061203f565b90506000610a5a60208e018e611d35565b6001600160a01b03166366307a4f876040518263ffffffff1660e01b8152600401610a8791815260200190565b608060405180830381865afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612307565b83519091506001600160a01b031615801590610af1575060008560a001516001600160401b0316115b15610ce6576040805160a081018252600060208083018281529383018290526060830182905260808301919091528882528701519091906005811115610b3957610b39611849565b90816005811115610b4c57610b4c611849565b81525050826001600160a01b0316637f7c41388886602001518960a0015186604001518b608001518c600001518d606001516040518863ffffffff1660e01b8152600401610ba09796959493929190612323565b6020604051808303816000875af1158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190612026565b81608001906001600160401b031690816001600160401b031681525050600080846001600160a01b0316637dd29a668a88602001518b608001518c600001518d606001518e60a001518b604001516040518863ffffffff1660e01b8152600401610c539796959493929190612369565b60408051808303816000875af1158015610c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9591906123af565b915091508183606001818152505080836040018181525050828d600001518e6020018051809190610cc59061209b565b905281518110610cd757610cd7612085565b60200260200101819052505050505b5050505050505b60608401805190610cfd826123d3565b61ffff169052506107b9565b50506000606083015260408201805190610d228261209b565b9052506106a8565b50600160808201529392505050565b6040805160808101825260008082526020820181905291810182905260608101919091526102b8826115c5565b604051633b17a49760e01b81526001600160a01b038281166004830152606091600091851690633b17a49790602401600060405180830381865afa158015610db2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dda91908101906120d1565b905080516001600160401b03811115610df557610df5611d52565b604051908082528060200260200182016040528015610e2e57816020015b610e1b611749565b815260200190600190039081610e135790505b5091506000805b8251811015610eb5576000610e6387858481518110610e5657610e56612085565b6020026020010151610ebe565b905060008160c001516005811115610e7d57610e7d611849565b14610eac57808584610e8e8161209b565b955081518110610ea057610ea0612085565b60200260200101819052505b50600101610e35565b50505092915050565b610ec6611749565b604051638f7a8fb560e01b8152600481018390526000906001600160a01b03851690638f7a8fb59060240160e060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f329190612156565b9050600081602001516005811115610f4c57610f4c611849565b03610f5757506102b8565b60405163042e37c560e01b8152600481018490526000906001600160a01b0386169063042e37c590602401608060405180830381865afa158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc39190612240565b60405163ddf474f160e01b8152600481018690529091506000906001600160a01b0387169063ddf474f190602401608060405180830381865afa15801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190612307565b6040516366307a4f60e01b8152600481018790529091506000906001600160a01b038816906366307a4f90602401608060405180830381865afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190612307565b86865283516001600160a01b039081166020808901919091526060808701519092166040808a01919091528187015161ffff16928901929092529085015163ffffffff166080880152855160a088015285015190915060c0860190600581111561110d5761110d611849565b9081600581111561112057611120611849565b9052506040808501516001600160401b0390811660e088015260608087015163ffffffff9081166101008a0152608088015115156101208a015260a088015183166101408a015260c0880151166101608901528451821661018089015260208086015183166101a08a0152928401518216610200890152835182166101c0890152830151811661022088015290820151166101e086015282516001600160a01b0316158015906111de575060008561014001516001600160401b0316115b156113b55782516040516303b90a8760e01b81526001600160a01b0391821660048201526000918916906303b90a8790602401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611252919061203f565b9050806001600160a01b0316637f7c41388888606001518961014001518a61020001518b61012001518c60a001518d61010001516040518863ffffffff1660e01b81526004016112a89796959493929190612323565b6020604051808303816000875af11580156112c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112eb9190612026565b8661030001906001600160401b031690816001600160401b031681525050600080826001600160a01b0316637dd29a668a8a606001518b61012001518c60a001518d61010001518e61014001518f61020001516040518863ffffffff1660e01b81526004016113609796959493929190612369565b60408051808303816000875af115801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906123af565b6102e08a01919091526102c08901525050505b6000876001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611419919061203f565b6001600160a01b0316637bbb19dc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a919061203f565b90506000816001600160a01b031663776af5ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e0919061203f565b6001600160a01b031663e10b8c32896040518263ffffffff1660e01b815260040161150d91815260200190565b60a060405180830381865afa15801561152a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154e91906123f4565b60408101516001600160401b03166102608901526020810151909150610240880190600381111561158157611581611849565b9081600381111561159457611594611849565b90525060608101516001600160401b03908116610280890152608090910151166102a0870152505050505092915050565b604080516080810182526000602080830182905282840182905260608301919091526001600160a01b038416808352835163ece938cf60e01b8152935192938593919263ece938cf926004808401938290030181865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190612026565b61ffff166020808401919091526040805163f51f3fd360e01b815290516001600160a01b0384169263f51f3fd392600480820193918290030181865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190612026565b826040019061ffff16908161ffff1681525050806001600160a01b031663825714096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611714573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117389190612026565b63ffffffff16606083015250919050565b6040805161032081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081018290526102408101829052610260810182905261028081018290526102a081018290526102c081018290526102e0810182905261030081019190915290565b60006080828403121561182757600080fd5b50919050565b60006080828403121561183f57600080fd5b6102ca8383611815565b634e487b7160e01b600052602160045260246000fd5b6006811061186f5761186f611849565b9052565b6020808252825160a0838301819052815160c0850181905260009392830191849160e08701905b808410156118f457845180518352868101516118b88885018261185f565b5060408181015190840152606080820151908401526080908101516001600160401b03169083015293850193600193909301929082019061189a565b50848801516040880152604088015160608801526060880151945061191f608088018661ffff169052565b608088015180151560a089015294505b979650505050505050565b6001600160a01b038116811461194f57600080fd5b50565b6000806040838503121561196557600080fd5b82356119708161193a565b915060208301356119808161193a565b809150509250929050565b6004811061186f5761186f611849565b8051825260208101516119b960208401826001600160a01b03169052565b5060408101516119d460408401826001600160a01b03169052565b5060608101516119ea606084018261ffff169052565b506080810151611a02608084018263ffffffff169052565b5060a081015160a083015260c0810151611a1f60c084018261185f565b5060e0810151611a3a60e08401826001600160401b03169052565b506101008181015163ffffffff9081169184019190915261012080830151151590840152610140808301516001600160401b03908116918501919091526101608084015190921691840191909152610180808301518216908401526101a0808301518216908401526101c0808301518216908401526101e08083015182169084015261020080830151821690840152610220808301519091169083015261024080820151611aea8285018261198b565b5050610260818101516001600160401b0390811691840191909152610280808301518216908401526102a0808301518216908401526102c080830151908401526102e080830151908401526103009182015116910152565b60008151808452602080850194506020840160005b83811015611b7e57611b6a87835161199b565b610320969096019590820190600101611b57565b509495945050505050565b6020815260006102ca6020830184611b42565b60006060828403121561182757600080fd5b602081526000825160806020840152611bca60a0840182611b42565b905060208401516040840152604084015160608401526060840151151560808401528091505092915050565b60008060408385031215611c0957600080fd5b8235611c148161193a565b946020939093013593505050565b61032081016102b8828461199b565b61ffff8116811461194f57600080fd5b63ffffffff8116811461194f57600080fd5b60008060008060808587031215611c6957600080fd5b8435611c748161193a565b93506020850135611c848161193a565b92506040850135611c9481611c31565b91506060850135611ca481611c41565b939692955090935050565b600080600060a08486031215611cc457600080fd5b611cce8585611815565b925060808401356001600160401b0380821115611cea57600080fd5b818601915086601f830112611cfe57600080fd5b813581811115611d0d57600080fd5b8760208260051b8501011115611d2257600080fd5b6020830194508093505050509250925092565b600060208284031215611d4757600080fd5b81356102ca8161193a565b634e487b7160e01b600052604160045260246000fd5b600060a082018435611d798161193a565b6001600160a01b03168352602085810135818501526040860135611d9c81611c31565b61ffff1660408501526060868101359085015260a06080850152845191829052602085019160c085019060005b81811015611dec57611ddc83865161185f565b9383019391830191600101611dc9565b5090979650505050505050565b60405160a081016001600160401b0381118282101715611e1b57611e1b611d52565b60405290565b604051608081016001600160401b0381118282101715611e1b57611e1b611d52565b604051601f8201601f191681016001600160401b0381118282101715611e6b57611e6b611d52565b604052919050565b60006001600160401b03821115611e8c57611e8c611d52565b5060051b60200190565b6006811061194f57600080fd5b80516001600160401b0381168114611eba57600080fd5b919050565b8051611eba81611c31565b80518015158114611eba57600080fd5b60006020808385031215611eed57600080fd5b82516001600160401b0380821115611f0457600080fd5b818501915060a0808388031215611f1a57600080fd5b611f22611df9565b835183811115611f3157600080fd5b84019250601f83018813611f4457600080fd5b8251611f57611f5282611e73565b611e43565b81815260a09091028401860190868101908a831115611f7557600080fd5b948701945b82861015611fe35784868c031215611f925760008081fd5b611f9a611df9565b8651815288870151611fab81611e96565b818a015260408781015190820152606080880151908201526080611fd0818901611ea3565b9082015282529484019490870190611f7a565b8352505083850151858201526040808501519082015261200560608501611ebf565b606082015261201660808501611eca565b6080820152979650505050505050565b60006020828403121561203857600080fd5b5051919050565b60006020828403121561205157600080fd5b81516102ca8161193a565b634e487b7160e01b600052601160045260246000fd5b808201808211156102b8576102b861205c565b634e487b7160e01b600052603260045260246000fd5b6000600182016120ad576120ad61205c565b5060010190565b6000602082840312156120c657600080fd5b81356102ca81611c31565b600060208083850312156120e457600080fd5b82516001600160401b038111156120fa57600080fd5b8301601f8101851361210b57600080fd5b8051612119611f5282611e73565b81815260059190911b8201830190838101908783111561213857600080fd5b928401925b8284101561192f5783518252928401929084019061213d565b600060e0828403121561216857600080fd5b60405160e081018181106001600160401b038211171561218a5761218a611d52565b60405282518152602083015161219f81611e96565b60208201526121b060408401611ea3565b604082015260608301516121c381611c41565b60608201526121d460808401611eca565b60808201526121e560a08401611ea3565b60a082015260c08301516121f881611c41565b60c08201529392505050565b60006020828403121561221657600080fd5b81356102ca81611e96565b600060ff821660ff81036122375761223761205c565b60010192915050565b60006080828403121561225257600080fd5b61225a611e21565b82516122658161193a565b8152602083015161227581611c31565b6020820152604083015161228881611c41565b6040820152606083015161229b8161193a565b60608201529392505050565b6000608082840312156122b957600080fd5b6122c1611e21565b90506122cc82611ea3565b81526122da60208301611ea3565b60208201526122eb60408301611ea3565b60408201526122fc60608301611ea3565b606082015292915050565b60006080828403121561231957600080fd5b6102ca83836122a7565b96875261ffff9590951660208701526001600160401b039384166040870152919092166060850152901515608084015260a083015263ffffffff1660c082015260e00190565b96875261ffff9590951660208701529215156040860152606085019190915263ffffffff1660808401526001600160401b0390811660a08401521660c082015260e00190565b600080604083850312156123c257600080fd5b505080516020909101519092909150565b600061ffff8083168181036123ea576123ea61205c565b6001019392505050565b600060a0828403121561240657600080fd5b61240e611df9565b8251815260208301516004811061242457600080fd5b602082015261243560408401611ea3565b604082015261244660608401611ea3565b606082015261245760808401611ea3565b6080820152939250505056fea26469706673582212206e46420934a5efd3f2f07c415f4ef0e0eb387fbf8b85b47696ee2c97dc09b1ea64736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -0,0 +1,9 @@
1
+ import { ethers } from "ethers";
2
+ declare function generateVerificationDomain(chainId: string, chipIntentsVerifierAddress: string): ethers.TypedDataDomain;
3
+ export declare const chipsIntentsVerifierPayloadTypes: {
4
+ buildDomainSeparator: typeof generateVerificationDomain;
5
+ HOLDER_REQUEST_PAYLOAD_TYPE_DEFINITION_CHIP_OUT_LZ: Record<string, ethers.TypedDataField[]>;
6
+ HOLDER_REQUEST_PAYLOAD_TYPE_DEFINITION_CHIP_OUT_LZ_UNWRAP: Record<string, ethers.TypedDataField[]>;
7
+ };
8
+ export {};
9
+ //# sourceMappingURL=chipsIntentsVerifierPayloadTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chipsIntentsVerifierPayloadTypes.d.ts","sourceRoot":"","sources":["../../../../../../../lib/typechain/lynxSystem/intentsVerifiers/chipsIntentsVerifier/chipsIntentsVerifierPayloadTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,iBAAS,0BAA0B,CACjC,OAAO,EAAE,MAAM,EACf,0BAA0B,EAAE,MAAM,GACjC,MAAM,CAAC,eAAe,CASxB;AA8BD,eAAO,MAAM,gCAAgC;;;;CAI5C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ethers } from "ethers";
2
+ declare function generateVerificationDomain(chainId: string, liquidityIntentsVerifierAddress: string): ethers.TypedDataDomain;
3
+ export declare const liquidityIntentsVerifierPayloadTypes: {
4
+ buildDomainSeparator: typeof generateVerificationDomain;
5
+ LIQUIDITY_PROVIDER_REQUEST_PAYLOAD_TYPE_DEFINITION_EPOCH_DEPOSIT: Record<string, ethers.TypedDataField[]>;
6
+ LIQUIDITY_PROVIDER_REQUEST_PAYLOAD_TYPE_DEFINITION_EPOCH_REDEEM: Record<string, ethers.TypedDataField[]>;
7
+ };
8
+ export {};
9
+ //# sourceMappingURL=liquidityIntentsVerifierPayloadTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquidityIntentsVerifierPayloadTypes.d.ts","sourceRoot":"","sources":["../../../../../../../lib/typechain/lynxSystem/intentsVerifiers/liquidityIntentsVerifier/liquidityIntentsVerifierPayloadTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,iBAAS,0BAA0B,CACjC,OAAO,EAAE,MAAM,EACf,+BAA+B,EAAE,MAAM,GACtC,MAAM,CAAC,eAAe,CASxB;AAgCD,eAAO,MAAM,oCAAoC;;;;CAIhD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ethers } from "ethers";
2
+ declare function generateVerificationDomain(chainId: string, tradersPortalAddress: string): ethers.TypedDataDomain;
3
+ export declare const tradeIntentsVerifierPayloadTypes: {
4
+ buildDomainSeparator: typeof generateVerificationDomain;
5
+ TRADER_REQUEST_PAYLOAD_TYPE_DEFINITION_OPEN_POSITION: Record<string, ethers.TypedDataField[]>;
6
+ TRADER_REQUEST_PAYLOAD_CLOSE_MARKET: Record<string, ethers.TypedDataField[]>;
7
+ TRADER_REQUEST_PAYLOAD_TYPE_DEFINITION_UPDATE_POSITION_SINGLE_FIELD: Record<string, ethers.TypedDataField[]>;
8
+ TRADER_REQUEST_PAYLOAD_TYPE_DEFINITION_UPDATE_POSITION_DOUBLE_FIELD: Record<string, ethers.TypedDataField[]>;
9
+ TRADER_DIRECT_PAYLOAD_TYPE_DEFINITION_UPDATE_PENDING_LIMIT_POSITION: Record<string, ethers.TypedDataField[]>;
10
+ TRADER_DIRECT_PAYLOAD_TYPE_DEFINITION_CANCEL_PENDING_LIMIT_POSITION: Record<string, ethers.TypedDataField[]>;
11
+ };
12
+ export {};
13
+ //# sourceMappingURL=tradeIntentsVerifierPayloadTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradeIntentsVerifierPayloadTypes.d.ts","sourceRoot":"","sources":["../../../../../../../lib/typechain/lynxSystem/intentsVerifiers/tradeIntentsVerifier/tradeIntentsVerifierPayloadTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,iBAAS,0BAA0B,CACjC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAAC,eAAe,CASxB;AA6JD,eAAO,MAAM,gCAAgC;;;;;;;;CAS5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lynx-client",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Client library for interacting with Lynx publicly available services",
5
5
 
6
6
  "main": "./dist/cjs/index.js",