lynx-client 0.0.35 → 0.0.36

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 (111) hide show
  1. package/dist/cjs/lib/addresses/lensAddresses.js +6 -6
  2. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +3 -0
  3. package/dist/cjs/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +1 -0
  4. package/dist/cjs/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.js +31 -1
  5. package/dist/cjs/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.js +60 -0
  6. package/dist/cjs/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  7. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  8. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  9. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  10. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  11. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  12. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  13. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +21 -1
  14. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +222 -1
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.js +5 -0
  16. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  17. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +46 -1
  18. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +337 -1
  19. package/dist/esm/lib/addresses/lensAddresses.d.ts +6 -6
  20. package/dist/esm/lib/addresses/lensAddresses.js +6 -6
  21. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +2 -1
  22. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  23. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.js +3 -0
  24. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  25. package/dist/esm/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.js +1 -0
  26. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.d.ts +31 -1
  27. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.d.ts.map +1 -1
  28. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.js +31 -1
  29. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.d.ts +8 -2
  30. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.d.ts.map +1 -1
  31. package/dist/esm/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.js +60 -0
  32. package/dist/esm/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts +18 -6
  33. package/dist/esm/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts.map +1 -1
  34. package/dist/esm/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts +36 -2
  35. package/dist/esm/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts.map +1 -1
  36. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts +9 -3
  37. package/dist/esm/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts.map +1 -1
  38. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts +10 -1
  39. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts.map +1 -1
  40. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TriggersAndPortalLens.d.ts +173 -1
  41. package/dist/esm/lib/typechain/contracts/Peripheral/Lens/TriggersAndPortalLens.d.ts.map +1 -1
  42. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  43. package/dist/esm/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.js +1 -1
  44. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  45. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  46. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  47. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts.map +1 -1
  48. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.js +1 -1
  49. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  50. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  51. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  52. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  53. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  54. package/dist/esm/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.js +1 -1
  55. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  56. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +1 -1
  57. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +17 -1
  58. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  59. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +21 -1
  60. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +177 -1
  61. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts.map +1 -1
  62. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +222 -1
  63. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts +4 -0
  64. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts.map +1 -1
  65. package/dist/esm/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.js +5 -0
  66. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  67. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.js +1 -1
  68. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +37 -1
  69. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts.map +1 -1
  70. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +46 -1
  71. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +259 -1
  72. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts.map +1 -1
  73. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +337 -1
  74. package/dist/types/lib/addresses/lensAddresses.d.ts +6 -6
  75. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts +2 -1
  76. package/dist/types/lib/contractsIntegration/TradingFloorLensService/ITradingFloorLensService.d.ts.map +1 -1
  77. package/dist/types/lib/contractsIntegration/TradingFloorLensService/TradingFloorLensService.d.ts.map +1 -1
  78. package/dist/types/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.d.ts +31 -1
  79. package/dist/types/lib/contractsIntegration/TriggersAndPortalLensService/ITriggersAndPortalLensService.d.ts.map +1 -1
  80. package/dist/types/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.d.ts +8 -2
  81. package/dist/types/lib/contractsIntegration/TriggersAndPortalLensService/TriggersAndPortalLensService.d.ts.map +1 -1
  82. package/dist/types/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts +18 -6
  83. package/dist/types/lib/typechain/contracts/Lynx/TradingFloor/TradingFloorV1.d.ts.map +1 -1
  84. package/dist/types/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts +36 -2
  85. package/dist/types/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts.map +1 -1
  86. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts +9 -3
  87. package/dist/types/lib/typechain/contracts/Lynx/interfaces/IPriceValidatorV1.d.ts.map +1 -1
  88. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts +10 -1
  89. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TradingFloorLens.d.ts.map +1 -1
  90. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TriggersAndPortalLens.d.ts +173 -1
  91. package/dist/types/lib/typechain/contracts/Peripheral/Lens/TriggersAndPortalLens.d.ts.map +1 -1
  92. package/dist/types/lib/typechain/factories/contracts/Lynx/IntentsVerifier/TradeIntentsVerifierV1__factory.d.ts +1 -1
  93. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  94. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts +1 -1
  95. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PNLR/PNLR__factory.d.ts.map +1 -1
  96. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  97. package/dist/types/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  98. package/dist/types/lib/typechain/factories/contracts/Lynx/Registry/RegistryV1__factory.d.ts +1 -1
  99. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +1 -1
  100. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +17 -1
  101. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  102. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +177 -1
  103. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts.map +1 -1
  104. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts +4 -0
  105. package/dist/types/lib/typechain/factories/contracts/Lynx/interfaces/IPriceValidatorV1__factory.d.ts.map +1 -1
  106. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/LexLens__factory.d.ts +1 -1
  107. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +37 -1
  108. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts.map +1 -1
  109. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +259 -1
  110. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts.map +1 -1
  111. package/package.json +1 -1
@@ -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 = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615d4980620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806380a7f3d4116101de578063ad1f2b561161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aed578063f5f5ba7214610b0d578063f851a44014610b37578063f9b9484e14610b4a57600080fd5b8063ece938cf14610a5b578063ef6ecc5514610a64578063f2eb245e14610ac4578063f51f3fd314610ae457600080fd5b8063ca3a3a82116100e9578063ca3a3a82146109cd578063ddf474f1146109e0578063e640f33b14610a28578063ec7f8a3a14610a3b57600080fd5b8063ad1f2b56146109a7578063b71f3cfe146109af578063c07f9921146109ba57600080fd5b806394a1e6e51161017c578063a2a25ea611610156578063a2a25ea614610947578063a40d72681461095a578063aaf5eb681461096d578063acfd6b921461097c57600080fd5b806394a1e6e5146108b157806395be5050146108b95780639ff69ffa1461093457600080fd5b80638aa10435116101b85780638aa10435146107d55780638f7a8fb5146107f557806390f24cac1461087057806393a7f6a71461088357600080fd5b806380a7f3d4146107a657806382571409146107b957806386dc4975146107c257600080fd5b8063396f7b23116102c357806366307a4f1161026157806374d8b78e1161023057806374d8b78e1461072d57806376d901be146107565780637b1039991461078957806380193b261461079c57600080fd5b806366307a4f1461065957806368f296a5146106d45780636e01af8d146106fa578063725b7d521461070d57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f35780635b214e12146106065780635c60da1b14610619578063614d08f81461062c57600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a136600461505e565b610bac565b6040519081526020015b60405180910390f35b6103e26103c73660046151a2565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b6104496104083660046151bf565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e26104933660046151bf565b611107565b6104ab6104a63660046151e5565b611131565b005b6103a66104bb3660046151a2565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e43660046151a2565b611200565b6104ab6104f7366004615230565b61134e565b6013546103a6565b6105176105123660046151a2565b6113e5565b60405163ffffffff90911681526020016103b0565b6104ab61053a366004615265565b61147f565b6001546103e2906001600160a01b031681565b6103a6610560366004615291565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001633130313560e01b81525081565b6040516103b091906152ee565b6003546103e2906001600160a01b031681565b6103a66105ce366004615321565b61171e565b6105e66105e13660046151a2565b61174f565b6040516103b0919061533f565b6104ab610601366004615383565b6117bb565b6104ab6106143660046153bf565b61187f565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b6106a16106673660046151bf565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106e23660046151a2565b60156020526000908152604090205463ffffffff1681565b6104ab6107083660046153fa565b61191c565b61072061071b366004615321565b611cb2565b6040516103b09190615421565b6103e261073b3660046151a2565b600a602052600090815260409020546001600160a01b031681565b6107796107643660046151bf565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6104ab6107b4366004615462565b611d32565b6103a660075481565b6104ab6107d03660046154a6565b612184565b6040805180820190915260048152633130313560e01b60208201526105a0565b61085d6108033660046151bf565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b097969594939291906154f5565b6103e261087e36600461554a565b612217565b6107796108913660046151a2565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a661225c565b6109236108c73660046151bf565b6000908152600d6020818152604080842060010154600c835293205491905260ff8083169361010084046001600160401b031693600160a01b90930461ffff1692600160681b810490921691600160b01b900463ffffffff1690565b6040516103b095949392919061557f565b6104ab6109423660046155c3565b61226d565b6104ab610955366004615621565b6124b4565b6103a6610968366004615651565b6125d6565b6103a6670de0b6b3a764000081565b6103a661098a366004615321565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109c836600461569e565b612645565b6104ab6109db3660046156c6565b612d02565b6106a16109ee3660046151bf565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a363660046156c6565b612eb2565b6103a6610a493660046151a2565b60146020526000908152604090205481565b6103a660055481565b610aa7610a72366004615702565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ad23660046151bf565b60106020526000908152604090205481565b6103a660065481565b610b00610afb3660046151bf565b613043565b6040516103b09190615779565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610b9d610b583660046151bf565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b093929190615787565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e91906157bd565b610c435760405162461bcd60e51b8152600401610c3a906157da565b60405180910390fd5b610c6b84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cb75760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c3a565b60208085015161ffff1660009081526008909152604090205460ff1615610cf05760405162461bcd60e51b8152600401610c3a90615802565b6001856002811115610d0457610d046154cb565b1480610d2157506002856002811115610d1f57610d1f6154cb565b145b610d665760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c3a565b610dab836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b031661316b565b60055484516001600160a01b031660009081526016602052604090205410610e0d5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c3a565b6000610e2685604001518660000151876020015161324d565b8092508193505050610e458560400151866000015186602001516133be565b8451610e5090613503565b6000828152600d60205260409020805415610e975760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c3a565b600180820180548751604089015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928b16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208601518255600090886002811115610f1857610f186154cb565b14610f24576002610f27565b60015b9050808260010160006101000a81548160ff02191690836005811115610f4f57610f4f6154cb565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600086815260200190815260200160002090508660a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508660c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000878152602001908152602001600020905087606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555087608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508760e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508761010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550857f835de04f5a930b169d6564c8f1c5f91f89abd9ea026b7488c94452abb900cc7484878c8c8c6040516110f2959493929190615827565b60405180910390a25050505050949350505050565b6013818154811061111757600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa15801561117d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a1919061590b565b6001600160a01b0316336001600160a01b0316146111f05760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c3a565b6111fb83838361357f565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611262919061590b565b6001600160a01b0316336001600160a01b0316146112b15760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c3a565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113159190615928565b1561134b5760405162461bcd60e51b8152600401610c3a9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bb91906157bd565b6113d75760405162461bcd60e51b8152600401610c3a90615941565b6111fb8360028484426136a2565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114555760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c3a565b600b8163ffffffff16101561146d5750600b92915050565b61147881600161597a565b9392505050565b6000546001600160a01b031633146114c65760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600081116115075760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c3a565b6060600183600381111561151d5761151d6154cb565b03611556575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116d1565b600283600381111561156a5761156a6154cb565b036115f957606461157f620186a0603261599e565b61158991906159cb565b8210156115d25760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116d1565b600383600381111561160d5761160d6154cb565b0361169b57611620620186a0600261599e565b8210156116695760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116d1565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c3a565b806040516116df91906159df565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061173a57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117af57602002820191906000526020600020905b81548152602001906001019080831161179b575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182891906157bd565b6118745760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6111fb3384846139dd565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec91906157bd565b6119085760405162461bcd60e51b8152600401610c3a90615941565b6119168460018585856136a2565b50505050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198991906157bd565b6119d55760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6119e36064620186a06159cb565b811115611a295760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c3a565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611a6857611a686154cb565b6005811115611a7957611a796154cb565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611b105760405162461bcd60e51b8152600401610c3a906159fb565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611b7f57611b7f6154cb565b03611be157600182602001516005811115611b9c57611b9c6154cb565b14611bdc5760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c3a565b611c8c565b6002846002811115611bf557611bf56154cb565b03611c5157600282602001516005811115611c1257611c126154cb565b14611bdc5760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c3a565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c3a565b611cab8582600001518360600151856000015186606001518833613aee565b5050505050565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611d2457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611d06575b505050505090505b92915050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9f91906157bd565b611dbb5760405162461bcd60e51b8152600401610c3a90615941565b6000848152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611dfa57611dfa6154cb565b6005811115611e0b57611e0b6154cb565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150611e8b5760405162461bcd60e51b8152600401610c3a906159fb565b6000858152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002886003811115611efa57611efa6154cb565b03611f57578460800151611f275783606001516001600160401b0316866001600160401b03161015611f42565b83606001516001600160401b0316866001600160401b031611155b925050506001600160401b038416600261203c565b6001886003811115611f6b57611f6b6154cb565b03611fce578460800151611f985783604001516001600160401b0316866001600160401b03161115611fb3565b83604001516001600160401b0316866001600160401b031610155b925083604001516001600160401b031691506001905061203c565b6003886003811115611fe257611fe26154cb565b03611ffe575060019150506001600160401b038416600361203c565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c3a565b826120795760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b60008060006120898c8686613bc0565b9194509250905060038460048111156120a4576120a46154cb565b036121115787608001516120c45780896001600160401b031610156120d2565b80896001600160401b031611155b9550856121115760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b8a6003811115612123576121236154cb565b604080516001600160401b038c16815260208101849052908101859052606081018490528d907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a3505050505050505050505050565b6000546001600160a01b031633146121cb5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b6011602052826000526040600020602052816000526040600020818154811061223f57600080fd5b6000918252602090912001546001600160a01b0316925083915050565b61226a6064620186a06159cb565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa1580156122b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122da91906157bd565b6122f65760405162461bcd60e51b8152600401610c3a906157da565b6000858152600d602052604090206002600182015460ff16600581111561231f5761231f6154cb565b1461233c5760405162461bcd60e51b8152600401610c3a90615a25565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156123835760405162461bcd60e51b8152600401610c3a90615802565b6123c581600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b031661316b565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d859060800160405180910390a25050505050505050565b6004546001600160a01b031633146124fa5760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c3a565b6001600160a01b038381166000908152600a602052604090205416156125625760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c3a565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa15801561268e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b291906157bd565b6126ce5760405162461bcd60e51b8152600401610c3a90615941565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916127585760405162461bcd60e51b8152600401610c3a906159fb565b6003600184015460ff166005811115612773576127736154cb565b146127905760405162461bcd60e51b8152600401610c3a90615a25565b80516001600160a01b039081166000908152600b6020526040812054909116908060018960028111156127c5576127c56154cb565b03612a80576000612866846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561280d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128319190615928565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613dc4565b9050886001600160401b0316816001600160401b0316146128bb5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160801b9091048116908216036129095760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c3a565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b8152600401612a48999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b158015612a6257600080fd5b505af1158015612a76573d6000803e3d6000fd5b5050505050612c11565b6002896002811115612a9457612a946154cb565b0361169b576000612b35846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b009190615928565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613e96565b9050886001600160401b0316816001600160401b031614612b8a5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160c01b909104811690821603612bd85760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c3a565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b6001860154612c3d90600160681b900460ff166001600160401b0389811690819086811690861661316b565b84546001600160401b03838116600160801b0267ffffffffffffffff60801b19918416600160c01b02919091166001600160801b0390921691909117178555886002811115612c8e57612c8e6154cb565b846020015161ffff168b7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e68837766789600101600d9054906101000a900460ff168c604051612cee92919091151582526001600160401b0316602082015260400190565b60405180910390a450505050505050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6f91906157bd565b612d8b5760405162461bcd60e51b8152600401610c3a90615941565b6000838152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b90049092166060830152612dfe5760405162461bcd60e51b8152600401610c3a906159fb565b80516001600160401b0380841691161180612e2e5750816001600160401b031681602001516001600160401b0316105b15612e4457612e3f308560016139dd565b611916565b6000806000612e5e87866001600160401b03166004613bc0565b6040805182815260208101859052908101839052929550909350915087907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb9060600160405180910390a250505050505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1f91906157bd565b612f3b5760405162461bcd60e51b8152600401610c3a906157da565b6000838152600d602052604090208054612f675760405162461bcd60e51b8152600401610c3a906159fb565b6003600182015460ff166005811115612f8257612f826154cb565b14612f9f5760405162461bcd60e51b8152600401610c3a90615a25565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff1660058111156130a7576130a76154cb565b60058111156130b8576130b86154cb565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b828411156131ad5760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c3a565b8115806131c65750846131c2578382106131c6565b8282115b6131fd5760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c3a565b80158061321657508461321257828111613216565b8381105b611cab5760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c3a565b600080613259846113e5565b9050613267858585846125d6565b6000818152600c60205260408120805492945091600160b01b900463ffffffff1690036133b5578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f826040516133ac919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50935093915050565b80156111fb576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561340b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061342f9190615928565b90506134466001600160a01b038516843085613f53565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561348d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b19190615928565b9050826134be8383615a4a565b14611cab5760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c3a565b6001600160a01b03811660009081526016602052604090205460010361134b57601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b0383166000908152600960205260408120818460038111156135aa576135aa6154cb565b60038111156135bb576135bb6154cb565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b031681526020019081526020016000206000856003811115613607576136076154cb565b6003811115613618576136186154cb565b815260208101919091526040016000205561363d6001600160a01b0385168383613fba565b816001600160a01b0316836003811115613659576136596154cb565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161369491815260200190565b60405180910390a450505050565b6000858152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152888452600d8352818420825160e0810190935280548352600181015491949390919083019060ff16600581111561372b5761372b6154cb565b600581111561373c5761373c6154cb565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a09091015280519091506137bc5760405162461bcd60e51b8152600401610c3a906159fb565b6000878152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138415760405162461bcd60e51b8152600401610c3a90615802565b866005811115613853576138536154cb565b82602001516005811115613869576138696154cb565b146138865760405162461bcd60e51b8152600401610c3a90615a25565b600187600581111561389a5761389a6154cb565b0361393e5782516001600160401b03808816911611806138cf5750856001600160401b031683602001516001600160401b0316105b15613939576040516001600160401b038716815288907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139318882600001518360600151856000015186606001518a30613aee565b505050611cab565b6139c4565b6002876005811115613952576139526154cb565b0361169b5782516001600160401b0380881691161180159061398a5750856001600160401b031683602001516001600160401b031610155b6139395760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c3a565b6139d3888284868a8a8a613feb565b5050505050505050565b6000828152600d6020526040902054613a085760405162461bcd60e51b8152600401610c3a906159fb565b6000828152600f60205260408120556001816001811115613a2b57613a2b6154cb565b03611c515760046000838152600d602052604090206001015460ff166005811115613a5857613a586154cb565b14613a755760405162461bcd60e51b8152600401610c3a90615a25565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613b36613b308663ffffffff87166143bb565b846143d3565b9050613b4588886003846143e3565b613b4e86614497565b613b588689614707565b6000613b648287615a4a565b9050613b71888883614832565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613bad91815260200190565b60405180910390a3505050505050505050565b6000838152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081613c2888613043565b8051909150613c495760405162461bcd60e51b8152600401610c3a906159fb565b600080600080613c5c8c87878e8e61484c565b93509350935093508460000151831115613cde578451600090620186a0613c838287615a4a565b613c8d919061599e565b613c9791906159cb565b9050600754811115613cdc5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c3a565b505b8197508298508096508460000151841115613d3b5760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c3a565b613d4c8c87600001516002876143e3565b613d598660600151614497565b613d6786606001518d614707565b60008c8152600d6020908152604080832083815560010180546001600160d01b0319169055600e82528083208390556010909152812055606086015186518651613db59291908c90886148fe565b50505050505093509350939050565b60006001600160401b0383161580613dee57508560070b613de88787868689614a67565b60070b12155b15613e8a576000620186a0856001600160401b03166064896001600160401b0316896001600160401b0316613e23919061599e565b613e2d919061599e565b613e3791906159cb565b613e4191906159cb565b905082613e7857856001600160401b0316816001600160401b03161115613e69576000613e82565b613e738187615a5d565b613e82565b613e828187615a7d565b915050613e8d565b50815b95945050505050565b60006001600160401b0383161580613ecb5750600654613eb890600019615a9d565b613ec58787868689614a67565b60070b13155b15613e8a576000620186a0856001600160401b03166064600654896001600160401b0316613ef9919061599e565b613f03919061599e565b613f0d91906159cb565b613f1791906159cb565b905082613f2857613e738187615a7d565b856001600160401b0316816001600160401b03161115613f49576000613e82565b613e828187615a5d565b6040516001600160a01b0384811660248301528381166044830152606482018390526119169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614af3565b6040516001600160a01b038381166024830152604482018390526111fb91859182169063a9059cbb90606401613f88565b85516001600160a01b039081166000908152600b6020526040812054606088015160808901519190931692614026918b918591898b89614b64565b9050816001600160a01b03166352713f678a8a606001518b602001518b600001518c606001518d6080015188604001518d6040518963ffffffff1660e01b81526004016140cc9897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af1925050508015614106575060408051601f3d908101601f1916820190925261410391810190615acd565b60015b61420a57614112615af1565b806308c379a00361414b5750614126615b0c565b80614131575061414d565b8060405162461bcd60e51b8152600401610c3a91906152ee565b505b3d808015614177576040519150601f19603f3d011682016040523d82523d6000602084013e61417c565b606091505b50632eb752bf60e21b61418e82615b95565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b906141db9085908590615bcc565b60405180910390a26142028c8c600001518d606001518d600001518e606001518c30613aee565b5050506143b0565b60008b8152600d6020908152604080832060018101805467ffffffffffffffff60701b1916600160701b6001600160401b038e16021790558c5160109093529220558951614259908490615a4a565b81556001600160401b034281169087161180159061428c575060018101546001600160401b036101009091048116908716115b6142c85760405162461bcd60e51b815260206004820152600d60248201526c04241445f54494d455354414d5609c1b6044820152606401610c3a565b600181810180546001600160401b0389166101000268ffffffffffffffffff199091161760031790558b51614309918e91906143048688615a4a565b6143e3565b8a516001600160a01b038082166000908152600a602052604090205461433192911684614832565b60008c8152600f60209081526040808320929092558582015160608088015184516001600160401b038e8116825293841694810194909452919091168284015281018590526080810184905290518d917fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf81919081900360a00190a25050505b505050505050505050565b600060646143c9838561599e565b61147891906159cb565b6000620186a06143c9838561599e565b8015611916576001600160a01b03831660009081526009602052604081208291846003811115614415576144156154cb565b6003811115614426576144266154cb565b815260200190815260200160002060008282546144439190615bea565b90915550829050600381111561445b5761445b6154cb565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161369491815260200190565b6001600160a01b03811660009081526016602052604090205460010361134b576001600160a01b038116600090815260146020526040812054908190036145215760408051600080825260208201526001600160a01b038416917fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d991015b60405180910390a25050565b601361452e600183615a4a565b8154811061453e5761453e615bfd565b6000918252602090912001546001600160a01b038381169116146145e9576001600160a01b0382166000818152601460205260408120557fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d98260136145a4600183615a4a565b815481106145b4576145b4615bfd565b60009182526020909120015460405161451592916001600160a01b0316909182526001600160a01b0316602082015260400190565b601354600110156146b7576013805461460490600190615a4a565b8154811061461457614614615bfd565b6000918252602090912001546001600160a01b03166013614636600184615a4a565b8154811061464657614646615bfd565b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915581906014906013614681600185615a4a565b8154811061469157614691615bfd565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6001600160a01b03821660009081526014602052604081205560138054806146e1576146e1615c13565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b038216600090815260176020908152604080832084845290915290205480156111fb576001600160a01b038316600090815260166020526040812090614755600184615a4a565b825490915061476690600190615a4a565b8110156147e2578154600090839061478090600190615a4a565b8154811061479057614790615bfd565b90600052602060002001549050808383815481106147b0576147b0615bfd565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b818054806147f2576147f2615c13565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b80156111fb576111fb6001600160a01b0384168383613fba565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d31688926148a8928e92908d908d908d90600401615c29565b6080604051808303816000875af11580156148c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148eb9190615c80565b929c919b50995090975095505050505050565b6001600160a01b038085166000908152600a6020526040812054909116908385106149a75761492d8385615a4a565b9050600061493b8287615a4a565b6040516321d4911360e01b81526001600160a01b038a8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b15801561498957600080fd5b505af115801561499d573d6000803e3d6000fd5b5050505050614a53565b508360006149b58286615a4a565b9050838111156149d8576149d387846149ce8785615a4a565b614832565b614a51565b6001600160a01b0383166321d49113306149f28488615a4a565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614a3857600080fd5b505af1158015614a4c573d6000803e3d6000fd5b505050505b505b614a5e868883614832565b50505050505050565b6000858184614a7f57614a7a8688615cb6565b614a89565b614a898787615cb6565b905060008460070b620186a08360070b614aa39190615a9d565b614aad9190615a9d565b90506000600789900b614ac1606484615ce5565b614acb9190615ce5565b90508094508360070b8560070b13614ae35784614ae5565b835b9a9950505050505050505050565b600080602060008451602086016000885af180614b16576040513d6000823e3d81fd5b50506000513d91508115614b2e578060011415614b3b565b6001600160a01b0384163b155b1561191657604051635274afe760e01b81526001600160a01b0385166004820152602401610c3a565b6040805160808101825260008082526020820181905291810182905260608101919091526000876001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bec9190615928565b60008a8152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b9004909116606082015293509091501580614c5f575060408401516001600160401b0316155b614cab5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60608201516001600160401b03161580614cd0575060608401516001600160401b0316155b614d1c5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60408401516001600160401b031615614d96576000614d468686604001518a63ffffffff16614ee8565b905086614d7c57856001600160401b0316816001600160401b031610614d6d576000614d86565b614d778187615a5d565b614d86565b614d868187615a7d565b6001600160401b03166040840152505b60608401516001600160401b031615614e10576000614dc08686606001518a63ffffffff16614ee8565b905086614dd657614dd18187615a7d565b614e00565b856001600160401b0316816001600160401b031610614df6576000614e00565b614e008187615a5d565b6001600160401b03166060840152505b614e2781868963ffffffff1685604001518a613dc4565b6001600160401b039081166040840152831682526060820151614e56908290879063ffffffff8b16908a613e96565b6001600160401b0390811660608401908152938116602080850191825260009b8c52600e905260409a8b90208451815492519c86015196518416600160c01b026001600160c01b03978516600160801b02979097166001600160801b039d8516600160401b026001600160801b03199094169190941617919091179a909a161792909217909755509495945050505050565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614f19919061599e565b614f23919061599e565b614f2d91906159cb565b613e8d91906159cb565b6003811061134b57600080fd5b606081018181106001600160401b0382111715614f7157634e487b7160e01b600052604160045260246000fd5b60405250565b61012081016001600160401b0381118282101715614f7157634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715614fd857634e487b7160e01b600052604160045260246000fd5b6040525050565b604051614feb81614f77565b90565b6001600160a01b038116811461134b57600080fd5b803561ffff8116811461501557600080fd5b919050565b801515811461134b57600080fd5b80356150158161501a565b803563ffffffff8116811461501557600080fd5b80356001600160401b038116811461501557600080fd5b6000806000808486036101c081121561507657600080fd5b853561508181614f37565b94506060601f198201121561509557600080fd5b6040516150a181614f44565b60208701356150af81614fee565b81526150bd60408801615003565b602082015260608701356150d081614fee565b60408201529350610120607f1982018113156150eb57600080fd5b6150f3614fdf565b915061510160808801615028565b825260a0870135602083015261511960c08801615033565b604083015261512a60e08801615047565b606083015261010061513d818901615047565b608084015261514d828901615047565b60a084015261515f6101408901615047565b60c08401526151716101608901615047565b60e08401526151836101808901615047565b908301525091506151976101a08601615033565b905092959194509250565b6000602082840312156151b457600080fd5b813561147881614fee565b6000602082840312156151d157600080fd5b5035919050565b6004811061134b57600080fd5b6000806000606084860312156151fa57600080fd5b833561520581614fee565b92506020840135615215816151d8565b9150604084013561522581614fee565b809150509250925092565b60008060006060848603121561524557600080fd5b8335925061525560208501615047565b9150604084013590509250925092565b6000806040838503121561527857600080fd5b8235615283816151d8565b946020939093013593505050565b600080604083850312156152a457600080fd5b82356152af81614fee565b915060208301356152bf816151d8565b809150509250929050565b60005b838110156152e55781810151838201526020016152cd565b50506000910152565b602081526000825180602084015261530d8160408501602087016152ca565b601f01601f19169190910160400192915050565b6000806040838503121561533457600080fd5b823561528381614fee565b6020808252825182820181905260009190848201906040850190845b818110156153775783518352928401929184019160010161535b565b50909695505050505050565b60008060006060848603121561539857600080fd5b833592506020840135600281106153ae57600080fd5b929592945050506040919091013590565b600080600080608085870312156153d557600080fd5b843593506153e560208601615047565b92506040850135915061519760608601615047565b60008060006060848603121561540f57600080fd5b8335925060208401356153ae81614f37565b6020808252825182820181905260009190848201906040850190845b818110156153775783516001600160a01b03168352928401929184019160010161543d565b6000806000806080858703121561547857600080fd5b84359350602085013561548a816151d8565b925061549860408601615047565b915061519760608601615047565b600080604083850312156154b957600080fd5b8235915060208301356152bf8161501a565b634e487b7160e01b600052602160045260246000fd5b600681106154f1576154f16154cb565b9052565b87815260e0810161550960208301896154e1565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b60008060006060848603121561555f57600080fd5b833561556a81614fee565b95602085013595506040909401359392505050565b60a0810161558d82886154e1565b6001600160401b0395909516602082015261ffff939093166040840152901515606083015263ffffffff16608090910152919050565b600080600080600060a086880312156155db57600080fd5b853594506155eb60208701615047565b93506155f960408701615047565b925061560760608701615047565b915061561560808701615047565b90509295509295909350565b60008060006060848603121561563657600080fd5b833561564181614fee565b9250602084013561521581614fee565b6000806000806080858703121561566757600080fd5b843561567281614fee565b9350602085013561568281614fee565b925061569060408601615003565b915061519760608601615033565b600080600080608085870312156156b457600080fd5b84359350602085013561548a81614f37565b6000806000606084860312156156db57600080fd5b833592506156eb60208501615047565b91506156f960408501615047565b90509250925092565b60008060006060848603121561571757600080fd5b833561572281614fee565b925060208401356153ae81614fee565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611d2c8284615732565b6060810161579582866154e1565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b6000602082840312156157cf57600080fd5b81516114788161501a565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101e0810161583682886154e1565b63ffffffff808716602084015260018060a01b0380875116604085015261ffff6020880151166060850152806040880151166080850152508451151560a0840152602085015160c08401528060408601511660e08401525060608401516101006158aa818501836001600160401b03169052565b60808601516001600160401b0390811661012086015260a0870151811661014086015260c0870151811661016086015260e087015181166101808601529501519094166101a083015263ffffffff929092166101c090910152949350505050565b60006020828403121561591d57600080fd5b815161147881614fee565b60006020828403121561593a57600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff81811683821601908082111561599757615997615964565b5092915050565b8082028115828204841417611d2c57611d2c615964565b634e487b7160e01b600052601260045260246000fd5b6000826159da576159da6159b5565b500490565b600082516159f18184602087016152ca565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611d2c57611d2c615964565b6001600160401b0382811682821603908082111561599757615997615964565b6001600160401b0381811683821601908082111561599757615997615964565b80820260008212600160ff1b84141615615ab957615ab9615964565b8181058314821517611d2c57611d2c615964565b60008060408385031215615ae057600080fd5b505080516020909101519092909150565b600060033d1115614feb5760046000803e5060005160e01c90565b600060443d1015615b1a5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615b4957505050505090565b8285019150815181811115615b615750505050505090565b843d8701016020828501011115615b7b5750505050505090565b615b8a60208286010187614fa5565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615bc45780818460040360031b1b83161693505b505050919050565b6040810160128410615be057615be06154cb565b9281526020015290565b80820180821115611d2c57611d2c615964565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8681526001600160a01b038616602082015261ffff851660408201526101408101615c576060830186615732565b8361010083015260058310615c6e57615c6e6154cb565b82610120830152979650505050505050565b60008060008060808587031215615c9657600080fd5b505082516020840151604085015160609095015191969095509092509050565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611d2c57611d2c615964565b600082615cf457615cf46159b5565b600160ff1b821460001984141615615d0e57615d0e615964565b50059056fea264697066735822122047196adc0a4bab999cb5d240b913422e368711d933532c31ea8b58032b67528f64736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615e0480620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806380193b26116101de578063ad1f2b561161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aff578063f5f5ba7214610b1f578063f851a44014610b49578063f9b9484e14610b5c57600080fd5b8063ece938cf14610a6d578063ef6ecc5514610a76578063f2eb245e14610ad6578063f51f3fd314610af657600080fd5b8063ddf474f1116100e9578063ddf474f1146109df578063e640f33b14610a27578063ec18aded14610a3a578063ec7f8a3a14610a4d57600080fd5b8063ad1f2b56146109b9578063b71f3cfe146109c1578063c07f9921146109cc57600080fd5b806394a1e6e51161017c578063a2a25ea611610156578063a2a25ea614610959578063a40d72681461096c578063aaf5eb681461097f578063acfd6b921461098e57600080fd5b806394a1e6e5146108b157806395be5050146108b95780639ff69ffa1461094657600080fd5b80638aa10435116101b85780638aa10435146107d55780638f7a8fb5146107f557806390f24cac1461087057806393a7f6a71461088357600080fd5b806380193b26146107af57806382571409146107b957806386dc4975146107c257600080fd5b8063396f7b23116102c3578063614d08f811610261578063725b7d5211610230578063725b7d521461072057806374d8b78e1461074057806376d901be146107695780637b1039991461079c57600080fd5b8063614d08f81461063f57806366307a4f1461066c57806368f296a5146106e75780636e01af8d1461070d57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f357806350b3ef96146106065780635b214e12146106195780635c60da1b1461062c57600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a13660046150a3565b610bbe565b6040519081526020015b60405180910390f35b6103e26103c73660046151e7565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b610449610408366004615204565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e2610493366004615204565b611119565b6104ab6104a636600461522a565b611143565b005b6103a66104bb3660046151e7565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e43660046151e7565b611212565b6104ab6104f7366004615275565b611360565b6013546103a6565b6105176105123660046151e7565b6113f7565b60405163ffffffff90911681526020016103b0565b6104ab61053a3660046152aa565b611491565b6001546103e2906001600160a01b031681565b6103a66105603660046152d6565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001631898189b60e11b81525081565b6040516103b09190615333565b6003546103e2906001600160a01b031681565b6103a66105ce366004615366565b611730565b6105e66105e13660046151e7565b611761565b6040516103b09190615384565b6104ab6106013660046153c8565b6117cd565b6104ab610614366004615404565b611891565b6104ab610627366004615446565b611a45565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b6106b461067a366004615204565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106f53660046151e7565b60156020526000908152604090205463ffffffff1681565b6104ab61071b366004615481565b611ae2565b61073361072e366004615366565b611e71565b6040516103b091906154a8565b6103e261074e3660046151e7565b600a602052600090815260409020546001600160a01b031681565b61078c610777366004615204565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6103a660075481565b6104ab6107d03660046154e9565b611ef1565b6040805180820190915260048152631898189b60e11b60208201526105a0565b61085d610803366004615204565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b09796959493929190615538565b6103e261087e36600461558d565b611f84565b61078c6108913660046151e7565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a6611fc9565b6109336108c7366004615204565b6000908152600d602081815260408084206001810154600c8452919094205492909152915460ff8084169461010085046001600160401b031694600160a01b850461ffff1694600160681b820490931693600160b01b90910463ffffffff16926001600160a01b031691565b6040516103b097969594939291906155c2565b6104ab61095436600461561c565b611fda565b6104ab61096736600461567a565b612214565b6103a661097a3660046156aa565b612336565b6103a6670de0b6b3a764000081565b6103a661099c366004615366565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109da3660046156e9565b6123a5565b6106b46109ed366004615204565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a3536600461572d565b612a62565b6104ab610a48366004615769565b612bf3565b6103a6610a5b3660046151e7565b60146020526000908152604090205481565b6103a660055481565b610ab9610a843660046157bd565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ae4366004615204565b60106020526000908152604090205481565b6103a660065481565b610b12610b0d366004615204565b613047565b6040516103b09190615834565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610baf610b6a366004615204565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b093929190615842565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c309190615878565b610c555760405162461bcd60e51b8152600401610c4c90615895565b60405180910390fd5b610c7d84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cc95760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c4c565b60208085015161ffff1660009081526008909152604090205460ff1615610d025760405162461bcd60e51b8152600401610c4c906158bd565b6001856002811115610d1657610d1661550e565b1480610d3357506002856002811115610d3157610d3161550e565b145b610d785760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c4c565b610dbd836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b031661316f565b60055484516001600160a01b031660009081526016602052604090205410610e1f5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c4c565b6000610e38856040015186600001518760200151613251565b8092508193505050610e578560400151866000015186602001516133c2565b8451610e6290613507565b6000828152600d60205260409020805415610ea95760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c4c565b600180820180548751604089015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928b16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208601518255600090886002811115610f2a57610f2a61550e565b14610f36576002610f39565b60015b9050808260010160006101000a81548160ff02191690836005811115610f6157610f6161550e565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600086815260200190815260200160002090508660a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508660c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000878152602001908152602001600020905087606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555087608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508760e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508761010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550857f835de04f5a930b169d6564c8f1c5f91f89abd9ea026b7488c94452abb900cc7484878c8c8c6040516111049594939291906158e2565b60405180910390a25050505050949350505050565b6013818154811061112957600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b391906159c6565b6001600160a01b0316336001600160a01b0316146112025760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c4c565b61120d838383613583565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127491906159c6565b6001600160a01b0316336001600160a01b0316146112c35760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c4c565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132791906159e3565b1561135d5760405162461bcd60e51b8152600401610c4c9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd9190615878565b6113e95760405162461bcd60e51b8152600401610c4c906159fc565b61120d8360028484426136a6565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114675760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c4c565b600b8163ffffffff16101561147f5750600b92915050565b61148a816001615a35565b9392505050565b6000546001600160a01b031633146114d85760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c4c565b600081116115195760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c4c565b6060600183600381111561152f5761152f61550e565b03611568575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116e3565b600283600381111561157c5761157c61550e565b0361160b576064611591620186a06032615a59565b61159b9190615a86565b8210156115e45760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c4c565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116e3565b600383600381111561161f5761161f61550e565b036116ad57611632620186a06002615a59565b82101561167b5760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c4c565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116e3565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c4c565b806040516116f19190615a9a565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061174c57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117c157602002820191906000526020600020905b8154815260200190600101908083116117ad575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183a9190615878565b6118865760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c4c565b61120d3384846139e1565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190615878565b61191a5760405162461bcd60e51b8152600401610c4c906159fc565b6000848152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b9004909216606083015261198d5760405162461bcd60e51b8152600401610c4c90615ab6565b80516001600160401b03808516911611806119bd5750826001600160401b031681602001516001600160401b0316105b156119d3576119ce308660016139e1565b611a3e565b60008060006119ee88876001600160401b0316600488613af2565b6040805182815260208101859052908101839052929550909350915088907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb906060015b60405180910390a25050505b5050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190615878565b611ace5760405162461bcd60e51b8152600401610c4c906159fc565b611adc8460018585856136a6565b50505050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4f9190615878565b611b9b5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c4c565b611ba96064620186a0615a86565b811115611bef5760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c4c565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611c2e57611c2e61550e565b6005811115611c3f57611c3f61550e565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611cd65760405162461bcd60e51b8152600401610c4c90615ab6565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611d4557611d4561550e565b03611da757600182602001516005811115611d6257611d6261550e565b14611da25760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c4c565b611e52565b6002846002811115611dbb57611dbb61550e565b03611e1757600282602001516005811115611dd857611dd861550e565b14611da25760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c4c565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c4c565b611a3e8582600001518360600151856000015186606001518833613cf8565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611ee357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ec5575b505050505090505b92915050565b6000546001600160a01b03163314611f385760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c4c565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b60116020528260005260406000206020528160005260406000208181548110611fac57600080fd5b6000918252602090912001546001600160a01b0316925083915050565b611fd76064620186a0615a86565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120479190615878565b6120635760405162461bcd60e51b8152600401610c4c90615895565b6000858152600d602052604090206002600182015460ff16600581111561208c5761208c61550e565b146120a95760405162461bcd60e51b8152600401610c4c90615ae0565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156120f05760405162461bcd60e51b8152600401610c4c906158bd565b61213281600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b031661316f565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d8590608001611a32565b6004546001600160a01b0316331461225a5760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c4c565b6001600160a01b038381166000908152600a602052604090205416156122c25760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c4c565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156123ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124129190615878565b61242e5760405162461bcd60e51b8152600401610c4c906159fc565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916124b85760405162461bcd60e51b8152600401610c4c90615ab6565b6003600184015460ff1660058111156124d3576124d361550e565b146124f05760405162461bcd60e51b8152600401610c4c90615ae0565b80516001600160a01b039081166000908152600b6020526040812054909116908060018960028111156125255761252561550e565b036127e05760006125c6846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561256d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259191906159e3565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613dca565b9050886001600160401b0316816001600160401b03161461261b5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c4c565b85546001600160401b03600160801b9091048116908216036126695760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c4c565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b81526004016127a8999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b1580156127c257600080fd5b505af11580156127d6573d6000803e3d6000fd5b5050505050612971565b60028960028111156127f4576127f461550e565b036116ad576000612895846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561283c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286091906159e3565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613e9c565b9050886001600160401b0316816001600160401b0316146128ea5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c4c565b85546001600160401b03600160c01b9091048116908216036129385760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c4c565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b600186015461299d90600160681b900460ff166001600160401b0389811690819086811690861661316f565b84546001600160401b03838116600160801b0267ffffffffffffffff60801b19918416600160c01b02919091166001600160801b03909216919091171785558860028111156129ee576129ee61550e565b846020015161ffff168b7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e68837766789600101600d9054906101000a900460ff168c604051612a4e92919091151582526001600160401b0316602082015260400190565b60405180910390a450505050505050505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612acf9190615878565b612aeb5760405162461bcd60e51b8152600401610c4c90615895565b6000838152600d602052604090208054612b175760405162461bcd60e51b8152600401610c4c90615ab6565b6003600182015460ff166005811115612b3257612b3261550e565b14612b4f5760405162461bcd60e51b8152600401610c4c90615ae0565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c609190615878565b612c7c5760405162461bcd60e51b8152600401610c4c906159fc565b6000858152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115612cbb57612cbb61550e565b6005811115612ccc57612ccc61550e565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150612d4c5760405162461bcd60e51b8152600401610c4c90615ab6565b6000868152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002896003811115612dbb57612dbb61550e565b03612e18578460800151612de85783606001516001600160401b0316876001600160401b03161015612e03565b83606001516001600160401b0316876001600160401b031611155b925050506001600160401b0385166002612efd565b6001896003811115612e2c57612e2c61550e565b03612e8f578460800151612e595783604001516001600160401b0316876001600160401b03161115612e74565b83604001516001600160401b0316876001600160401b031610155b925083604001516001600160401b0316915060019050612efd565b6003896003811115612ea357612ea361550e565b03612ebf575060019150506001600160401b0385166003612efd565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c4c565b82612f3a5760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c4c565b6000806000612f4b8d86868c613af2565b919450925090506003846004811115612f6657612f6661550e565b03612fd3578760800151612f8657808a6001600160401b03161015612f94565b808a6001600160401b031611155b955085612fd35760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c4c565b8b6003811115612fe557612fe561550e565b604080516001600160401b038d16815260208101849052908101859052606081018490528e907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a350505050505050505050505050565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff1660058111156130ab576130ab61550e565b60058111156130bc576130bc61550e565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b828411156131b15760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c4c565b8115806131ca5750846131c6578382106131ca565b8282115b6132015760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c4c565b80158061321a5750846132165782811161321a565b8381105b611a3e5760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c4c565b60008061325d846113f7565b905061326b85858584612336565b6000818152600c60205260408120805492945091600160b01b900463ffffffff1690036133b9578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f826040516133b0919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50935093915050565b801561120d576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561340f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343391906159e3565b905061344a6001600160a01b038516843085613f59565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015613491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b591906159e3565b9050826134c28383615b05565b14611a3e5760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c4c565b6001600160a01b03811660009081526016602052604090205460010361135d57601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b0383166000908152600960205260408120818460038111156135ae576135ae61550e565b60038111156135bf576135bf61550e565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b03168152602001908152602001600020600085600381111561360b5761360b61550e565b600381111561361c5761361c61550e565b81526020810191909152604001600020556136416001600160a01b0385168383613fc0565b816001600160a01b031683600381111561365d5761365d61550e565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161369891815260200190565b60405180910390a450505050565b6000858152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152888452600d8352818420825160e0810190935280548352600181015491949390919083019060ff16600581111561372f5761372f61550e565b60058111156137405761374061550e565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a09091015280519091506137c05760405162461bcd60e51b8152600401610c4c90615ab6565b6000878152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138455760405162461bcd60e51b8152600401610c4c906158bd565b8660058111156138575761385761550e565b8260200151600581111561386d5761386d61550e565b1461388a5760405162461bcd60e51b8152600401610c4c90615ae0565b600187600581111561389e5761389e61550e565b036139425782516001600160401b03808816911611806138d35750856001600160401b031683602001516001600160401b0316105b1561393d576040516001600160401b038716815288907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139358882600001518360600151856000015186606001518a30613cf8565b505050611a3e565b6139c8565b60028760058111156139565761395661550e565b036116ad5782516001600160401b0380881691161180159061398e5750856001600160401b031683602001516001600160401b031610155b61393d5760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c4c565b6139d7888284868a8a8a613ff1565b5050505050505050565b6000828152600d6020526040902054613a0c5760405162461bcd60e51b8152600401610c4c90615ab6565b6000828152600f60205260408120556001816001811115613a2f57613a2f61550e565b03611e175760046000838152600d602052604090206001015460ff166005811115613a5c57613a5c61550e565b14613a795760405162461bcd60e51b8152600401610c4c90615ae0565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000848152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081613b5a89613047565b8051909150613b7b5760405162461bcd60e51b8152600401610c4c90615ab6565b600080600080613b8e8d87878f8f6143c1565b93509350935093508460000151831115613c10578451600090620186a0613bb58287615b05565b613bbf9190615a59565b613bc99190615a86565b9050600754811115613c0e5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c4c565b505b8197508298508096508460000151841115613c6d5760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c4c565b613c7e8d8760000151600287614473565b613c8b8660600151614527565b613c9986606001518e614797565b60008d8152600d6020908152604080832083815560010180546001600160d01b0319169055600e82528083208390556010909152812055606086015186518651613ce89291908c90888f6148c2565b5050505050509450945094915050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613d40613d3a8663ffffffff8716614a6a565b84614a82565b9050613d4f8888600384614473565b613d5886614527565b613d628689614797565b6000613d6e8287615b05565b9050613d7b888883614a92565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613db791815260200190565b60405180910390a3505050505050505050565b60006001600160401b0383161580613df457508560070b613dee8787868689614aac565b60070b12155b15613e90576000620186a0856001600160401b03166064896001600160401b0316896001600160401b0316613e299190615a59565b613e339190615a59565b613e3d9190615a86565b613e479190615a86565b905082613e7e57856001600160401b0316816001600160401b03161115613e6f576000613e88565b613e798187615b18565b613e88565b613e888187615b38565b915050613e93565b50815b95945050505050565b60006001600160401b0383161580613ed15750600654613ebe90600019615b58565b613ecb8787868689614aac565b60070b13155b15613e90576000620186a0856001600160401b03166064600654896001600160401b0316613eff9190615a59565b613f099190615a59565b613f139190615a86565b613f1d9190615a86565b905082613f2e57613e798187615b38565b856001600160401b0316816001600160401b03161115613f4f576000613e88565b613e888187615b18565b6040516001600160a01b038481166024830152838116604483015260648201839052611adc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614b38565b6040516001600160a01b0383811660248301526044820183905261120d91859182169063a9059cbb90606401613f8e565b85516001600160a01b039081166000908152600b602052604081205460608801516080890151919093169261402c918b918591898b89614ba9565b9050816001600160a01b03166352713f678a8a606001518b602001518b600001518c606001518d6080015188604001518d6040518963ffffffff1660e01b81526004016140d29897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af192505050801561410c575060408051601f3d908101601f1916820190925261410991810190615b88565b60015b61421057614118615bac565b806308c379a003614151575061412c615bc7565b806141375750614153565b8060405162461bcd60e51b8152600401610c4c9190615333565b505b3d80801561417d576040519150601f19603f3d011682016040523d82523d6000602084013e614182565b606091505b50632eb752bf60e21b61419482615c50565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b906141e19085908590615c87565b60405180910390a26142088c8c600001518d606001518d600001518e606001518c30613cf8565b5050506143b6565b60008b8152600d6020908152604080832060018101805467ffffffffffffffff60701b1916600160701b6001600160401b038e16021790558c516010909352922055895161425f908490615b05565b81556001600160401b0342811690871611801590614292575060018101546001600160401b036101009091048116908716115b6142ce5760405162461bcd60e51b815260206004820152600d60248201526c04241445f54494d455354414d5609c1b6044820152606401610c4c565b600181810180546001600160401b0389166101000268ffffffffffffffffff199091161760031790558b5161430f918e919061430a8688615b05565b614473565b8a516001600160a01b038082166000908152600a602052604090205461433792911684614a92565b60008c8152600f60209081526040808320929092558582015160608088015184516001600160401b038e8116825293841694810194909452919091168284015281018590526080810184905290518d917fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf81919081900360a00190a25050505b505050505050505050565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d316889261441d928e92908d908d908d90600401615ca5565b6080604051808303816000875af115801561443c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144609190615cfc565b929c919b50995090975095505050505050565b8015611adc576001600160a01b038316600090815260096020526040812082918460038111156144a5576144a561550e565b60038111156144b6576144b661550e565b815260200190815260200160002060008282546144d39190615d32565b9091555082905060038111156144eb576144eb61550e565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161369891815260200190565b6001600160a01b03811660009081526016602052604090205460010361135d576001600160a01b038116600090815260146020526040812054908190036145b15760408051600080825260208201526001600160a01b038416917fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d991015b60405180910390a25050565b60136145be600183615b05565b815481106145ce576145ce615d45565b6000918252602090912001546001600160a01b03838116911614614679576001600160a01b0382166000818152601460205260408120557fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d9826013614634600183615b05565b8154811061464457614644615d45565b6000918252602090912001546040516145a592916001600160a01b0316909182526001600160a01b0316602082015260400190565b60135460011015614747576013805461469490600190615b05565b815481106146a4576146a4615d45565b6000918252602090912001546001600160a01b031660136146c6600184615b05565b815481106146d6576146d6615d45565b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915581906014906013614711600185615b05565b8154811061472157614721615d45565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6001600160a01b038216600090815260146020526040812055601380548061477157614771615d5b565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0382166000908152601760209081526040808320848452909152902054801561120d576001600160a01b0383166000908152601660205260408120906147e5600184615b05565b82549091506147f690600190615b05565b811015614872578154600090839061481090600190615b05565b8154811061482057614820615d45565b906000526020600020015490508083838154811061484057614840615d45565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b8180548061488257614882615d5b565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b6001600160a01b038086166000908152600a60205260408120549091169084861061496b576148f18486615b05565b905060006148ff8288615b05565b6040516321d4911360e01b81526001600160a01b038b8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b15801561494d57600080fd5b505af1158015614961573d6000803e3d6000fd5b5050505050614a5f565b508460006149798287615b05565b9050848111156149e457600061498f8683615b05565b90506000620186a06149a763ffffffff881684615a59565b6149b19190615a86565b905080156149d2576149c38183615b05565b91506149cf8185615d32565b93505b6149dd8a8684614a92565b5050614a5d565b6001600160a01b0383166321d49113306149fe8489615b05565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614a4457600080fd5b505af1158015614a58573d6000803e3d6000fd5b505050505b505b6139d7878983614a92565b60006064614a788385615a59565b61148a9190615a86565b6000620186a0614a788385615a59565b801561120d5761120d6001600160a01b0384168383613fc0565b6000858184614ac457614abf8688615d71565b614ace565b614ace8787615d71565b905060008460070b620186a08360070b614ae89190615b58565b614af29190615b58565b90506000600789900b614b06606484615da0565b614b109190615da0565b90508094508360070b8560070b13614b285784614b2a565b835b9a9950505050505050505050565b600080602060008451602086016000885af180614b5b576040513d6000823e3d81fd5b50506000513d91508115614b73578060011415614b80565b6001600160a01b0384163b155b15611adc57604051635274afe760e01b81526001600160a01b0385166004820152602401610c4c565b6040805160808101825260008082526020820181905291810182905260608101919091526000876001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c3191906159e3565b60008a8152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b9004909116606082015293509091501580614ca4575060408401516001600160401b0316155b614cf05760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c4c565b60608201516001600160401b03161580614d15575060608401516001600160401b0316155b614d615760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c4c565b60408401516001600160401b031615614ddb576000614d8b8686604001518a63ffffffff16614f2d565b905086614dc157856001600160401b0316816001600160401b031610614db2576000614dcb565b614dbc8187615b18565b614dcb565b614dcb8187615b38565b6001600160401b03166040840152505b60608401516001600160401b031615614e55576000614e058686606001518a63ffffffff16614f2d565b905086614e1b57614e168187615b38565b614e45565b856001600160401b0316816001600160401b031610614e3b576000614e45565b614e458187615b18565b6001600160401b03166060840152505b614e6c81868963ffffffff1685604001518a613dca565b6001600160401b039081166040840152831682526060820151614e9b908290879063ffffffff8b16908a613e9c565b6001600160401b0390811660608401908152938116602080850191825260009b8c52600e905260409a8b90208451815492519c86015196518416600160c01b026001600160c01b03978516600160801b02979097166001600160801b039d8516600160401b026001600160801b03199094169190941617919091179a909a161792909217909755509495945050505050565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614f5e9190615a59565b614f689190615a59565b614f729190615a86565b613e939190615a86565b6003811061135d57600080fd5b606081018181106001600160401b0382111715614fb657634e487b7160e01b600052604160045260246000fd5b60405250565b61012081016001600160401b0381118282101715614fb657634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561501d57634e487b7160e01b600052604160045260246000fd5b6040525050565b60405161503081614fbc565b90565b6001600160a01b038116811461135d57600080fd5b803561ffff8116811461505a57600080fd5b919050565b801515811461135d57600080fd5b803561505a8161505f565b803563ffffffff8116811461505a57600080fd5b80356001600160401b038116811461505a57600080fd5b6000806000808486036101c08112156150bb57600080fd5b85356150c681614f7c565b94506060601f19820112156150da57600080fd5b6040516150e681614f89565b60208701356150f481615033565b815261510260408801615048565b6020820152606087013561511581615033565b60408201529350610120607f19820181131561513057600080fd5b615138615024565b91506151466080880161506d565b825260a0870135602083015261515e60c08801615078565b604083015261516f60e0880161508c565b606083015261010061518281890161508c565b608084015261519282890161508c565b60a08401526151a4610140890161508c565b60c08401526151b6610160890161508c565b60e08401526151c8610180890161508c565b908301525091506151dc6101a08601615078565b905092959194509250565b6000602082840312156151f957600080fd5b813561148a81615033565b60006020828403121561521657600080fd5b5035919050565b6004811061135d57600080fd5b60008060006060848603121561523f57600080fd5b833561524a81615033565b9250602084013561525a8161521d565b9150604084013561526a81615033565b809150509250925092565b60008060006060848603121561528a57600080fd5b8335925061529a6020850161508c565b9150604084013590509250925092565b600080604083850312156152bd57600080fd5b82356152c88161521d565b946020939093013593505050565b600080604083850312156152e957600080fd5b82356152f481615033565b915060208301356153048161521d565b809150509250929050565b60005b8381101561532a578181015183820152602001615312565b50506000910152565b602081526000825180602084015261535281604085016020870161530f565b601f01601f19169190910160400192915050565b6000806040838503121561537957600080fd5b82356152c881615033565b6020808252825182820181905260009190848201906040850190845b818110156153bc578351835292840192918401916001016153a0565b50909695505050505050565b6000806000606084860312156153dd57600080fd5b833592506020840135600281106153f357600080fd5b929592945050506040919091013590565b6000806000806080858703121561541a57600080fd5b8435935061542a6020860161508c565b92506154386040860161508c565b91506151dc60608601615078565b6000806000806080858703121561545c57600080fd5b8435935061546c6020860161508c565b9250604085013591506151dc6060860161508c565b60008060006060848603121561549657600080fd5b8335925060208401356153f381614f7c565b6020808252825182820181905260009190848201906040850190845b818110156153bc5783516001600160a01b0316835292840192918401916001016154c4565b600080604083850312156154fc57600080fd5b8235915060208301356153048161505f565b634e487b7160e01b600052602160045260246000fd5b600681106155345761553461550e565b9052565b87815260e0810161554c6020830189615524565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b6000806000606084860312156155a257600080fd5b83356155ad81615033565b95602085013595506040909401359392505050565b60e081016155d0828a615524565b6001600160401b0397909716602082015261ffff959095166040860152921515606085015263ffffffff9190911660808401526001600160a01b031660a083015260c090910152919050565b600080600080600060a0868803121561563457600080fd5b853594506156446020870161508c565b93506156526040870161508c565b92506156606060870161508c565b915061566e6080870161508c565b90509295509295909350565b60008060006060848603121561568f57600080fd5b833561569a81615033565b9250602084013561525a81615033565b600080600080608085870312156156c057600080fd5b84356156cb81615033565b935060208501356156db81615033565b925061543860408601615048565b600080600080608085870312156156ff57600080fd5b84359350602085013561571181614f7c565b925061571f6040860161508c565b91506151dc6060860161508c565b60008060006060848603121561574257600080fd5b833592506157526020850161508c565b91506157606040850161508c565b90509250925092565b600080600080600060a0868803121561578157600080fd5b8535945060208601356157938161521d565b93506157a16040870161508c565b92506157af6060870161508c565b915061566e60808701615078565b6000806000606084860312156157d257600080fd5b83356157dd81615033565b925060208401356153f381615033565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611eeb82846157ed565b606081016158508286615524565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b60006020828403121561588a57600080fd5b815161148a8161505f565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101e081016158f18288615524565b63ffffffff808716602084015260018060a01b0380875116604085015261ffff6020880151166060850152806040880151166080850152508451151560a0840152602085015160c08401528060408601511660e0840152506060840151610100615965818501836001600160401b03169052565b60808601516001600160401b0390811661012086015260a0870151811661014086015260c0870151811661016086015260e087015181166101808601529501519094166101a083015263ffffffff929092166101c090910152949350505050565b6000602082840312156159d857600080fd5b815161148a81615033565b6000602082840312156159f557600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff818116838216019080821115615a5257615a52615a1f565b5092915050565b8082028115828204841417611eeb57611eeb615a1f565b634e487b7160e01b600052601260045260246000fd5b600082615a9557615a95615a70565b500490565b60008251615aac81846020870161530f565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611eeb57611eeb615a1f565b6001600160401b03828116828216039080821115615a5257615a52615a1f565b6001600160401b03818116838216019080821115615a5257615a52615a1f565b80820260008212600160ff1b84141615615b7457615b74615a1f565b8181058314821517611eeb57611eeb615a1f565b60008060408385031215615b9b57600080fd5b505080516020909101519092909150565b600060033d11156150305760046000803e5060005160e01c90565b600060443d1015615bd55790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615c0457505050505090565b8285019150815181811115615c1c5750505050505090565b843d8701016020828501011115615c365750505050505090565b615c4560208286010187614fea565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615c7f5780818460040360031b1b83161693505b505050919050565b6040810160128410615c9b57615c9b61550e565b9281526020015290565b8681526001600160a01b038616602082015261ffff851660408201526101408101615cd360608301866157ed565b8361010083015260058310615cea57615cea61550e565b82610120830152979650505050505050565b60008060008060808587031215615d1257600080fd5b505082516020840151604085015160609095015191969095509092509050565b80820180821115611eeb57611eeb615a1f565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611eeb57611eeb615a1f565b600082615daf57615daf615a70565b600160ff1b821460001984141615615dc957615dc9615a1f565b50059056fea264697066735822122039be00a615031adfcb9daaa06a596578fcaba70e4b68364e50c1013656912a6964736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "enum LexErrors.CapType";
@@ -767,6 +767,10 @@ export declare class TradingFloorV1__factory extends ContractFactory {
767
767
  readonly internalType: "uint64";
768
768
  readonly name: "effectivePrice";
769
769
  readonly type: "uint64";
770
+ }, {
771
+ readonly internalType: "uint32";
772
+ readonly name: "incentiveRate";
773
+ readonly type: "uint32";
770
774
  }];
771
775
  readonly name: "closeExistingPosition_Limit";
772
776
  readonly outputs: readonly [];
@@ -785,6 +789,10 @@ export declare class TradingFloorV1__factory extends ContractFactory {
785
789
  readonly internalType: "uint64";
786
790
  readonly name: "effectivePrice";
787
791
  readonly type: "uint64";
792
+ }, {
793
+ readonly internalType: "uint32";
794
+ readonly name: "incentiveRate";
795
+ readonly type: "uint32";
788
796
  }];
789
797
  readonly name: "closeExistingPosition_Market";
790
798
  readonly outputs: readonly [];
@@ -1064,6 +1072,14 @@ export declare class TradingFloorV1__factory extends ContractFactory {
1064
1072
  readonly internalType: "uint32";
1065
1073
  readonly name: "spreadReductionF";
1066
1074
  readonly type: "uint32";
1075
+ }, {
1076
+ readonly internalType: "address";
1077
+ readonly name: "settlementAsset";
1078
+ readonly type: "address";
1079
+ }, {
1080
+ readonly internalType: "uint256";
1081
+ readonly name: "collateral";
1082
+ readonly type: "uint256";
1067
1083
  }];
1068
1084
  readonly stateMutability: "view";
1069
1085
  readonly type: "function";
@@ -1 +1 @@
1
- {"version":3,"file":"TradingFloorV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AA4hEhE,KAAK,+BAA+B,GAChC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,GAAG,IAAI,EAAE,+BAA+B;IAQ3C,oBAAoB,CAC3B,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAC7C,cAAc,GAAG;QACf,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,uBAAuB;IAIxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,gw9CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,uBAAuB;IAGjD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAC7B,cAAc;CAGlB"}
1
+ {"version":3,"file":"TradingFloorV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AAgjEhE,KAAK,+BAA+B,GAChC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,GAAG,IAAI,EAAE,+BAA+B;IAQ3C,oBAAoB,CAC3B,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAC7C,cAAc,GAAG;QACf,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,uBAAuB;IAIxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,sn+CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,uBAAuB;IAGjD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAC7B,cAAc;CAGlB"}
@@ -956,6 +956,11 @@ const _abi = [
956
956
  name: "effectivePrice",
957
957
  type: "uint64",
958
958
  },
959
+ {
960
+ internalType: "uint32",
961
+ name: "incentiveRate",
962
+ type: "uint32",
963
+ },
959
964
  ],
960
965
  name: "closeExistingPosition_Limit",
961
966
  outputs: [],
@@ -979,6 +984,11 @@ const _abi = [
979
984
  name: "effectivePrice",
980
985
  type: "uint64",
981
986
  },
987
+ {
988
+ internalType: "uint32",
989
+ name: "incentiveRate",
990
+ type: "uint32",
991
+ },
982
992
  ],
983
993
  name: "closeExistingPosition_Market",
984
994
  outputs: [],
@@ -1346,6 +1356,16 @@ const _abi = [
1346
1356
  name: "spreadReductionF",
1347
1357
  type: "uint32",
1348
1358
  },
1359
+ {
1360
+ internalType: "address",
1361
+ name: "settlementAsset",
1362
+ type: "address",
1363
+ },
1364
+ {
1365
+ internalType: "uint256",
1366
+ name: "collateral",
1367
+ type: "uint256",
1368
+ },
1349
1369
  ],
1350
1370
  stateMutability: "view",
1351
1371
  type: "function",
@@ -2074,7 +2094,7 @@ const _abi = [
2074
2094
  type: "function",
2075
2095
  },
2076
2096
  ];
2077
- const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615d4980620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806380a7f3d4116101de578063ad1f2b561161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aed578063f5f5ba7214610b0d578063f851a44014610b37578063f9b9484e14610b4a57600080fd5b8063ece938cf14610a5b578063ef6ecc5514610a64578063f2eb245e14610ac4578063f51f3fd314610ae457600080fd5b8063ca3a3a82116100e9578063ca3a3a82146109cd578063ddf474f1146109e0578063e640f33b14610a28578063ec7f8a3a14610a3b57600080fd5b8063ad1f2b56146109a7578063b71f3cfe146109af578063c07f9921146109ba57600080fd5b806394a1e6e51161017c578063a2a25ea611610156578063a2a25ea614610947578063a40d72681461095a578063aaf5eb681461096d578063acfd6b921461097c57600080fd5b806394a1e6e5146108b157806395be5050146108b95780639ff69ffa1461093457600080fd5b80638aa10435116101b85780638aa10435146107d55780638f7a8fb5146107f557806390f24cac1461087057806393a7f6a71461088357600080fd5b806380a7f3d4146107a657806382571409146107b957806386dc4975146107c257600080fd5b8063396f7b23116102c357806366307a4f1161026157806374d8b78e1161023057806374d8b78e1461072d57806376d901be146107565780637b1039991461078957806380193b261461079c57600080fd5b806366307a4f1461065957806368f296a5146106d45780636e01af8d146106fa578063725b7d521461070d57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f35780635b214e12146106065780635c60da1b14610619578063614d08f81461062c57600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a136600461505e565b610bac565b6040519081526020015b60405180910390f35b6103e26103c73660046151a2565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b6104496104083660046151bf565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e26104933660046151bf565b611107565b6104ab6104a63660046151e5565b611131565b005b6103a66104bb3660046151a2565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e43660046151a2565b611200565b6104ab6104f7366004615230565b61134e565b6013546103a6565b6105176105123660046151a2565b6113e5565b60405163ffffffff90911681526020016103b0565b6104ab61053a366004615265565b61147f565b6001546103e2906001600160a01b031681565b6103a6610560366004615291565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001633130313560e01b81525081565b6040516103b091906152ee565b6003546103e2906001600160a01b031681565b6103a66105ce366004615321565b61171e565b6105e66105e13660046151a2565b61174f565b6040516103b0919061533f565b6104ab610601366004615383565b6117bb565b6104ab6106143660046153bf565b61187f565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b6106a16106673660046151bf565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106e23660046151a2565b60156020526000908152604090205463ffffffff1681565b6104ab6107083660046153fa565b61191c565b61072061071b366004615321565b611cb2565b6040516103b09190615421565b6103e261073b3660046151a2565b600a602052600090815260409020546001600160a01b031681565b6107796107643660046151bf565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6104ab6107b4366004615462565b611d32565b6103a660075481565b6104ab6107d03660046154a6565b612184565b6040805180820190915260048152633130313560e01b60208201526105a0565b61085d6108033660046151bf565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b097969594939291906154f5565b6103e261087e36600461554a565b612217565b6107796108913660046151a2565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a661225c565b6109236108c73660046151bf565b6000908152600d6020818152604080842060010154600c835293205491905260ff8083169361010084046001600160401b031693600160a01b90930461ffff1692600160681b810490921691600160b01b900463ffffffff1690565b6040516103b095949392919061557f565b6104ab6109423660046155c3565b61226d565b6104ab610955366004615621565b6124b4565b6103a6610968366004615651565b6125d6565b6103a6670de0b6b3a764000081565b6103a661098a366004615321565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109c836600461569e565b612645565b6104ab6109db3660046156c6565b612d02565b6106a16109ee3660046151bf565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a363660046156c6565b612eb2565b6103a6610a493660046151a2565b60146020526000908152604090205481565b6103a660055481565b610aa7610a72366004615702565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ad23660046151bf565b60106020526000908152604090205481565b6103a660065481565b610b00610afb3660046151bf565b613043565b6040516103b09190615779565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610b9d610b583660046151bf565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b093929190615787565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e91906157bd565b610c435760405162461bcd60e51b8152600401610c3a906157da565b60405180910390fd5b610c6b84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cb75760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c3a565b60208085015161ffff1660009081526008909152604090205460ff1615610cf05760405162461bcd60e51b8152600401610c3a90615802565b6001856002811115610d0457610d046154cb565b1480610d2157506002856002811115610d1f57610d1f6154cb565b145b610d665760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c3a565b610dab836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b031661316b565b60055484516001600160a01b031660009081526016602052604090205410610e0d5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c3a565b6000610e2685604001518660000151876020015161324d565b8092508193505050610e458560400151866000015186602001516133be565b8451610e5090613503565b6000828152600d60205260409020805415610e975760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c3a565b600180820180548751604089015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928b16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208601518255600090886002811115610f1857610f186154cb565b14610f24576002610f27565b60015b9050808260010160006101000a81548160ff02191690836005811115610f4f57610f4f6154cb565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600086815260200190815260200160002090508660a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508660c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000878152602001908152602001600020905087606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555087608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508760e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508761010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550857f835de04f5a930b169d6564c8f1c5f91f89abd9ea026b7488c94452abb900cc7484878c8c8c6040516110f2959493929190615827565b60405180910390a25050505050949350505050565b6013818154811061111757600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa15801561117d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a1919061590b565b6001600160a01b0316336001600160a01b0316146111f05760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c3a565b6111fb83838361357f565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611262919061590b565b6001600160a01b0316336001600160a01b0316146112b15760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c3a565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113159190615928565b1561134b5760405162461bcd60e51b8152600401610c3a9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bb91906157bd565b6113d75760405162461bcd60e51b8152600401610c3a90615941565b6111fb8360028484426136a2565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114555760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c3a565b600b8163ffffffff16101561146d5750600b92915050565b61147881600161597a565b9392505050565b6000546001600160a01b031633146114c65760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600081116115075760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c3a565b6060600183600381111561151d5761151d6154cb565b03611556575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116d1565b600283600381111561156a5761156a6154cb565b036115f957606461157f620186a0603261599e565b61158991906159cb565b8210156115d25760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116d1565b600383600381111561160d5761160d6154cb565b0361169b57611620620186a0600261599e565b8210156116695760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c3a565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116d1565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c3a565b806040516116df91906159df565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061173a57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117af57602002820191906000526020600020905b81548152602001906001019080831161179b575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182891906157bd565b6118745760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6111fb3384846139dd565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec91906157bd565b6119085760405162461bcd60e51b8152600401610c3a90615941565b6119168460018585856136a2565b50505050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198991906157bd565b6119d55760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c3a565b6119e36064620186a06159cb565b811115611a295760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c3a565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611a6857611a686154cb565b6005811115611a7957611a796154cb565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611b105760405162461bcd60e51b8152600401610c3a906159fb565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611b7f57611b7f6154cb565b03611be157600182602001516005811115611b9c57611b9c6154cb565b14611bdc5760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c3a565b611c8c565b6002846002811115611bf557611bf56154cb565b03611c5157600282602001516005811115611c1257611c126154cb565b14611bdc5760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c3a565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c3a565b611cab8582600001518360600151856000015186606001518833613aee565b5050505050565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611d2457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611d06575b505050505090505b92915050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9f91906157bd565b611dbb5760405162461bcd60e51b8152600401610c3a90615941565b6000848152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611dfa57611dfa6154cb565b6005811115611e0b57611e0b6154cb565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150611e8b5760405162461bcd60e51b8152600401610c3a906159fb565b6000858152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002886003811115611efa57611efa6154cb565b03611f57578460800151611f275783606001516001600160401b0316866001600160401b03161015611f42565b83606001516001600160401b0316866001600160401b031611155b925050506001600160401b038416600261203c565b6001886003811115611f6b57611f6b6154cb565b03611fce578460800151611f985783604001516001600160401b0316866001600160401b03161115611fb3565b83604001516001600160401b0316866001600160401b031610155b925083604001516001600160401b031691506001905061203c565b6003886003811115611fe257611fe26154cb565b03611ffe575060019150506001600160401b038416600361203c565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c3a565b826120795760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b60008060006120898c8686613bc0565b9194509250905060038460048111156120a4576120a46154cb565b036121115787608001516120c45780896001600160401b031610156120d2565b80896001600160401b031611155b9550856121115760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c3a565b8a6003811115612123576121236154cb565b604080516001600160401b038c16815260208101849052908101859052606081018490528d907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a3505050505050505050505050565b6000546001600160a01b031633146121cb5760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c3a565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b6011602052826000526040600020602052816000526040600020818154811061223f57600080fd5b6000918252602090912001546001600160a01b0316925083915050565b61226a6064620186a06159cb565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa1580156122b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122da91906157bd565b6122f65760405162461bcd60e51b8152600401610c3a906157da565b6000858152600d602052604090206002600182015460ff16600581111561231f5761231f6154cb565b1461233c5760405162461bcd60e51b8152600401610c3a90615a25565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156123835760405162461bcd60e51b8152600401610c3a90615802565b6123c581600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b031661316b565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d859060800160405180910390a25050505050505050565b6004546001600160a01b031633146124fa5760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c3a565b6001600160a01b038381166000908152600a602052604090205416156125625760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c3a565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa15801561268e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b291906157bd565b6126ce5760405162461bcd60e51b8152600401610c3a90615941565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916127585760405162461bcd60e51b8152600401610c3a906159fb565b6003600184015460ff166005811115612773576127736154cb565b146127905760405162461bcd60e51b8152600401610c3a90615a25565b80516001600160a01b039081166000908152600b6020526040812054909116908060018960028111156127c5576127c56154cb565b03612a80576000612866846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561280d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128319190615928565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613dc4565b9050886001600160401b0316816001600160401b0316146128bb5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160801b9091048116908216036129095760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c3a565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b8152600401612a48999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b158015612a6257600080fd5b505af1158015612a76573d6000803e3d6000fd5b5050505050612c11565b6002896002811115612a9457612a946154cb565b0361169b576000612b35846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b009190615928565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613e96565b9050886001600160401b0316816001600160401b031614612b8a5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c3a565b85546001600160401b03600160c01b909104811690821603612bd85760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c3a565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b6001860154612c3d90600160681b900460ff166001600160401b0389811690819086811690861661316b565b84546001600160401b03838116600160801b0267ffffffffffffffff60801b19918416600160c01b02919091166001600160801b0390921691909117178555886002811115612c8e57612c8e6154cb565b846020015161ffff168b7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e68837766789600101600d9054906101000a900460ff168c604051612cee92919091151582526001600160401b0316602082015260400190565b60405180910390a450505050505050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6f91906157bd565b612d8b5760405162461bcd60e51b8152600401610c3a90615941565b6000838152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b90049092166060830152612dfe5760405162461bcd60e51b8152600401610c3a906159fb565b80516001600160401b0380841691161180612e2e5750816001600160401b031681602001516001600160401b0316105b15612e4457612e3f308560016139dd565b611916565b6000806000612e5e87866001600160401b03166004613bc0565b6040805182815260208101859052908101839052929550909350915087907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb9060600160405180910390a250505050505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1f91906157bd565b612f3b5760405162461bcd60e51b8152600401610c3a906157da565b6000838152600d602052604090208054612f675760405162461bcd60e51b8152600401610c3a906159fb565b6003600182015460ff166005811115612f8257612f826154cb565b14612f9f5760405162461bcd60e51b8152600401610c3a90615a25565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff1660058111156130a7576130a76154cb565b60058111156130b8576130b86154cb565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b828411156131ad5760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c3a565b8115806131c65750846131c2578382106131c6565b8282115b6131fd5760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c3a565b80158061321657508461321257828111613216565b8381105b611cab5760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c3a565b600080613259846113e5565b9050613267858585846125d6565b6000818152600c60205260408120805492945091600160b01b900463ffffffff1690036133b5578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f826040516133ac919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50935093915050565b80156111fb576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561340b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061342f9190615928565b90506134466001600160a01b038516843085613f53565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa15801561348d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b19190615928565b9050826134be8383615a4a565b14611cab5760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c3a565b6001600160a01b03811660009081526016602052604090205460010361134b57601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b0383166000908152600960205260408120818460038111156135aa576135aa6154cb565b60038111156135bb576135bb6154cb565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b031681526020019081526020016000206000856003811115613607576136076154cb565b6003811115613618576136186154cb565b815260208101919091526040016000205561363d6001600160a01b0385168383613fba565b816001600160a01b0316836003811115613659576136596154cb565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161369491815260200190565b60405180910390a450505050565b6000858152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152888452600d8352818420825160e0810190935280548352600181015491949390919083019060ff16600581111561372b5761372b6154cb565b600581111561373c5761373c6154cb565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a09091015280519091506137bc5760405162461bcd60e51b8152600401610c3a906159fb565b6000878152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138415760405162461bcd60e51b8152600401610c3a90615802565b866005811115613853576138536154cb565b82602001516005811115613869576138696154cb565b146138865760405162461bcd60e51b8152600401610c3a90615a25565b600187600581111561389a5761389a6154cb565b0361393e5782516001600160401b03808816911611806138cf5750856001600160401b031683602001516001600160401b0316105b15613939576040516001600160401b038716815288907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139318882600001518360600151856000015186606001518a30613aee565b505050611cab565b6139c4565b6002876005811115613952576139526154cb565b0361169b5782516001600160401b0380881691161180159061398a5750856001600160401b031683602001516001600160401b031610155b6139395760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c3a565b6139d3888284868a8a8a613feb565b5050505050505050565b6000828152600d6020526040902054613a085760405162461bcd60e51b8152600401610c3a906159fb565b6000828152600f60205260408120556001816001811115613a2b57613a2b6154cb565b03611c515760046000838152600d602052604090206001015460ff166005811115613a5857613a586154cb565b14613a755760405162461bcd60e51b8152600401610c3a90615a25565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613b36613b308663ffffffff87166143bb565b846143d3565b9050613b4588886003846143e3565b613b4e86614497565b613b588689614707565b6000613b648287615a4a565b9050613b71888883614832565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613bad91815260200190565b60405180910390a3505050505050505050565b6000838152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081613c2888613043565b8051909150613c495760405162461bcd60e51b8152600401610c3a906159fb565b600080600080613c5c8c87878e8e61484c565b93509350935093508460000151831115613cde578451600090620186a0613c838287615a4a565b613c8d919061599e565b613c9791906159cb565b9050600754811115613cdc5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c3a565b505b8197508298508096508460000151841115613d3b5760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c3a565b613d4c8c87600001516002876143e3565b613d598660600151614497565b613d6786606001518d614707565b60008c8152600d6020908152604080832083815560010180546001600160d01b0319169055600e82528083208390556010909152812055606086015186518651613db59291908c90886148fe565b50505050505093509350939050565b60006001600160401b0383161580613dee57508560070b613de88787868689614a67565b60070b12155b15613e8a576000620186a0856001600160401b03166064896001600160401b0316896001600160401b0316613e23919061599e565b613e2d919061599e565b613e3791906159cb565b613e4191906159cb565b905082613e7857856001600160401b0316816001600160401b03161115613e69576000613e82565b613e738187615a5d565b613e82565b613e828187615a7d565b915050613e8d565b50815b95945050505050565b60006001600160401b0383161580613ecb5750600654613eb890600019615a9d565b613ec58787868689614a67565b60070b13155b15613e8a576000620186a0856001600160401b03166064600654896001600160401b0316613ef9919061599e565b613f03919061599e565b613f0d91906159cb565b613f1791906159cb565b905082613f2857613e738187615a7d565b856001600160401b0316816001600160401b03161115613f49576000613e82565b613e828187615a5d565b6040516001600160a01b0384811660248301528381166044830152606482018390526119169186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614af3565b6040516001600160a01b038381166024830152604482018390526111fb91859182169063a9059cbb90606401613f88565b85516001600160a01b039081166000908152600b6020526040812054606088015160808901519190931692614026918b918591898b89614b64565b9050816001600160a01b03166352713f678a8a606001518b602001518b600001518c606001518d6080015188604001518d6040518963ffffffff1660e01b81526004016140cc9897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af1925050508015614106575060408051601f3d908101601f1916820190925261410391810190615acd565b60015b61420a57614112615af1565b806308c379a00361414b5750614126615b0c565b80614131575061414d565b8060405162461bcd60e51b8152600401610c3a91906152ee565b505b3d808015614177576040519150601f19603f3d011682016040523d82523d6000602084013e61417c565b606091505b50632eb752bf60e21b61418e82615b95565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b906141db9085908590615bcc565b60405180910390a26142028c8c600001518d606001518d600001518e606001518c30613aee565b5050506143b0565b60008b8152600d6020908152604080832060018101805467ffffffffffffffff60701b1916600160701b6001600160401b038e16021790558c5160109093529220558951614259908490615a4a565b81556001600160401b034281169087161180159061428c575060018101546001600160401b036101009091048116908716115b6142c85760405162461bcd60e51b815260206004820152600d60248201526c04241445f54494d455354414d5609c1b6044820152606401610c3a565b600181810180546001600160401b0389166101000268ffffffffffffffffff199091161760031790558b51614309918e91906143048688615a4a565b6143e3565b8a516001600160a01b038082166000908152600a602052604090205461433192911684614832565b60008c8152600f60209081526040808320929092558582015160608088015184516001600160401b038e8116825293841694810194909452919091168284015281018590526080810184905290518d917fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf81919081900360a00190a25050505b505050505050505050565b600060646143c9838561599e565b61147891906159cb565b6000620186a06143c9838561599e565b8015611916576001600160a01b03831660009081526009602052604081208291846003811115614415576144156154cb565b6003811115614426576144266154cb565b815260200190815260200160002060008282546144439190615bea565b90915550829050600381111561445b5761445b6154cb565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161369491815260200190565b6001600160a01b03811660009081526016602052604090205460010361134b576001600160a01b038116600090815260146020526040812054908190036145215760408051600080825260208201526001600160a01b038416917fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d991015b60405180910390a25050565b601361452e600183615a4a565b8154811061453e5761453e615bfd565b6000918252602090912001546001600160a01b038381169116146145e9576001600160a01b0382166000818152601460205260408120557fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d98260136145a4600183615a4a565b815481106145b4576145b4615bfd565b60009182526020909120015460405161451592916001600160a01b0316909182526001600160a01b0316602082015260400190565b601354600110156146b7576013805461460490600190615a4a565b8154811061461457614614615bfd565b6000918252602090912001546001600160a01b03166013614636600184615a4a565b8154811061464657614646615bfd565b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915581906014906013614681600185615a4a565b8154811061469157614691615bfd565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6001600160a01b03821660009081526014602052604081205560138054806146e1576146e1615c13565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b038216600090815260176020908152604080832084845290915290205480156111fb576001600160a01b038316600090815260166020526040812090614755600184615a4a565b825490915061476690600190615a4a565b8110156147e2578154600090839061478090600190615a4a565b8154811061479057614790615bfd565b90600052602060002001549050808383815481106147b0576147b0615bfd565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b818054806147f2576147f2615c13565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b80156111fb576111fb6001600160a01b0384168383613fba565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d31688926148a8928e92908d908d908d90600401615c29565b6080604051808303816000875af11580156148c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148eb9190615c80565b929c919b50995090975095505050505050565b6001600160a01b038085166000908152600a6020526040812054909116908385106149a75761492d8385615a4a565b9050600061493b8287615a4a565b6040516321d4911360e01b81526001600160a01b038a8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b15801561498957600080fd5b505af115801561499d573d6000803e3d6000fd5b5050505050614a53565b508360006149b58286615a4a565b9050838111156149d8576149d387846149ce8785615a4a565b614832565b614a51565b6001600160a01b0383166321d49113306149f28488615a4a565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614a3857600080fd5b505af1158015614a4c573d6000803e3d6000fd5b505050505b505b614a5e868883614832565b50505050505050565b6000858184614a7f57614a7a8688615cb6565b614a89565b614a898787615cb6565b905060008460070b620186a08360070b614aa39190615a9d565b614aad9190615a9d565b90506000600789900b614ac1606484615ce5565b614acb9190615ce5565b90508094508360070b8560070b13614ae35784614ae5565b835b9a9950505050505050505050565b600080602060008451602086016000885af180614b16576040513d6000823e3d81fd5b50506000513d91508115614b2e578060011415614b3b565b6001600160a01b0384163b155b1561191657604051635274afe760e01b81526001600160a01b0385166004820152602401610c3a565b6040805160808101825260008082526020820181905291810182905260608101919091526000876001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bec9190615928565b60008a8152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b9004909116606082015293509091501580614c5f575060408401516001600160401b0316155b614cab5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60608201516001600160401b03161580614cd0575060608401516001600160401b0316155b614d1c5760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c3a565b60408401516001600160401b031615614d96576000614d468686604001518a63ffffffff16614ee8565b905086614d7c57856001600160401b0316816001600160401b031610614d6d576000614d86565b614d778187615a5d565b614d86565b614d868187615a7d565b6001600160401b03166040840152505b60608401516001600160401b031615614e10576000614dc08686606001518a63ffffffff16614ee8565b905086614dd657614dd18187615a7d565b614e00565b856001600160401b0316816001600160401b031610614df6576000614e00565b614e008187615a5d565b6001600160401b03166060840152505b614e2781868963ffffffff1685604001518a613dc4565b6001600160401b039081166040840152831682526060820151614e56908290879063ffffffff8b16908a613e96565b6001600160401b0390811660608401908152938116602080850191825260009b8c52600e905260409a8b90208451815492519c86015196518416600160c01b026001600160c01b03978516600160801b02979097166001600160801b039d8516600160401b026001600160801b03199094169190941617919091179a909a161792909217909755509495945050505050565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614f19919061599e565b614f23919061599e565b614f2d91906159cb565b613e8d91906159cb565b6003811061134b57600080fd5b606081018181106001600160401b0382111715614f7157634e487b7160e01b600052604160045260246000fd5b60405250565b61012081016001600160401b0381118282101715614f7157634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715614fd857634e487b7160e01b600052604160045260246000fd5b6040525050565b604051614feb81614f77565b90565b6001600160a01b038116811461134b57600080fd5b803561ffff8116811461501557600080fd5b919050565b801515811461134b57600080fd5b80356150158161501a565b803563ffffffff8116811461501557600080fd5b80356001600160401b038116811461501557600080fd5b6000806000808486036101c081121561507657600080fd5b853561508181614f37565b94506060601f198201121561509557600080fd5b6040516150a181614f44565b60208701356150af81614fee565b81526150bd60408801615003565b602082015260608701356150d081614fee565b60408201529350610120607f1982018113156150eb57600080fd5b6150f3614fdf565b915061510160808801615028565b825260a0870135602083015261511960c08801615033565b604083015261512a60e08801615047565b606083015261010061513d818901615047565b608084015261514d828901615047565b60a084015261515f6101408901615047565b60c08401526151716101608901615047565b60e08401526151836101808901615047565b908301525091506151976101a08601615033565b905092959194509250565b6000602082840312156151b457600080fd5b813561147881614fee565b6000602082840312156151d157600080fd5b5035919050565b6004811061134b57600080fd5b6000806000606084860312156151fa57600080fd5b833561520581614fee565b92506020840135615215816151d8565b9150604084013561522581614fee565b809150509250925092565b60008060006060848603121561524557600080fd5b8335925061525560208501615047565b9150604084013590509250925092565b6000806040838503121561527857600080fd5b8235615283816151d8565b946020939093013593505050565b600080604083850312156152a457600080fd5b82356152af81614fee565b915060208301356152bf816151d8565b809150509250929050565b60005b838110156152e55781810151838201526020016152cd565b50506000910152565b602081526000825180602084015261530d8160408501602087016152ca565b601f01601f19169190910160400192915050565b6000806040838503121561533457600080fd5b823561528381614fee565b6020808252825182820181905260009190848201906040850190845b818110156153775783518352928401929184019160010161535b565b50909695505050505050565b60008060006060848603121561539857600080fd5b833592506020840135600281106153ae57600080fd5b929592945050506040919091013590565b600080600080608085870312156153d557600080fd5b843593506153e560208601615047565b92506040850135915061519760608601615047565b60008060006060848603121561540f57600080fd5b8335925060208401356153ae81614f37565b6020808252825182820181905260009190848201906040850190845b818110156153775783516001600160a01b03168352928401929184019160010161543d565b6000806000806080858703121561547857600080fd5b84359350602085013561548a816151d8565b925061549860408601615047565b915061519760608601615047565b600080604083850312156154b957600080fd5b8235915060208301356152bf8161501a565b634e487b7160e01b600052602160045260246000fd5b600681106154f1576154f16154cb565b9052565b87815260e0810161550960208301896154e1565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b60008060006060848603121561555f57600080fd5b833561556a81614fee565b95602085013595506040909401359392505050565b60a0810161558d82886154e1565b6001600160401b0395909516602082015261ffff939093166040840152901515606083015263ffffffff16608090910152919050565b600080600080600060a086880312156155db57600080fd5b853594506155eb60208701615047565b93506155f960408701615047565b925061560760608701615047565b915061561560808701615047565b90509295509295909350565b60008060006060848603121561563657600080fd5b833561564181614fee565b9250602084013561521581614fee565b6000806000806080858703121561566757600080fd5b843561567281614fee565b9350602085013561568281614fee565b925061569060408601615003565b915061519760608601615033565b600080600080608085870312156156b457600080fd5b84359350602085013561548a81614f37565b6000806000606084860312156156db57600080fd5b833592506156eb60208501615047565b91506156f960408501615047565b90509250925092565b60008060006060848603121561571757600080fd5b833561572281614fee565b925060208401356153ae81614fee565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611d2c8284615732565b6060810161579582866154e1565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b6000602082840312156157cf57600080fd5b81516114788161501a565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101e0810161583682886154e1565b63ffffffff808716602084015260018060a01b0380875116604085015261ffff6020880151166060850152806040880151166080850152508451151560a0840152602085015160c08401528060408601511660e08401525060608401516101006158aa818501836001600160401b03169052565b60808601516001600160401b0390811661012086015260a0870151811661014086015260c0870151811661016086015260e087015181166101808601529501519094166101a083015263ffffffff929092166101c090910152949350505050565b60006020828403121561591d57600080fd5b815161147881614fee565b60006020828403121561593a57600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff81811683821601908082111561599757615997615964565b5092915050565b8082028115828204841417611d2c57611d2c615964565b634e487b7160e01b600052601260045260246000fd5b6000826159da576159da6159b5565b500490565b600082516159f18184602087016152ca565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611d2c57611d2c615964565b6001600160401b0382811682821603908082111561599757615997615964565b6001600160401b0381811683821601908082111561599757615997615964565b80820260008212600160ff1b84141615615ab957615ab9615964565b8181058314821517611d2c57611d2c615964565b60008060408385031215615ae057600080fd5b505080516020909101519092909150565b600060033d1115614feb5760046000803e5060005160e01c90565b600060443d1015615b1a5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615b4957505050505090565b8285019150815181811115615b615750505050505090565b843d8701016020828501011115615b7b5750505050505090565b615b8a60208286010187614fa5565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615bc45780818460040360031b1b83161693505b505050919050565b6040810160128410615be057615be06154cb565b9281526020015290565b80820180821115611d2c57611d2c615964565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8681526001600160a01b038616602082015261ffff851660408201526101408101615c576060830186615732565b8361010083015260058310615c6e57615c6e6154cb565b82610120830152979650505050505050565b60008060008060808587031215615c9657600080fd5b505082516020840151604085015160609095015191969095509092509050565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611d2c57611d2c615964565b600082615cf457615cf46159b5565b600160ff1b821460001984141615615d0e57615d0e615964565b50059056fea264697066735822122047196adc0a4bab999cb5d240b913422e368711d933532c31ea8b58032b67528f64736f6c63430008180033";
2097
+ const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615e0480620000336000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806380193b26116101de578063ad1f2b561161010f578063ece938cf116100ad578063f555f6971161007c578063f555f69714610aff578063f5f5ba7214610b1f578063f851a44014610b49578063f9b9484e14610b5c57600080fd5b8063ece938cf14610a6d578063ef6ecc5514610a76578063f2eb245e14610ad6578063f51f3fd314610af657600080fd5b8063ddf474f1116100e9578063ddf474f1146109df578063e640f33b14610a27578063ec18aded14610a3a578063ec7f8a3a14610a4d57600080fd5b8063ad1f2b56146109b9578063b71f3cfe146109c1578063c07f9921146109cc57600080fd5b806394a1e6e51161017c578063a2a25ea611610156578063a2a25ea614610959578063a40d72681461096c578063aaf5eb681461097f578063acfd6b921461098e57600080fd5b806394a1e6e5146108b157806395be5050146108b95780639ff69ffa1461094657600080fd5b80638aa10435116101b85780638aa10435146107d55780638f7a8fb5146107f557806390f24cac1461087057806393a7f6a71461088357600080fd5b806380193b26146107af57806382571409146107b957806386dc4975146107c257600080fd5b8063396f7b23116102c3578063614d08f811610261578063725b7d5211610230578063725b7d521461072057806374d8b78e1461074057806376d901be146107695780637b1039991461079c57600080fd5b8063614d08f81461063f57806366307a4f1461066c57806368f296a5146106e75780636e01af8d1461070d57600080fd5b80634ebe5c331161029d5780634ebe5c33146105f357806350b3ef96146106065780635b214e12146106195780635c60da1b1461062c57600080fd5b8063396f7b23146105ad5780633ad6f124146105c05780633b17a497146105d357600080fd5b80631ea9af6b1161033057806324b22a1f1161030a57806324b22a1f1461052c578063267822471461053f57806330d073d01461055257806338b903331461057d57600080fd5b80631ea9af6b146104e95780632457bc3a146104fc5780632485f3f11461050457600080fd5b8063135e563d1161036c578063135e563d1461048557806318fa4714146104985780631961aba0146104ad5780631d504dc6146104d657600080fd5b8063010570851461039357806303b90a87146103b9578063042e37c5146103fa575b600080fd5b6103a66103a13660046150a3565b610bbe565b6040519081526020015b60405180910390f35b6103e26103c73660046151e7565b600b602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103b0565b610449610408366004615204565b600c60205260009081526040902080546001909101546001600160a01b0380831692600160a01b810461ffff1692600160b01b90910463ffffffff16911684565b604080516001600160a01b03958616815261ffff909416602085015263ffffffff909216918301919091529190911660608201526080016103b0565b6103e2610493366004615204565b611119565b6104ab6104a636600461522a565b611143565b005b6103a66104bb3660046151e7565b6001600160a01b031660009081526016602052604090205490565b6104ab6104e43660046151e7565b611212565b6104ab6104f7366004615275565b611360565b6013546103a6565b6105176105123660046151e7565b6113f7565b60405163ffffffff90911681526020016103b0565b6104ab61053a3660046152aa565b611491565b6001546103e2906001600160a01b031681565b6103a66105603660046152d6565b600960209081526000928352604080842090915290825290205481565b6105a0604051806040016040528060048152602001631898189b60e11b81525081565b6040516103b09190615333565b6003546103e2906001600160a01b031681565b6103a66105ce366004615366565b611730565b6105e66105e13660046151e7565b611761565b6040516103b09190615384565b6104ab6106013660046153c8565b6117cd565b6104ab610614366004615404565b611891565b6104ab610627366004615446565b611a45565b6002546103e2906001600160a01b031681565b6105a06040518060400160405280600e81526020016d54726164696e67466c6f6f72563160901b81525081565b6106b461067a366004615204565b600e602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016103b0565b6105176106f53660046151e7565b60156020526000908152604090205463ffffffff1681565b6104ab61071b366004615481565b611ae2565b61073361072e366004615366565b611e71565b6040516103b091906154a8565b6103e261074e3660046151e7565b600a602052600090815260409020546001600160a01b031681565b61078c610777366004615204565b60086020526000908152604090205460ff1681565b60405190151581526020016103b0565b6004546103e2906001600160a01b031681565b6103a6620186a081565b6103a660075481565b6104ab6107d03660046154e9565b611ef1565b6040805180820190915260048152631898189b60e11b60208201526105a0565b61085d610803366004615204565b600d602052600090815260409020805460019091015460ff808216916001600160401b03610100820481169263ffffffff600160481b8404811693600160681b810490921692600160701b83041691600160b01b90041687565b6040516103b09796959493929190615538565b6103e261087e36600461558d565b611f84565b61078c6108913660046151e7565b6001600160a01b039081166000908152600a602052604090205416151590565b6103a6611fc9565b6109336108c7366004615204565b6000908152600d602081815260408084206001810154600c8452919094205492909152915460ff8084169461010085046001600160401b031694600160a01b850461ffff1694600160681b820490931693600160b01b90910463ffffffff16926001600160a01b031691565b6040516103b097969594939291906155c2565b6104ab61095436600461561c565b611fda565b6104ab61096736600461567a565b612214565b6103a661097a3660046156aa565b612336565b6103a6670de0b6b3a764000081565b6103a661099c366004615366565b601760209081526000928352604080842090915290825290205481565b6103a6606481565b6103a6633b9aca0081565b6104ab6109da3660046156e9565b6123a5565b6106b46109ed366004615204565b600f602052600090815260409020546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b6104ab610a3536600461572d565b612a62565b6104ab610a48366004615769565b612bf3565b6103a6610a5b3660046151e7565b60146020526000908152604090205481565b6103a660055481565b610ab9610a843660046157bd565b601260209081526000938452604080852082529284528284209052825290205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016103b0565b6103a6610ae4366004615204565b60106020526000908152604090205481565b6103a660065481565b610b12610b0d366004615204565b613047565b6040516103b09190615834565b60408051808201909152600e81526d54726164696e67466c6f6f72563160901b60208201526105a0565b6000546103e2906001600160a01b031681565b610baf610b6a366004615204565b6000908152600d60209081526040808320600190810154600c90935292209091015460ff8216926101009092046001600160401b0316916001600160a01b0390911690565b6040516103b093929190615842565b6004805460405163731aa5f960e01b815233928101929092526000916001600160a01b039091169063731aa5f990602401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c309190615878565b610c555760405162461bcd60e51b8152600401610c4c90615895565b60405180910390fd5b610c7d84604001516001600160a01b039081166000908152600a602052604090205416151590565b610cc95760405162461bcd60e51b815260206004820152601e60248201527f4e4f4e5f535550504f525445445f534554544c454d454e545f415353455400006044820152606401610c4c565b60208085015161ffff1660009081526008909152604090205460ff1615610d025760405162461bcd60e51b8152600401610c4c906158bd565b6001856002811115610d1657610d1661550e565b1480610d3357506002856002811115610d3157610d3161550e565b145b610d785760405162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f4f524445525f5459504560501b6044820152606401610c4c565b610dbd836000015184606001516001600160401b031685608001516001600160401b03168660a001516001600160401b03168760c001516001600160401b031661316f565b60055484516001600160a01b031660009081526016602052604090205410610e1f5760405162461bcd60e51b815260206004820152601560248201527426a0ac2faa2920a222a9afa822a92faa2920a222a960591b6044820152606401610c4c565b6000610e38856040015186600001518760200151613251565b8092508193505050610e578560400151866000015186602001516133c2565b8451610e6290613507565b6000828152600d60205260409020805415610ea95760405162461bcd60e51b8152602060048201526007602482015266125117d554d15160ca1b6044820152606401610c4c565b600180820180548751604089015163ffffffff908116600160481b026cffffffff00000000000000000019921515600160681b0260ff60681b19928b16600160b01b02929092166cffffffff0000000000000000ff60681b1990941693909317171617905560208601518255600090886002811115610f2a57610f2a61550e565b14610f36576002610f39565b60015b9050808260010160006101000a81548160ff02191690836005811115610f6157610f6161550e565b0217905550428260010160016101000a8154816001600160401b0302191690836001600160401b031602179055506000600e600086815260200190815260200160002090508660a001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508660c001518160000160186101000a8154816001600160401b0302191690836001600160401b031602179055506000600f6000878152602001908152602001600020905087606001518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555087608001518160000160086101000a8154816001600160401b0302191690836001600160401b031602179055508760e001518160000160106101000a8154816001600160401b0302191690836001600160401b031602179055508761010001518160000160186101000a8154816001600160401b0302191690836001600160401b03160217905550857f835de04f5a930b169d6564c8f1c5f91f89abd9ea026b7488c94452abb900cc7484878c8c8c6040516111049594939291906158e2565b60405180910390a25050505050949350505050565b6013818154811061112957600080fd5b6000918252602090912001546001600160a01b0316905081565b6004805460405163a8e36e5b60e01b81526001600160a01b038681169382019390935291169063a8e36e5b90602401602060405180830381865afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b391906159c6565b6001600160a01b0316336001600160a01b0316146112025760405162461bcd60e51b815260206004820152600c60248201526b10a332b2b9a6b0b730b3b2b960a11b6044820152606401610c4c565b61120d838383613583565b505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127491906159c6565b6001600160a01b0316336001600160a01b0316146112c35760405162461bcd60e51b815260206004820152600c60248201526b10b83937bc3c9730b236b4b760a11b6044820152606401610c4c565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611303573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132791906159e3565b1561135d5760405162461bcd60e51b8152600401610c4c9060208082526004908201526319985a5b60e21b604082015260600190565b50565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd9190615878565b6113e95760405162461bcd60e51b8152600401610c4c906159fc565b61120d8360028484426136a6565b6001600160a01b03811660009081526015602052604081205463ffffffff9081169081106114675760405162461bcd60e51b815260206004820152601760248201527f504f534954494f4e5f494e4445585f4f564552464c4f570000000000000000006044820152606401610c4c565b600b8163ffffffff16101561147f5750600b92915050565b61148a816001615a35565b9392505050565b6000546001600160a01b031633146114d85760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c4c565b600081116115195760405162461bcd60e51b815260206004820152600e60248201526d43414e4e4f545f42455f5a45524f60901b6044820152606401610c4c565b6060600183600381111561152f5761152f61550e565b03611568575060408051808201909152601281527136b0bc2a3930b232b9a832b92a3930b232b960711b602082015260058290556116e3565b600283600381111561157c5761157c61550e565b0361160b576064611591620186a06032615a59565b61159b9190615a86565b8210156115e45760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c4c565b506040805180820190915260068082526536b0bc29b62360d11b60208301528290556116e3565b600383600381111561161f5761161f61550e565b036116ad57611632620186a06002615a59565b82101561167b5760405162461bcd60e51b81526020600482015260176024820152762a2920a222afa820a920a6afa922a9aa2924a1aa24a7a760491b6044820152606401610c4c565b5060408051808201909152601081526f36b0bc29b0b734ba3ca83937b334ba2360811b602082015260078290556116e3565b60405162461bcd60e51b815260206004820152600b60248201526a155394d5541413d495115160aa1b6044820152606401610c4c565b806040516116f19190615a9a565b604051908190038120838252907f8cf3e35f6221b16e1670a3413180c9484bf5aa71787905909fa82a6a2662e9ab9060200160405180910390a2505050565b6016602052816000526040600020818154811061174c57600080fd5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601660209081526040918290208054835181840281018401909452808452606093928301828280156117c157602002820191906000526020600020905b8154815260200190600101908083116117ad575b50505050509050919050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183a9190615878565b6118865760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c4c565b61120d3384846139e1565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190615878565b61191a5760405162461bcd60e51b8152600401610c4c906159fc565b6000848152600f6020908152604091829020825160808101845290546001600160401b038082168352600160401b82048116938301849052600160801b8204811694830194909452600160c01b9004909216606083015261198d5760405162461bcd60e51b8152600401610c4c90615ab6565b80516001600160401b03808516911611806119bd5750826001600160401b031681602001516001600160401b0316105b156119d3576119ce308660016139e1565b611a3e565b60008060006119ee88876001600160401b0316600488613af2565b6040805182815260208101859052908101839052929550909350915088907f9912c2c8197504aea5a1b52b98eeae3f4aecabe190feebc292455c355d4297cb906060015b60405180910390a25050505b5050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190615878565b611ace5760405162461bcd60e51b8152600401610c4c906159fc565b611adc8460018585856136a6565b50505050565b6004805460405163419a519360e01b815233928101929092526001600160a01b03169063419a519390602401602060405180830381865afa158015611b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4f9190615878565b611b9b5760405162461bcd60e51b815260206004820152601a60248201527f212854726164657273506f7274616c7c7c5472696767657273290000000000006044820152606401610c4c565b611ba96064620186a0615a86565b811115611bef5760405162461bcd60e51b81526020600482015260146024820152734645455f4652414354494f4e5f544f4f5f42494760601b6044820152606401610c4c565b6000838152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115611c2e57611c2e61550e565b6005811115611c3f57611c3f61550e565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b86041615156060870152600160701b85049093166080860152600160b01b90930490921660a0909301929092526000878152600d9091522054909150611cd65760405162461bcd60e51b8152600401610c4c90615ab6565b6000848152600c6020908152604091829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1694830194909452600160b01b900463ffffffff16938101939093526001908101549091166060830152846002811115611d4557611d4561550e565b03611da757600182602001516005811115611d6257611d6261550e565b14611da25760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa6a0a925a2aa2fa7a92222a960811b6044820152606401610c4c565b611e52565b6002846002811115611dbb57611dbb61550e565b03611e1757600282602001516005811115611dd857611dd861550e565b14611da25760405162461bcd60e51b815260206004820152600f60248201526e2727aa2fa624a6a4aa2fa7a92222a960891b6044820152606401610c4c565b60405162461bcd60e51b815260206004820152601060248201526f57524f4e475f4f524445525f5459504560801b6044820152606401610c4c565b611a3e8582600001518360600151856000015186606001518833613cf8565b6001600160a01b0382166000908152601160209081526040808320848452825291829020805483518184028101840190945280845260609392830182828015611ee357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ec5575b505050505090505b92915050565b6000546001600160a01b03163314611f385760405162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b6044820152606401610c4c565b600082815260086020526040808220805460ff19168415159081179091559051909184917f996384f9c771a575699aadc5e543fb849613b350a1b29584a1ecca98d2cfc1709190a35050565b60116020528260005260406000206020528160005260406000208181548110611fac57600080fd5b6000918252602090912001546001600160a01b0316925083915050565b611fd76064620186a0615a86565b81565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120479190615878565b6120635760405162461bcd60e51b8152600401610c4c90615895565b6000858152600d602052604090206002600182015460ff16600581111561208c5761208c61550e565b146120a95760405162461bcd60e51b8152600401610c4c90615ae0565b6000868152600c6020908152604080832054600160a01b900461ffff168352600890915290205460ff16156120f05760405162461bcd60e51b8152600401610c4c906158bd565b61213281600101600d9054906101000a900460ff16866001600160401b0316866001600160401b0316866001600160401b0316866001600160401b031661316f565b60018101805468ffffffffffffffff001916610100426001600160401b0390811691909102919091179091556000878152600e6020908152604080832080546001600160801b0316600160801b8987169081026001600160c01b031691909117600160c01b898816908102919091178355600f85529483902080548c88166001600160801b03199091168117600160401b988d169889021782558451928352948201959095529182019290925260608101939093529188907f098a3c0f7acdf2c147440d705e162d395db886273731a238b250793cde346d8590608001611a32565b6004546001600160a01b0316331461225a5760405162461bcd60e51b815260206004820152600960248201526821526567697374727960b81b6044820152606401610c4c565b6001600160a01b038381166000908152600a602052604090205416156122c25760405162461bcd60e51b815260206004820152601760248201527f41535345545f414c52454144595f535550504f525445440000000000000000006044820152606401610c4c565b6001600160a01b038084166000818152600a6020908152604080832080548689166001600160a01b03199182168117909255600b9093528184208054968816969093168617909255519092917fe34fb4592f12d191480ae66f1051ba82ee53c518b07f632579da8d40a74c77c891a4505050565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa1580156123ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124129190615878565b61242e5760405162461bcd60e51b8152600401610c4c906159fc565b6000848152600d60209081526040808320600e8352818420600c845293829020825160808101845281546001600160a01b038082168352600160a01b820461ffff1696830196909652600160b01b900463ffffffff169381019390935260010154909216606082015281549192916124b85760405162461bcd60e51b8152600401610c4c90615ab6565b6003600184015460ff1660058111156124d3576124d361550e565b146124f05760405162461bcd60e51b8152600401610c4c90615ae0565b80516001600160a01b039081166000908152600b6020526040812054909116908060018960028111156125255761252561550e565b036127e05760006125c6846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561256d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259191906159e3565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613dca565b9050886001600160401b0316816001600160401b03161461261b5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c4c565b85546001600160401b03600160801b9091048116908216036126695760405162461bcd60e51b8152602060048201526007602482015266053414d455f54560cc1b6044820152606401610c4c565b8092508560000160189054906101000a90046001600160401b03169150428660000160006101000a8154816001600160401b0302191690836001600160401b03160217905550836001600160a01b0316633cdc20f88c876060015188602001518b600001548c60010160099054906101000a900463ffffffff168d600101600d9054906101000a900460ff168e600101600e9054906101000a90046001600160401b03168e60000160109054906101000a90046001600160401b03168c6040518a63ffffffff1660e01b81526004016127a8999897969594939291909889526001600160a01b0397909716602089015261ffff959095166040880152606087019390935263ffffffff919091166080860152151560a08501526001600160401b0390811660c085015290811660e0840152166101008201526101200190565b600060405180830381600087803b1580156127c257600080fd5b505af11580156127d6573d6000803e3d6000fd5b5050505050612971565b60028960028111156127f4576127f461550e565b036116ad576000612895846001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561283c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286091906159e3565b6001890154600160701b81046001600160401b031690600160481b810463ffffffff16908d90600160681b900460ff16613e9c565b9050886001600160401b0316816001600160401b0316146128ea5760405162461bcd60e51b815260206004820152600f60248201526e4241445f4649454c445f56414c554560881b6044820152606401610c4c565b85546001600160401b03600160c01b9091048116908216036129385760405162461bcd60e51b815260206004820152600760248201526614d0535157d4d360ca1b6044820152606401610c4c565b8554426001600160401b03908116600160401b026fffffffffffffffff0000000000000000198316178855600160801b90910416925090505b600186015461299d90600160681b900460ff166001600160401b0389811690819086811690861661316f565b84546001600160401b03838116600160801b0267ffffffffffffffff60801b19918416600160c01b02919091166001600160801b03909216919091171785558860028111156129ee576129ee61550e565b846020015161ffff168b7f90bbb7e2b715065bd66ba75a34fca9b65694d5e75327dd0873a5e3e68837766789600101600d9054906101000a900460ff168c604051612a4e92919091151582526001600160401b0316602082015260400190565b60405180910390a450505050505050505050565b6004805460405163731aa5f960e01b815233928101929092526001600160a01b03169063731aa5f990602401602060405180830381865afa158015612aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612acf9190615878565b612aeb5760405162461bcd60e51b8152600401610c4c90615895565b6000838152600d602052604090208054612b175760405162461bcd60e51b8152600401610c4c90615ab6565b6003600182015460ff166005811115612b3257612b3261550e565b14612b4f5760405162461bcd60e51b8152600401610c4c90615ae0565b6001810180546001600160401b034281166101000268ffffffffffffffffff19909216919091176004179091556000858152600f60209081526040918290208054868516600160401b81026001600160801b03199092169589169586179190911782558351948552918401919091529186917fb7bb5d6820a30953d2858e9c448319c4cebbc70c347961e25f1adfff46566689910160405180910390a25050505050565b6004805460405163a5a2ed3760e01b815233928101929092526001600160a01b03169063a5a2ed3790602401602060405180830381865afa158015612c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c609190615878565b612c7c5760405162461bcd60e51b8152600401610c4c906159fc565b6000858152600d60209081526040808320815160e08101909252805482526001810154919290919083019060ff166005811115612cbb57612cbb61550e565b6005811115612ccc57612ccc61550e565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a0909101528051909150612d4c5760405162461bcd60e51b8152600401610c4c90615ab6565b6000868152600e60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811694830194909452600160801b8104841692820192909252600160c01b90910490911660608201529080806002896003811115612dbb57612dbb61550e565b03612e18578460800151612de85783606001516001600160401b0316876001600160401b03161015612e03565b83606001516001600160401b0316876001600160401b031611155b925050506001600160401b0385166002612efd565b6001896003811115612e2c57612e2c61550e565b03612e8f578460800151612e595783604001516001600160401b0316876001600160401b03161115612e74565b83604001516001600160401b0316876001600160401b031610155b925083604001516001600160401b0316915060019050612efd565b6003896003811115612ea357612ea361550e565b03612ebf575060019150506001600160401b0385166003612efd565b60405162461bcd60e51b81526020600482015260136024820152722ba927a723afa624a6a4aa2faa2924a3a3a2a960691b6044820152606401610c4c565b82612f3a5760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c4c565b6000806000612f4b8d86868c613af2565b919450925090506003846004811115612f6657612f6661550e565b03612fd3578760800151612f8657808a6001600160401b03161015612f94565b808a6001600160401b031611155b955085612fd35760405162461bcd60e51b815260206004820152600d60248201526c2320a629a2afaa2924a3a3a2a960991b6044820152606401610c4c565b8b6003811115612fe557612fe561550e565b604080516001600160401b038d16815260208101849052908101859052606081018490528e907fe67823c5c7b61d690bab4b46031d192b68f898b47bdf7daffbddff8e24aaf9bd9060800160405180910390a350505050505050505050505050565b6040805160a081018252600080825260208083018290528284018290526060830182905260808301829052848252600d8152838220845160e0810190955280548552600181015493949293909183019060ff1660058111156130ab576130ab61550e565b60058111156130bc576130bc61550e565b8152600191909101546001600160401b036101008204811660208085019190915263ffffffff600160481b8404811660408087019190915260ff600160681b8604161515606080880191909152600160701b86048516608080890191909152600160b01b909604831660a09788015287518a52878101519092168984015294860151831690880152938201511515868401526000968752600e909352942054600160801b90041692820192909252919050565b828411156131b15760405162461bcd60e51b815260206004820152600f60248201526e4d494e5f4d41585f5245564552534560881b6044820152606401610c4c565b8115806131ca5750846131c6578382106131ca565b8282115b6132015760405162461bcd60e51b8152602060048201526008602482015267057524f4e475f54560c41b6044820152606401610c4c565b80158061321a5750846132165782811161321a565b8381105b611a3e5760405162461bcd60e51b815260206004820152600860248201526715d493d391d7d4d360c21b6044820152606401610c4c565b60008061325d846113f7565b905061326b85858584612336565b6000818152600c60205260408120805492945091600160b01b900463ffffffff1690036133b9578054600180830180546001600160a01b0319166001600160a01b038981169182179092559089166001600160b01b031990931692909217600160a01b61ffff8816021763ffffffff60b01b1916600160b01b63ffffffff86169081029190911784556000838152601560209081526040808320805463ffffffff19169094179093556016815282822080549485018155808352818320909401889055925493815260178352818120878252909252902055827f487ea6416487448c3ce943d750c8f67a275e4d8f26ac4093803bf63354b7006f826040516133b0919081546001600160a01b03808216835260a082901c61ffff16602084015260b09190911c63ffffffff166040830152600190920154909116606082015260800190565b60405180910390a25b50935093915050565b801561120d576040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561340f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343391906159e3565b905061344a6001600160a01b038516843085613f59565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015613491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b591906159e3565b9050826134c28383615b05565b14611a3e5760405162461bcd60e51b815260206004820152601560248201527411125117d393d517d49150d152559157d1561050d5605a1b6044820152606401610c4c565b6001600160a01b03811660009081526016602052604090205460010361135d57601380546001810182557f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319166001600160a01b039390931692831790555460009182526014602052604090912055565b6001600160a01b0383166000908152600960205260408120818460038111156135ae576135ae61550e565b60038111156135bf576135bf61550e565b8152602001908152602001600020549050600060096000866001600160a01b03166001600160a01b03168152602001908152602001600020600085600381111561360b5761360b61550e565b600381111561361c5761361c61550e565b81526020810191909152604001600020556136416001600160a01b0385168383613fc0565b816001600160a01b031683600381111561365d5761365d61550e565b856001600160a01b03167f0e80b333c403be7cb491b3ba7f29fe30014c594adbcbec04272291b2f72f6e6a8460405161369891815260200190565b60405180910390a450505050565b6000858152600f60209081526040808320815160808101835290546001600160401b038082168352600160401b8204811683860152600160801b8204811683850152600160c01b909104166060820152888452600d8352818420825160e0810190935280548352600181015491949390919083019060ff16600581111561372f5761372f61550e565b60058111156137405761374061550e565b8152600191909101546001600160401b0361010082048116602084015263ffffffff600160481b83048116604085015260ff600160681b84041615156060850152600160701b83049091166080840152600160b01b9091041660a09091015280519091506137c05760405162461bcd60e51b8152600401610c4c90615ab6565b6000878152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff16838701819052600160b01b90920463ffffffff1683860152600190930154909216606082015290845260089092529091205460ff16156138455760405162461bcd60e51b8152600401610c4c906158bd565b8660058111156138575761385761550e565b8260200151600581111561386d5761386d61550e565b1461388a5760405162461bcd60e51b8152600401610c4c90615ae0565b600187600581111561389e5761389e61550e565b036139425782516001600160401b03808816911611806138d35750856001600160401b031683602001516001600160401b0316105b1561393d576040516001600160401b038716815288907f82c058420d58fdfcaa301ef645c860145096603267b7b7ac02831312ac2ab4479060200160405180910390a26139358882600001518360600151856000015186606001518a30613cf8565b505050611a3e565b6139c8565b60028760058111156139565761395661550e565b036116ad5782516001600160401b0380881691161180159061398e5750856001600160401b031683602001516001600160401b031610155b61393d5760405162461bcd60e51b815260206004820152600b60248201526a50524943455f52414e474560a81b6044820152606401610c4c565b6139d7888284868a8a8a613ff1565b5050505050505050565b6000828152600d6020526040902054613a0c5760405162461bcd60e51b8152600401610c4c90615ab6565b6000828152600f60205260408120556001816001811115613a2f57613a2f61550e565b03611e175760046000838152600d602052604090206001015460ff166005811115613a5c57613a5c61550e565b14613a795760405162461bcd60e51b8152600401610c4c90615ae0565b6000828152600d6020908152604080832060010180546001600160401b0342166101000268ffffffffffffffffff19909116176003179055519182526001600160a01b0385169184917f2cb817145129b5c52a6dc17e0605285c54d9c258fbf0a21e78bfff4e00813333910160405180910390a3505050565b6000848152600c60209081526040808320815160808101835281546001600160a01b038082168352600160a01b820461ffff1695830195909552600160b01b900463ffffffff16928101929092526001015490911660608201528190819081613b5a89613047565b8051909150613b7b5760405162461bcd60e51b8152600401610c4c90615ab6565b600080600080613b8e8d87878f8f6143c1565b93509350935093508460000151831115613c10578451600090620186a0613bb58287615b05565b613bbf9190615a59565b613bc99190615a86565b9050600754811115613c0e5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d41493d1925560921b6044820152606401610c4c565b505b8197508298508096508460000151841115613c6d5760405162461bcd60e51b815260206004820152601e60248201527f434c4f53455f4645455f4c41524745525f5448414e5f504f534954494f4e00006044820152606401610c4c565b613c7e8d8760000151600287614473565b613c8b8660600151614527565b613c9986606001518e614797565b60008d8152600d6020908152604080832083815560010180546001600160d01b0319169055600e82528083208390556010909152812055606086015186518651613ce89291908c90888f6148c2565b5050505050509450945094915050565b6000878152600d6020908152604080832083815560010180546001600160d01b0319169055600f9091528120819055613d40613d3a8663ffffffff8716614a6a565b84614a82565b9050613d4f8888600384614473565b613d5886614527565b613d628689614797565b6000613d6e8287615b05565b9050613d7b888883614a92565b826001600160a01b0316897f0732bc6c415e7a220efee5f866e1e91a1335745b97373898ffecfddbc708a3e784604051613db791815260200190565b60405180910390a3505050505050505050565b60006001600160401b0383161580613df457508560070b613dee8787868689614aac565b60070b12155b15613e90576000620186a0856001600160401b03166064896001600160401b0316896001600160401b0316613e299190615a59565b613e339190615a59565b613e3d9190615a86565b613e479190615a86565b905082613e7e57856001600160401b0316816001600160401b03161115613e6f576000613e88565b613e798187615b18565b613e88565b613e888187615b38565b915050613e93565b50815b95945050505050565b60006001600160401b0383161580613ed15750600654613ebe90600019615b58565b613ecb8787868689614aac565b60070b13155b15613e90576000620186a0856001600160401b03166064600654896001600160401b0316613eff9190615a59565b613f099190615a59565b613f139190615a86565b613f1d9190615a86565b905082613f2e57613e798187615b38565b856001600160401b0316816001600160401b03161115613f4f576000613e88565b613e888187615b18565b6040516001600160a01b038481166024830152838116604483015260648201839052611adc9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614b38565b6040516001600160a01b0383811660248301526044820183905261120d91859182169063a9059cbb90606401613f8e565b85516001600160a01b039081166000908152600b602052604081205460608801516080890151919093169261402c918b918591898b89614ba9565b9050816001600160a01b03166352713f678a8a606001518b602001518b600001518c606001518d6080015188604001518d6040518963ffffffff1660e01b81526004016140d29897969594939291909788526001600160a01b0396909616602088015261ffff949094166040870152606086019290925263ffffffff166080850152151560a08401526001600160401b0390811660c08401521660e08201526101000190565b60408051808303816000875af192505050801561410c575060408051601f3d908101601f1916820190925261410991810190615b88565b60015b61421057614118615bac565b806308c379a003614151575061412c615bc7565b806141375750614153565b8060405162461bcd60e51b8152600401610c4c9190615333565b505b3d80801561417d576040519150601f19603f3d011682016040523d82523d6000602084013e614182565b606091505b50632eb752bf60e21b61419482615c50565b6001600160e01b0319160361038e57602481015160448201516040518c907ff2c847d05971bf83dd347e0732c1ef893111318fb2540f5fe6f9783cb8d6ae5b906141e19085908590615c87565b60405180910390a26142088c8c600001518d606001518d600001518e606001518c30613cf8565b5050506143b6565b60008b8152600d6020908152604080832060018101805467ffffffffffffffff60701b1916600160701b6001600160401b038e16021790558c516010909352922055895161425f908490615b05565b81556001600160401b0342811690871611801590614292575060018101546001600160401b036101009091048116908716115b6142ce5760405162461bcd60e51b815260206004820152600d60248201526c04241445f54494d455354414d5609c1b6044820152606401610c4c565b600181810180546001600160401b0389166101000268ffffffffffffffffff199091161760031790558b5161430f918e919061430a8688615b05565b614473565b8a516001600160a01b038082166000908152600a602052604090205461433792911684614a92565b60008c8152600f60209081526040808320929092558582015160608088015184516001600160401b038e8116825293841694810194909452919091168284015281018590526080810184905290518d917fdd0164525ce1bb6897fbd7000a7d93633016a05f498d94903ca1fcc7911cdf81919081900360a00190a25050505b505050505050505050565b83516001600160a01b039081166000908152600b60209081526040808320546060890151928901519151630f1a62d160e31b8152939485948594859493909216926378d316889261441d928e92908d908d908d90600401615ca5565b6080604051808303816000875af115801561443c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144609190615cfc565b929c919b50995090975095505050505050565b8015611adc576001600160a01b038316600090815260096020526040812082918460038111156144a5576144a561550e565b60038111156144b6576144b661550e565b815260200190815260200160002060008282546144d39190615d32565b9091555082905060038111156144eb576144eb61550e565b836001600160a01b0316857f52aab89a61b38ba21feecda2012e9c20aec817e5d709d0633c3fd693bb949cbb8460405161369891815260200190565b6001600160a01b03811660009081526016602052604090205460010361135d576001600160a01b038116600090815260146020526040812054908190036145b15760408051600080825260208201526001600160a01b038416917fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d991015b60405180910390a25050565b60136145be600183615b05565b815481106145ce576145ce615d45565b6000918252602090912001546001600160a01b03838116911614614679576001600160a01b0382166000818152601460205260408120557fd206397c5bb871d309f7602ac869a71536b264e19e25714421d6456b6b5008d9826013614634600183615b05565b8154811061464457614644615d45565b6000918252602090912001546040516145a592916001600160a01b0316909182526001600160a01b0316602082015260400190565b60135460011015614747576013805461469490600190615b05565b815481106146a4576146a4615d45565b6000918252602090912001546001600160a01b031660136146c6600184615b05565b815481106146d6576146d6615d45565b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915581906014906013614711600185615b05565b8154811061472157614721615d45565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6001600160a01b038216600090815260146020526040812055601380548061477157614771615d5b565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0382166000908152601760209081526040808320848452909152902054801561120d576001600160a01b0383166000908152601660205260408120906147e5600184615b05565b82549091506147f690600190615b05565b811015614872578154600090839061481090600190615b05565b8154811061482057614820615d45565b906000526020600020015490508083838154811061484057614840615d45565b60009182526020808320909101929092556001600160a01b038816815260178252604080822093825292909152208390555b8180548061488257614882615d5b565b6000828152602080822083016000199081018390559092019092556001600160a01b03871682526017815260408083208784529091528120555050505050565b6001600160a01b038086166000908152600a60205260408120549091169084861061496b576148f18486615b05565b905060006148ff8288615b05565b6040516321d4911360e01b81526001600160a01b038b8116600483015260248201839052919250908416906321d4911390604401600060405180830381600087803b15801561494d57600080fd5b505af1158015614961573d6000803e3d6000fd5b5050505050614a5f565b508460006149798287615b05565b9050848111156149e457600061498f8683615b05565b90506000620186a06149a763ffffffff881684615a59565b6149b19190615a86565b905080156149d2576149c38183615b05565b91506149cf8185615d32565b93505b6149dd8a8684614a92565b5050614a5d565b6001600160a01b0383166321d49113306149fe8489615b05565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015614a4457600080fd5b505af1158015614a58573d6000803e3d6000fd5b505050505b505b6139d7878983614a92565b60006064614a788385615a59565b61148a9190615a86565b6000620186a0614a788385615a59565b801561120d5761120d6001600160a01b0384168383613fc0565b6000858184614ac457614abf8688615d71565b614ace565b614ace8787615d71565b905060008460070b620186a08360070b614ae89190615b58565b614af29190615b58565b90506000600789900b614b06606484615da0565b614b109190615da0565b90508094508360070b8560070b13614b285784614b2a565b835b9a9950505050505050505050565b600080602060008451602086016000885af180614b5b576040513d6000823e3d81fd5b50506000513d91508115614b73578060011415614b80565b6001600160a01b0384163b155b15611adc57604051635274afe760e01b81526001600160a01b0385166004820152602401610c4c565b6040805160808101825260008082526020820181905291810182905260608101919091526000876001600160a01b0316631cb92ed36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c3191906159e3565b60008a8152600e6020908152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b81048316938201849052600160c01b9004909116606082015293509091501580614ca4575060408401516001600160401b0316155b614cf05760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f54505f444546494e4954494f4e530000000000000000006044820152606401610c4c565b60608201516001600160401b03161580614d15575060608401516001600160401b0316155b614d615760405162461bcd60e51b815260206004820152601760248201527f4d554c5449504c455f534c5f444546494e4954494f4e530000000000000000006044820152606401610c4c565b60408401516001600160401b031615614ddb576000614d8b8686604001518a63ffffffff16614f2d565b905086614dc157856001600160401b0316816001600160401b031610614db2576000614dcb565b614dbc8187615b18565b614dcb565b614dcb8187615b38565b6001600160401b03166040840152505b60608401516001600160401b031615614e55576000614e058686606001518a63ffffffff16614f2d565b905086614e1b57614e168187615b38565b614e45565b856001600160401b0316816001600160401b031610614e3b576000614e45565b614e458187615b18565b6001600160401b03166060840152505b614e6c81868963ffffffff1685604001518a613dca565b6001600160401b039081166040840152831682526060820151614e9b908290879063ffffffff8b16908a613e9c565b6001600160401b0390811660608401908152938116602080850191825260009b8c52600e905260409a8b90208451815492519c86015196518416600160c01b026001600160c01b03978516600160801b02979097166001600160801b039d8516600160401b026001600160801b03199094169190941617919091179a909a161792909217909755509495945050505050565b600080826001600160401b0316620186a06064866001600160401b0316886001600160401b0316614f5e9190615a59565b614f689190615a59565b614f729190615a86565b613e939190615a86565b6003811061135d57600080fd5b606081018181106001600160401b0382111715614fb657634e487b7160e01b600052604160045260246000fd5b60405250565b61012081016001600160401b0381118282101715614fb657634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561501d57634e487b7160e01b600052604160045260246000fd5b6040525050565b60405161503081614fbc565b90565b6001600160a01b038116811461135d57600080fd5b803561ffff8116811461505a57600080fd5b919050565b801515811461135d57600080fd5b803561505a8161505f565b803563ffffffff8116811461505a57600080fd5b80356001600160401b038116811461505a57600080fd5b6000806000808486036101c08112156150bb57600080fd5b85356150c681614f7c565b94506060601f19820112156150da57600080fd5b6040516150e681614f89565b60208701356150f481615033565b815261510260408801615048565b6020820152606087013561511581615033565b60408201529350610120607f19820181131561513057600080fd5b615138615024565b91506151466080880161506d565b825260a0870135602083015261515e60c08801615078565b604083015261516f60e0880161508c565b606083015261010061518281890161508c565b608084015261519282890161508c565b60a08401526151a4610140890161508c565b60c08401526151b6610160890161508c565b60e08401526151c8610180890161508c565b908301525091506151dc6101a08601615078565b905092959194509250565b6000602082840312156151f957600080fd5b813561148a81615033565b60006020828403121561521657600080fd5b5035919050565b6004811061135d57600080fd5b60008060006060848603121561523f57600080fd5b833561524a81615033565b9250602084013561525a8161521d565b9150604084013561526a81615033565b809150509250925092565b60008060006060848603121561528a57600080fd5b8335925061529a6020850161508c565b9150604084013590509250925092565b600080604083850312156152bd57600080fd5b82356152c88161521d565b946020939093013593505050565b600080604083850312156152e957600080fd5b82356152f481615033565b915060208301356153048161521d565b809150509250929050565b60005b8381101561532a578181015183820152602001615312565b50506000910152565b602081526000825180602084015261535281604085016020870161530f565b601f01601f19169190910160400192915050565b6000806040838503121561537957600080fd5b82356152c881615033565b6020808252825182820181905260009190848201906040850190845b818110156153bc578351835292840192918401916001016153a0565b50909695505050505050565b6000806000606084860312156153dd57600080fd5b833592506020840135600281106153f357600080fd5b929592945050506040919091013590565b6000806000806080858703121561541a57600080fd5b8435935061542a6020860161508c565b92506154386040860161508c565b91506151dc60608601615078565b6000806000806080858703121561545c57600080fd5b8435935061546c6020860161508c565b9250604085013591506151dc6060860161508c565b60008060006060848603121561549657600080fd5b8335925060208401356153f381614f7c565b6020808252825182820181905260009190848201906040850190845b818110156153bc5783516001600160a01b0316835292840192918401916001016154c4565b600080604083850312156154fc57600080fd5b8235915060208301356153048161505f565b634e487b7160e01b600052602160045260246000fd5b600681106155345761553461550e565b9052565b87815260e0810161554c6020830189615524565b6001600160401b03968716604083015263ffffffff958616606083015293151560808201529190941660a08201529290911660c09092019190915292915050565b6000806000606084860312156155a257600080fd5b83356155ad81615033565b95602085013595506040909401359392505050565b60e081016155d0828a615524565b6001600160401b0397909716602082015261ffff959095166040860152921515606085015263ffffffff9190911660808401526001600160a01b031660a083015260c090910152919050565b600080600080600060a0868803121561563457600080fd5b853594506156446020870161508c565b93506156526040870161508c565b92506156606060870161508c565b915061566e6080870161508c565b90509295509295909350565b60008060006060848603121561568f57600080fd5b833561569a81615033565b9250602084013561525a81615033565b600080600080608085870312156156c057600080fd5b84356156cb81615033565b935060208501356156db81615033565b925061543860408601615048565b600080600080608085870312156156ff57600080fd5b84359350602085013561571181614f7c565b925061571f6040860161508c565b91506151dc6060860161508c565b60008060006060848603121561574257600080fd5b833592506157526020850161508c565b91506157606040850161508c565b90509250925092565b600080600080600060a0868803121561578157600080fd5b8535945060208601356157938161521d565b93506157a16040870161508c565b92506157af6060870161508c565b915061566e60808701615078565b6000806000606084860312156157d257600080fd5b83356157dd81615033565b925060208401356153f381615033565b8051825263ffffffff602082015116602083015260408101511515604083015260608101516001600160401b03808216606085015280608084015116608085015250505050565b60a08101611eeb82846157ed565b606081016158508286615524565b6001600160401b039390931660208201526001600160a01b0391909116604090910152919050565b60006020828403121561588a57600080fd5b815161148a8161505f565b6020808252600e908201526d08551c9859195c9cd41bdc9d185b60921b604082015260600190565b6020808252600b908201526a1410525497d4105554d15160aa1b604082015260600190565b6101e081016158f18288615524565b63ffffffff808716602084015260018060a01b0380875116604085015261ffff6020880151166060850152806040880151166080850152508451151560a0840152602085015160c08401528060408601511660e0840152506060840151610100615965818501836001600160401b03169052565b60808601516001600160401b0390811661012086015260a0870151811661014086015260c0870151811661016086015260e087015181166101808601529501519094166101a083015263ffffffff929092166101c090910152949350505050565b6000602082840312156159d857600080fd5b815161148a81615033565b6000602082840312156159f557600080fd5b5051919050565b60208082526009908201526821547269676765727360b81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff818116838216019080821115615a5257615a52615a1f565b5092915050565b8082028115828204841417611eeb57611eeb615a1f565b634e487b7160e01b600052601260045260246000fd5b600082615a9557615a95615a70565b500490565b60008251615aac81846020870161530f565b9190910192915050565b60208082526010908201526f2727afa9aaa1a42fa827a9a4aa24a7a760811b604082015260600190565b6020808252600b908201526a57524f4e475f504841534560a81b604082015260600190565b81810381811115611eeb57611eeb615a1f565b6001600160401b03828116828216039080821115615a5257615a52615a1f565b6001600160401b03818116838216019080821115615a5257615a52615a1f565b80820260008212600160ff1b84141615615b7457615b74615a1f565b8181058314821517611eeb57611eeb615a1f565b60008060408385031215615b9b57600080fd5b505080516020909101519092909150565b600060033d11156150305760046000803e5060005160e01c90565b600060443d1015615bd55790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715615c0457505050505090565b8285019150815181811115615c1c5750505050505090565b843d8701016020828501011115615c365750505050505090565b615c4560208286010187614fea565b509095945050505050565b805160208201516001600160e01b03198082169291906004831015615c7f5780818460040360031b1b83161693505b505050919050565b6040810160128410615c9b57615c9b61550e565b9281526020015290565b8681526001600160a01b038616602082015261ffff851660408201526101408101615cd360608301866157ed565b8361010083015260058310615cea57615cea61550e565b82610120830152979650505050505050565b60008060008060808587031215615d1257600080fd5b505082516020840151604085015160609095015191969095509092509050565b80820180821115611eeb57611eeb615a1f565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715611eeb57611eeb615a1f565b600082615daf57615daf615a70565b600160ff1b821460001984141615615dc957615dc9615a1f565b50059056fea264697066735822122039be00a615031adfcb9daaa06a596578fcaba70e4b68364e50c1013656912a6964736f6c63430008180033";
2078
2098
  const isSuperArgs = (xs) => xs.length > 1;
2079
2099
  class TradingFloorV1__factory extends ethers_1.ContractFactory {
2080
2100
  constructor(...args) {