@hyperlane-xyz/core 5.4.2-superchain.0 → 5.5.0

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 (356) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/contracts/interfaces/IInterchainSecurityModule.sol +1 -2
  3. package/contracts/interfaces/hooks/IPostDispatchHook.sol +1 -2
  4. package/contracts/isms/TrustedRelayerIsm.sol +9 -0
  5. package/contracts/isms/hook/ArbL2ToL1Ism.sol +1 -0
  6. package/contracts/isms/hook/OPL2ToL1Ism.sol +2 -2
  7. package/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol +8 -4
  8. package/contracts/libs/RateLimited.sol +34 -8
  9. package/contracts/mock/MockMailbox.sol +5 -0
  10. package/contracts/mock/MockOptimism.sol +0 -73
  11. package/contracts/token/extensions/HypERC4626.sol +29 -2
  12. package/contracts/token/extensions/HypERC4626Collateral.sol +26 -2
  13. package/contracts/token/extensions/HypERC4626OwnerCollateral.sol +24 -3
  14. package/dist/buildArtifact.js +1 -1
  15. package/dist/buildArtifact.json +1 -1
  16. package/dist/contracts/hooks/index.d.ts +0 -1
  17. package/dist/contracts/hooks/index.d.ts.map +1 -1
  18. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +24 -10
  19. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
  20. package/dist/contracts/interfaces/optimism/index.d.ts +0 -2
  21. package/dist/contracts/interfaces/optimism/index.d.ts.map +1 -1
  22. package/dist/contracts/isms/hook/index.d.ts +0 -2
  23. package/dist/contracts/isms/hook/index.d.ts.map +1 -1
  24. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts +24 -10
  25. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts.map +1 -1
  26. package/dist/contracts/libs/RateLimited.d.ts +24 -10
  27. package/dist/contracts/libs/RateLimited.d.ts.map +1 -1
  28. package/dist/contracts/mock/MockMailbox.d.ts +32 -1
  29. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
  30. package/dist/contracts/mock/MockOptimism.sol/index.d.ts +0 -1
  31. package/dist/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
  32. package/dist/contracts/token/extensions/HypERC4626.d.ts +30 -1
  33. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
  34. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +16 -1
  35. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
  36. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +31 -1
  37. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
  38. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  39. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  40. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  41. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  42. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  43. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  44. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  45. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  46. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  47. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  48. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  49. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  50. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  51. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  52. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  53. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  54. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  55. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  56. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  57. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  58. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  59. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  60. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  61. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  62. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  63. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  64. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  65. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  66. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  67. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  68. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  69. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  70. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  71. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  72. package/dist/factories/contracts/hooks/index.d.ts +0 -1
  73. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  74. package/dist/factories/contracts/hooks/index.js +0 -1
  75. package/dist/factories/contracts/hooks/index.js.map +1 -1
  76. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  77. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  78. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  79. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  80. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  81. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  82. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  83. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  84. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  85. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  86. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +17 -2
  87. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
  88. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +21 -2
  89. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
  90. package/dist/factories/contracts/interfaces/optimism/index.d.ts +0 -2
  91. package/dist/factories/contracts/interfaces/optimism/index.d.ts.map +1 -1
  92. package/dist/factories/contracts/interfaces/optimism/index.js +0 -2
  93. package/dist/factories/contracts/interfaces/optimism/index.js.map +1 -1
  94. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  95. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  96. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  97. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  98. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  99. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts.map +1 -1
  100. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  101. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js.map +1 -1
  102. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  103. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  104. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  105. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  106. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  107. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
  108. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  109. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
  110. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  111. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  112. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  113. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -1
  114. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  115. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -1
  116. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  117. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  118. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  119. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  120. package/dist/factories/contracts/isms/hook/index.d.ts +0 -1
  121. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
  122. package/dist/factories/contracts/isms/hook/index.js +0 -1
  123. package/dist/factories/contracts/isms/hook/index.js.map +1 -1
  124. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  125. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  126. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  127. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  128. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  129. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  130. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  131. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  132. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  133. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  134. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  135. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  136. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  137. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts.map +1 -1
  138. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  139. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js.map +1 -1
  140. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  141. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts.map +1 -1
  142. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  143. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js.map +1 -1
  144. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  145. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts.map +1 -1
  146. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  147. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js.map +1 -1
  148. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  149. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts.map +1 -1
  150. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  151. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js.map +1 -1
  152. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  153. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  154. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  155. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  156. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  157. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  158. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  159. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  160. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +17 -2
  161. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts.map +1 -1
  162. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +21 -2
  163. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js.map +1 -1
  164. package/dist/factories/contracts/libs/RateLimited__factory.d.ts +17 -2
  165. package/dist/factories/contracts/libs/RateLimited__factory.d.ts.map +1 -1
  166. package/dist/factories/contracts/libs/RateLimited__factory.js +21 -2
  167. package/dist/factories/contracts/libs/RateLimited__factory.js.map +1 -1
  168. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  169. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  170. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  171. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  172. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  173. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  174. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  175. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  176. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  177. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  178. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  179. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  180. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  181. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  182. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +11 -1
  183. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
  184. package/dist/factories/contracts/mock/MockMailbox__factory.js +14 -1
  185. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
  186. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts +1 -1
  187. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js +1 -1
  188. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts +1 -1
  189. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js +1 -1
  190. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts +0 -1
  191. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
  192. package/dist/factories/contracts/mock/MockOptimism.sol/index.js +0 -1
  193. package/dist/factories/contracts/mock/MockOptimism.sol/index.js.map +1 -1
  194. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  195. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  196. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  197. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  198. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  199. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  200. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  201. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  202. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  203. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  204. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  205. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  206. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  207. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  208. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  209. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  210. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  211. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  212. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  213. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  214. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  215. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  216. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  217. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  218. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  219. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  220. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  221. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  222. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  223. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  224. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  225. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  226. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  227. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  228. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  229. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  230. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  231. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  232. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  233. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  234. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  235. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  236. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +11 -1
  237. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
  238. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +14 -1
  239. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
  240. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +21 -1
  241. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
  242. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +27 -1
  243. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
  244. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +26 -1
  245. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
  246. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +33 -1
  247. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
  248. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  249. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  250. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  251. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  252. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  253. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  254. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  255. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  256. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  257. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  258. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  259. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  260. package/dist/index.d.ts +0 -10
  261. package/dist/index.d.ts.map +1 -1
  262. package/dist/index.js +0 -5
  263. package/dist/index.js.map +1 -1
  264. package/package.json +2 -2
  265. package/contracts/hooks/SuperchainHook.sol +0 -82
  266. package/contracts/interfaces/optimism/ICrossL2Inbox.sol +0 -60
  267. package/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.sol +0 -68
  268. package/contracts/isms/hook/SuperchainIsm.sol +0 -91
  269. package/dist/contracts/hooks/SuperchainHook.d.ts +0 -411
  270. package/dist/contracts/hooks/SuperchainHook.d.ts.map +0 -1
  271. package/dist/contracts/hooks/SuperchainHook.js +0 -2
  272. package/dist/contracts/hooks/SuperchainHook.js.map +0 -1
  273. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts +0 -233
  274. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts.map +0 -1
  275. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js +0 -2
  276. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js.map +0 -1
  277. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts +0 -209
  278. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts.map +0 -1
  279. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js +0 -2
  280. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js.map +0 -1
  281. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts +0 -273
  282. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts.map +0 -1
  283. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js +0 -2
  284. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js.map +0 -1
  285. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts +0 -288
  286. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts.map +0 -1
  287. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js +0 -2
  288. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js.map +0 -1
  289. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts +0 -273
  290. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts.map +0 -1
  291. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js +0 -2
  292. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js.map +0 -1
  293. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +0 -2
  294. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +0 -1
  295. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js +0 -2
  296. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js.map +0 -1
  297. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts +0 -110
  298. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts.map +0 -1
  299. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js +0 -2
  300. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js.map +0 -1
  301. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts +0 -125
  302. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts.map +0 -1
  303. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js +0 -2
  304. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js.map +0 -1
  305. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +0 -3
  306. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +0 -1
  307. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +0 -2
  308. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +0 -1
  309. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts +0 -224
  310. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts.map +0 -1
  311. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js +0 -2
  312. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js.map +0 -1
  313. package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts +0 -262
  314. package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts.map +0 -1
  315. package/dist/factories/contracts/hooks/SuperchainHook__factory.js +0 -352
  316. package/dist/factories/contracts/hooks/SuperchainHook__factory.js.map +0 -1
  317. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts +0 -143
  318. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts.map +0 -1
  319. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js +0 -189
  320. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js.map +0 -1
  321. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts +0 -140
  322. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts.map +0 -1
  323. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js +0 -185
  324. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js.map +0 -1
  325. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts +0 -165
  326. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts.map +0 -1
  327. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js +0 -229
  328. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js.map +0 -1
  329. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts +0 -175
  330. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts.map +0 -1
  331. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js +0 -242
  332. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js.map +0 -1
  333. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts +0 -165
  334. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts.map +0 -1
  335. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js +0 -229
  336. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js.map +0 -1
  337. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +0 -2
  338. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +0 -1
  339. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js +0 -5
  340. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js.map +0 -1
  341. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts +0 -79
  342. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts.map +0 -1
  343. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js +0 -109
  344. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js.map +0 -1
  345. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts +0 -121
  346. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts.map +0 -1
  347. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js +0 -171
  348. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js.map +0 -1
  349. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +0 -3
  350. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +0 -1
  351. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +0 -6
  352. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +0 -1
  353. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts +0 -174
  354. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts.map +0 -1
  355. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js +0 -237
  356. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js.map +0 -1
@@ -133,6 +133,19 @@ const _abi = [
133
133
  stateMutability: "view",
134
134
  type: "function",
135
135
  },
136
+ {
137
+ inputs: [],
138
+ name: "PRECISION",
139
+ outputs: [
140
+ {
141
+ internalType: "uint256",
142
+ name: "",
143
+ type: "uint256",
144
+ },
145
+ ],
146
+ stateMutability: "view",
147
+ type: "function",
148
+ },
136
149
  {
137
150
  inputs: [],
138
151
  name: "assetDeposited",
@@ -363,6 +376,19 @@ const _abi = [
363
376
  stateMutability: "view",
364
377
  type: "function",
365
378
  },
379
+ {
380
+ inputs: [],
381
+ name: "rateUpdateNonce",
382
+ outputs: [
383
+ {
384
+ internalType: "uint32",
385
+ name: "",
386
+ type: "uint32",
387
+ },
388
+ ],
389
+ stateMutability: "view",
390
+ type: "function",
391
+ },
366
392
  {
367
393
  inputs: [],
368
394
  name: "renounceOwnership",
@@ -599,7 +625,7 @@ const _abi = [
599
625
  type: "function",
600
626
  },
601
627
  ];
602
- const _bytecode = "0x6101006040523480156200001257600080fd5b50604051620030813803806200308183398101604081905262000035916200020e565b816001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009a91906200024d565b8180808080806001600160a01b0381163b620000fc5760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa15801562000147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016d919062000274565b63ffffffff1660a0526200018133620001a3565b5050506001600160a01b0393841660c0525050509190911660e052506200029c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146200020b57600080fd5b50565b600080604083850312156200022257600080fd5b82516200022f81620001f5565b60208401519092506200024281620001f5565b809150509250929050565b6000602082840312156200026057600080fd5b81516200026d81620001f5565b9392505050565b6000602082840312156200028757600080fd5b815163ffffffff811681146200026d57600080fd5b60805160a05160c05160e051612d576200032a60003960008181610607015281816107ae01528181610854015281816108e40152818161106101528181611cdb0152611e8401526000818161049201528181610d74015281816110af0152611c53015260006103c801526000818161052601528181610bd0015281816119450152611b8c0152612d576000f3fe6080604052600436106101c25760003560e01c806381b4e8b4116100f7578063c0c53b8b11610095578063efae508a11610064578063efae508a14610595578063f2ed8c53146105b5578063f2fde38b146105d5578063fbfa77cf146105f557600080fd5b8063c0c53b8b146104f4578063d5438eae14610514578063de523cf314610548578063e9198bf91461057557600080fd5b806393c44847116100d157806393c448471461042a578063996c6cc314610480578063b1bd6436146104b4578063b49c53a7146104d457600080fd5b806381b4e8b4146103a35780638d3638f4146103b65780638da5cb5b146103ff57600080fd5b806351debffc11610164578063715018a61161013e578063715018a6146102ef57806371a15b3814610304578063775313a1146103245780637f5a7c7b1461035157600080fd5b806351debffc146102a957806356d5d475146102bc57806370a08231146102cf57600080fd5b806335faa416116101a057806335faa416146102325780633dfd387314610247578063440df4f41461026757806349d462ef1461028957600080fd5b8063093bec70146101c75780630e72cc06146101f05780632ead72f614610212575b600080fd5b3480156101d357600080fd5b506101dd60cb5481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b5061021061020b3660046125cf565b610629565b005b34801561021e57600080fd5b506101dd61022d3660046125fe565b610744565b34801561023e57600080fd5b50610210610763565b34801561025357600080fd5b506102106102623660046125cf565b610a19565b34801561027357600080fd5b5061027c610b2f565b6040516101e79190612619565b34801561029557600080fd5b506102106102a4366004612663565b610b40565b6101dd6102b73660046126cf565b610b66565b6102106102ca366004612746565b610bb8565b3480156102db57600080fd5b506101dd6102ea3660046125cf565b610d2c565b3480156102fb57600080fd5b50610210610de7565b34801561031057600080fd5b5061021061031f3660046127e5565b610dfb565b34801561033057600080fd5b506101dd61033f3660046125fe565b60ca6020526000908152604090205481565b34801561035d57600080fd5b5060655461037e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e7565b6101dd6103b1366004612827565b610e56565b3480156103c257600080fd5b506103ea7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e7565b34801561040b57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff1661037e565b34801561043657600080fd5b506104736040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101e791906128c8565b34801561048c57600080fd5b5061037e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c057600080fd5b506102106104cf3660046128db565b610e64565b3480156104e057600080fd5b506102106104ef366004612663565b610eee565b34801561050057600080fd5b5061021061050f366004612950565b610f00565b34801561052057600080fd5b5061037e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561055457600080fd5b5060665461037e9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561058157600080fd5b50610210610590366004612993565b611190565b3480156105a157600080fd5b506102106105b03660046125fe565b61126f565b3480156105c157600080fd5b506101dd6105d03660046125fe565b611283565b3480156105e157600080fd5b506102106105f03660046125cf565b6112ba565b34801561060157600080fd5b5061037e7f000000000000000000000000000000000000000000000000000000000000000081565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610663575073ffffffffffffffffffffffffffffffffffffffff8116155b6106f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106fc61136e565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061075b609763ffffffff808616906113ef16565b949350505050565b61076b61136e565b60cb546040517fc6e6f59200000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c6e6f592916107e59160040190815260200190565b602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082691906129f3565b6040517fd905777e0000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d905777e90602401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906129f3565b6108de9190612a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ba0876528361093e60335473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff1660248201523060448201526064016020604051808303816000875af11580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d991906129f3565b60408051848152602081018390529192507fab4b80c2bee4a4a901cd94d15ad331e611f22b1fc58fb323876a8c45161569c3910160405180910390a15050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610a53575073ffffffffffffffffffffffffffffffffffffffff8116155b610adf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016106eb565b610ae761136e565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610b3b6097611408565b905090565b610b4861136e565b63ffffffff91909116600090815260ca6020526040902055565b5050565b6000610bad8787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506114c3915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016106eb565b6000610c888561153c565b9050838114610d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016106eb565b610d25858585856115a1565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de191906129f3565b92915050565b610def61136e565b610df9600061162b565b565b610e0361136e565b8060005b81811015610e5057610e3e848483818110610e2457610e24612a4e565b9050602002016020810190610e3991906125fe565b6116a2565b610e49600182612a7d565b9050610e07565b50505050565b600061075b848484346116f7565b610e6c61136e565b60005b81811015610ee957610ed7838383818110610e8c57610e8c612a4e565b610ea292602060409092020190810191506125fe565b848484818110610eb457610eb4612a4e565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610ee2600182612a7d565b9050610e6f565b505050565b610ef661136e565b610b628282611730565b600054610100900460ff1615808015610f205750600054600160ff909116105b80610f3a5750303b158015610f3a575060005460ff166001145b610fc6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106eb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561102457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af11580156110f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111c9190612a90565b50611128848484611746565b8015610e5057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b61119861136e565b828114611201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016106eb565b8260005b818110156112675761125586868381811061122257611222612a4e565b905060200201602081019061123791906125fe565b85858481811061124957611249612a4e565b90506020020135611730565b611260600182612a7d565b9050611205565b505050505050565b61127761136e565b611280816116a2565b50565b604080516020810190915260008082526065549091610de19184919073ffffffffffffffffffffffffffffffffffffffff16611800565b6112c261136e565b73ffffffffffffffffffffffffffffffffffffffff8116611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106eb565b6112808161162b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106eb565b6000806113fc8484611816565b915091505b9250929050565b6060600061141583611850565b9050805167ffffffffffffffff81111561143157611431612ab2565b60405190808252806020026020018201604052801561145a578160200160208202803683370190505b50915060005b81518110156114bc5781818151811061147b5761147b612a4e565b602002602001015183828151811061149557611495612a4e565b63ffffffff90921660209283029190910190910152806114b481612ae1565b915050611460565b5050919050565b6000806114cf866118eb565b905060006114de888884611906565b90506114ed8987838888611935565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161152891815260200190565b60405180910390a350509695505050505050565b60008080611554609763ffffffff808716906113ef16565b915091508115611565579392505050565b61156e846119e8565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb91906128c8565b60006115ad8383611a1f565b905060006115bb8484611a3e565b90503660006115ca8686611a4e565b915091506115e06115d88590565b848484611a5e565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161161991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6116b6609763ffffffff80841690611a6816565b6116bf826119e8565b90610b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb91906128c8565b6000611727858585856117098a611a74565b60655473ffffffffffffffffffffffffffffffffffffffff166114c3565b95945050505050565b610b62609763ffffffff808516908490611a9616565b600054610100900460ff166117dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106eb565b6117e5611aa1565b6117ee83610a19565b6117f782610629565b610ee98161162b565b600061075b848461181087611a74565b85611b40565b6000818152600283016020526040812054819080611845576118388585611c14565b9250600091506114019050565b600192509050611401565b6060600061185d83611c20565b90508067ffffffffffffffff81111561187857611878612ab2565b6040519080825280602002602001820160405280156118a1578160200160208202803683370190505b50915060005b818110156114bc576118b98482611c2b565b60001c8382815181106118ce576118ce612a4e565b6020908102919091010152806118e381612ae1565b9150506118a7565b60606118f682611c37565b905061190182611c8f565b919050565b606083838360405160200161191d93929190612b19565b60405160208183030381529060405290509392505050565b6000806119418761153c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016119a5959493929190612b46565b60206040518083038185885af11580156119c3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bad91906129f3565b60606119f98263ffffffff16611d5d565b604051602001611a099190612ba6565b6040516020818303038152906040529050919050565b6000611a2e6020828486612beb565b611a3791612c15565b9392505050565b6000611a2e604060208486612beb565b3660006113fc8360408187612beb565b610e508385611e1b565b6000611a378383611ef1565b63ffffffff8116600090815260ca6020526040902054606090610de190611f0e565b610e50838383611f2c565b600054610100900460ff16611b38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106eb565b610df9611f49565b600080611b4c8661153c565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea9590611bc990899085908a908a908a90600401612b46565b602060405180830381865afa158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a91906129f3565b9695505050505050565b6000611a378383611fe9565b6000610de182612001565b6000611a37838361200b565b6060611c7b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333085612035565b505060408051602081019091526000815290565b8060cb6000828254611ca19190612a7d565b90915550506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018290523060248201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636e553f65906044016020604051808303816000875af1158015611d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6291906129f3565b60606000611d6a836120ca565b600101905060008167ffffffffffffffff811115611d8a57611d8a612ab2565b6040519080825280601f01601f191660200182016040528015611db4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611dbe57509392505050565b8160cb6000828254611e2d9190612a3b565b90915550506040517fb460af940000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff82811660248301523060448301527f0000000000000000000000000000000000000000000000000000000000000000169063b460af94906064016020604051808303816000875af1158015611ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee991906129f3565b60008181526002830160205260408120819055611a3783836121ac565b6060610de160008333604051806020016040528060008152506121b8565b6000828152600284016020526040812082905561075b84846121ed565b600054610100900460ff16611fe0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106eb565b610df93361162b565b60008181526001830160205260408120541515611a37565b6000610de1825490565b600082600001828154811061202257612022612a4e565b9060005260206000200154905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610e509085906121f9565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612113577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061213f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061215d57662386f26fc10000830492506010015b6305f5e1008310612175576305f5e100830492506008015b612710831061218957612710830492506004015b6064831061219b576064830492506002015b600a8310610de15760010192915050565b6000611a378383612308565b60606001858585856040516020016121d4959493929190612c51565b6040516020818303038152906040529050949350505050565b6000611a3783836123fb565b600061225b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661244a9092919063ffffffff16565b905080516000148061227c57508080602001905181019061227c9190612a90565b610ee9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106eb565b600081815260018301602052604081205480156123f157600061232c600183612a3b565b855490915060009061234090600190612a3b565b90508181146123a557600086600001828154811061236057612360612a4e565b906000526020600020015490508087600001848154811061238357612383612a4e565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806123b6576123b6612cd6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610de1565b6000915050610de1565b600081815260018301602052604081205461244257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610de1565b506000610de1565b606061075b8484600085856000808673ffffffffffffffffffffffffffffffffffffffff16858760405161247e9190612d05565b60006040518083038185875af1925050503d80600081146124bb576040519150601f19603f3d011682016040523d82523d6000602084013e6124c0565b606091505b5091509150610bad878383876060831561256257825160000361255b5773ffffffffffffffffffffffffffffffffffffffff85163b61255b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106eb565b508161075b565b61075b83838151156125775781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb91906128c8565b803573ffffffffffffffffffffffffffffffffffffffff8116811461190157600080fd5b6000602082840312156125e157600080fd5b611a37826125ab565b803563ffffffff8116811461190157600080fd5b60006020828403121561261057600080fd5b611a37826125ea565b6020808252825182820181905260009190848201906040850190845b8181101561265757835163ffffffff1683529284019291840191600101612635565b50909695505050505050565b6000806040838503121561267657600080fd5b61267f836125ea565b946020939093013593505050565b60008083601f84011261269f57600080fd5b50813567ffffffffffffffff8111156126b757600080fd5b60208301915083602082850101111561140157600080fd5b60008060008060008060a087890312156126e857600080fd5b6126f1876125ea565b95506020870135945060408701359350606087013567ffffffffffffffff81111561271b57600080fd5b61272789828a0161268d565b909450925061273a9050608088016125ab565b90509295509295509295565b6000806000806060858703121561275c57600080fd5b612765856125ea565b935060208501359250604085013567ffffffffffffffff81111561278857600080fd5b6127948782880161268d565b95989497509550505050565b60008083601f8401126127b257600080fd5b50813567ffffffffffffffff8111156127ca57600080fd5b6020830191508360208260051b850101111561140157600080fd5b600080602083850312156127f857600080fd5b823567ffffffffffffffff81111561280f57600080fd5b61281b858286016127a0565b90969095509350505050565b60008060006060848603121561283c57600080fd5b612845846125ea565b95602085013595506040909401359392505050565b60005b8381101561287557818101518382015260200161285d565b50506000910152565b6000815180845261289681602086016020860161285a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a37602083018461287e565b600080602083850312156128ee57600080fd5b823567ffffffffffffffff8082111561290657600080fd5b818501915085601f83011261291a57600080fd5b81358181111561292957600080fd5b8660208260061b850101111561293e57600080fd5b60209290920196919550909350505050565b60008060006060848603121561296557600080fd5b61296e846125ab565b925061297c602085016125ab565b915061298a604085016125ab565b90509250925092565b600080600080604085870312156129a957600080fd5b843567ffffffffffffffff808211156129c157600080fd5b6129cd888389016127a0565b909650945060208701359150808211156129e657600080fd5b50612794878288016127a0565b600060208284031215612a0557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610de157610de1612a0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610de157610de1612a0c565b600060208284031215612aa257600080fd5b81518015158114611a3757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b1257612b12612a0c565b5060010190565b83815282602082015260008251612b3781604085016020870161285a565b91909101604001949350505050565b63ffffffff8616815284602082015260a060408201526000612b6b60a083018661287e565b8281036060840152612b7d818661287e565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251612bde81601f85016020870161285a565b91909101601f0192915050565b60008085851115612bfb57600080fd5b83861115612c0857600080fd5b5050820193919092039150565b80356020831015610de1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251612cc581605685016020870161285a565b919091016056019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612d1781846020870161285a565b919091019291505056fea2646970667358221220d30d5b31afc20c32c12e04aa6b6b62d4d00fb1ef4057476cd2aff6fb86f311be64736f6c63430008130033";
628
+ const _bytecode = "0x6101006040523480156200001257600080fd5b50604051620031453803806200314583398101604081905262000035916200020e565b816001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000074573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009a91906200024d565b8180808080806001600160a01b0381163b620000fc5760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa15801562000147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016d919062000274565b63ffffffff1660a0526200018133620001a3565b5050506001600160a01b0393841660c0525050509190911660e052506200029c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146200020b57600080fd5b50565b600080604083850312156200022257600080fd5b82516200022f81620001f5565b60208401519092506200024281620001f5565b809150509250929050565b6000602082840312156200026057600080fd5b81516200026d81620001f5565b9392505050565b6000602082840312156200028757600080fd5b815163ffffffff811681146200026d57600080fd5b60805160a05160c05160e051612e1b6200032a60003960008181610653015281816107fa015281816108a001528181610930015281816110ad01528181611d770152611f200152600081816104c501528181610dc0015281816110fb0152611cef0152600061041001526000818161057201528181610c1c015281816119f70152611c280152612e1b6000f3fe6080604052600436106101d85760003560e01c806381b4e8b411610102578063c0c53b8b11610095578063efae508a11610064578063efae508a146105e1578063f2ed8c5314610601578063f2fde38b14610621578063fbfa77cf1461064157600080fd5b8063c0c53b8b14610540578063d5438eae14610560578063de523cf314610594578063e9198bf9146105c157600080fd5b8063996c6cc3116100d1578063996c6cc3146104b3578063aaf5eb68146104e7578063b1bd643614610500578063b49c53a71461052057600080fd5b806381b4e8b4146103eb5780638d3638f4146103fe5780638da5cb5b1461043257806393c448471461045d57600080fd5b806351debffc1161017a57806371a15b381161014957806371a15b381461031a578063750e63ae1461033a578063775313a11461036c5780637f5a7c7b1461039957600080fd5b806351debffc146102bf57806356d5d475146102d257806370a08231146102e5578063715018a61461030557600080fd5b806335faa416116101b657806335faa416146102485780633dfd38731461025d578063440df4f41461027d57806349d462ef1461029f57600080fd5b8063093bec70146101dd5780630e72cc06146102065780632ead72f614610228575b600080fd5b3480156101e957600080fd5b506101f360cb5481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b50610226610221366004612670565b610675565b005b34801561023457600080fd5b506101f361024336600461269f565b610790565b34801561025457600080fd5b506102266107af565b34801561026957600080fd5b50610226610278366004612670565b610a65565b34801561028957600080fd5b50610292610b7b565b6040516101fd91906126ba565b3480156102ab57600080fd5b506102266102ba366004612704565b610b8c565b6101f36102cd366004612770565b610bb2565b6102266102e03660046127e7565b610c04565b3480156102f157600080fd5b506101f3610300366004612670565b610d78565b34801561031157600080fd5b50610226610e33565b34801561032657600080fd5b50610226610335366004612886565b610e47565b34801561034657600080fd5b5060cc546103579063ffffffff1681565b60405163ffffffff90911681526020016101fd565b34801561037857600080fd5b506101f361038736600461269f565b60ca6020526000908152604090205481565b3480156103a557600080fd5b506065546103c69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fd565b6101f36103f93660046128c8565b610ea2565b34801561040a57600080fd5b506103577f000000000000000000000000000000000000000000000000000000000000000081565b34801561043e57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166103c6565b34801561046957600080fd5b506104a66040518060400160405280600581526020017f352e352e3000000000000000000000000000000000000000000000000000000081525081565b6040516101fd9190612969565b3480156104bf57600080fd5b506103c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f357600080fd5b506101f36402540be40081565b34801561050c57600080fd5b5061022661051b36600461297c565b610eb0565b34801561052c57600080fd5b5061022661053b366004612704565b610f3a565b34801561054c57600080fd5b5061022661055b3660046129f1565b610f4c565b34801561056c57600080fd5b506103c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a057600080fd5b506066546103c69073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105cd57600080fd5b506102266105dc366004612a34565b6111dc565b3480156105ed57600080fd5b506102266105fc36600461269f565b6112bb565b34801561060d57600080fd5b506101f361061c36600461269f565b6112cf565b34801561062d57600080fd5b5061022661063c366004612670565b611306565b34801561064d57600080fd5b506103c67f000000000000000000000000000000000000000000000000000000000000000081565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106af575073ffffffffffffffffffffffffffffffffffffffff8116155b610740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107486113ba565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806107a7609763ffffffff8086169061143b16565b949350505050565b6107b76113ba565b60cb546040517fc6e6f59200000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163c6e6f592916108319160040190815260200190565b602060405180830381865afa15801561084e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108729190612a94565b6040517fd905777e0000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d905777e90602401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190612a94565b61092a9190612adc565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ba0876528361098a60335473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff1660248201523060448201526064016020604051808303816000875af1158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a259190612a94565b60408051848152602081018390529192507fab4b80c2bee4a4a901cd94d15ad331e611f22b1fc58fb323876a8c45161569c3910160405180910390a15050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610a9f575073ffffffffffffffffffffffffffffffffffffffff8116155b610b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610737565b610b336113ba565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610b876097611454565b905090565b610b946113ba565b63ffffffff91909116600090815260ca6020526040902055565b5050565b6000610bf98787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a925061150f915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610737565b6000610cd485611588565b9050838114610d65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610737565b610d71858585856115ed565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610e09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2d9190612a94565b92915050565b610e3b6113ba565b610e456000611677565b565b610e4f6113ba565b8060005b81811015610e9c57610e8a848483818110610e7057610e70612aef565b9050602002016020810190610e85919061269f565b6116ee565b610e95600182612b1e565b9050610e53565b50505050565b60006107a784848434611743565b610eb86113ba565b60005b81811015610f3557610f23838383818110610ed857610ed8612aef565b610eee926020604090920201908101915061269f565b848484818110610f0057610f00612aef565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610f2e600182612b1e565b9050610ebb565b505050565b610f426113ba565b610bae828261177c565b600054610100900460ff1615808015610f6c5750600054600160ff909116105b80610f865750303b158015610f86575060005460ff166001145b611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610737565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561107057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015611144573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111689190612b31565b50611174848484611792565b8015610e9c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6111e46113ba565b82811461124d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610737565b8260005b818110156112b3576112a186868381811061126e5761126e612aef565b9050602002016020810190611283919061269f565b85858481811061129557611295612aef565b9050602002013561177c565b6112ac600182612b1e565b9050611251565b505050505050565b6112c36113ba565b6112cc816116ee565b50565b604080516020810190915260008082526065549091610e2d9184919073ffffffffffffffffffffffffffffffffffffffff1661184c565b61130e6113ba565b73ffffffffffffffffffffffffffffffffffffffff81166113b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610737565b6112cc81611677565b60335473ffffffffffffffffffffffffffffffffffffffff163314610e45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610737565b6000806114488484611862565b915091505b9250929050565b606060006114618361189c565b9050805167ffffffffffffffff81111561147d5761147d612b53565b6040519080825280602002602001820160405280156114a6578160200160208202803683370190505b50915060005b8151811015611508578181815181106114c7576114c7612aef565b60200260200101518382815181106114e1576114e1612aef565b63ffffffff909216602092830291909101909101528061150081612b82565b9150506114ac565b5050919050565b60008061151b86611937565b9050600061152a8888846119b8565b905061153989878388886119e7565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161157491815260200190565b60405180910390a350509695505050505050565b600080806115a0609763ffffffff8087169061143b16565b9150915081156115b1579392505050565b6115ba84611a9a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107379190612969565b60006115f98383611abb565b905060006116078484611ada565b90503660006116168686611aea565b9150915061162c6116248590565b848484611afa565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161166591815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611702609763ffffffff80841690611b0416565b61170b82611a9a565b90610bae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107379190612969565b6000611773858585856117558a611b10565b60655473ffffffffffffffffffffffffffffffffffffffff1661150f565b95945050505050565b610bae609763ffffffff808516908490611b3216565b600054610100900460ff16611829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610737565b611831611b3d565b61183a83610a65565b61184382610675565b610f3581611677565b60006107a7848461185c87611b10565b85611bdc565b6000818152600283016020526040812054819080611891576118848585611cb0565b92506000915061144d9050565b60019250905061144d565b606060006118a983611cbc565b90508067ffffffffffffffff8111156118c4576118c4612b53565b6040519080825280602002602001820160405280156118ed578160200160208202803683370190505b50915060005b81811015611508576119058482611cc7565b60001c83828151811061191a5761191a612aef565b60209081029190910101528061192f81612b82565b9150506118f3565b606061194282611cd3565b5061194c82611d2b565b60cc805463ffffffff1690600061196283612bba565b82546101009290920a63ffffffff81810219909316918316021790915560cc54604080516402540be4006020820152919092169181019190915260600190505b6040516020818303038152906040529050919050565b60608383836040516020016119cf93929190612bdd565b60405160208183030381529060405290509392505050565b6000806119f387611588565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401611a57959493929190612c0a565b60206040518083038185885af1158015611a75573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bf99190612a94565b6060611aab8263ffffffff16611df9565b6040516020016119a29190612c6a565b6000611aca6020828486612caf565b611ad391612cd9565b9392505050565b6000611aca604060208486612caf565b3660006114488360408187612caf565b610e9c8385611eb7565b6000611ad38383611f8d565b63ffffffff8116600090815260ca6020526040902054606090610e2d90611faa565b610e9c838383611fc8565b600054610100900460ff16611bd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610737565b610e45611fe5565b600080611be886611588565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea9590611c6590899085908a908a908a90600401612c0a565b602060405180830381865afa158015611c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca69190612a94565b9695505050505050565b6000611ad38383612085565b6000610e2d8261209d565b6000611ad383836120a7565b6060611d1773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163330856120d1565b505060408051602081019091526000815290565b8060cb6000828254611d3d9190612b1e565b90915550506040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018290523060248201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636e553f65906044016020604051808303816000875af1158015611dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae9190612a94565b60606000611e0683612166565b600101905060008167ffffffffffffffff811115611e2657611e26612b53565b6040519080825280601f01601f191660200182016040528015611e50576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611e5a57509392505050565b8160cb6000828254611ec99190612adc565b90915550506040517fb460af940000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff82811660248301523060448301527f0000000000000000000000000000000000000000000000000000000000000000169063b460af94906064016020604051808303816000875af1158015611f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f359190612a94565b60008181526002830160205260408120819055611ad38383612248565b6060610e2d6000833360405180602001604052806000815250612254565b600082815260028401602052604081208290556107a78484612289565b600054610100900460ff1661207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610737565b610e4533611677565b60008181526001830160205260408120541515611ad3565b6000610e2d825490565b60008260000182815481106120be576120be612aef565b9060005260206000200154905092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610e9c908590612295565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106121af577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106121db576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106121f957662386f26fc10000830492506010015b6305f5e1008310612211576305f5e100830492506008015b612710831061222557612710830492506004015b60648310612237576064830492506002015b600a8310610e2d5760010192915050565b6000611ad383836123a4565b6060600185858585604051602001612270959493929190612d15565b6040516020818303038152906040529050949350505050565b6000611ad38383612497565b60006122f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166124e69092919063ffffffff16565b90508051600014806123185750808060200190518101906123189190612b31565b610f35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610737565b6000818152600183016020526040812054801561248d5760006123c8600183612adc565b85549091506000906123dc90600190612adc565b90508181146124415760008660000182815481106123fc576123fc612aef565b906000526020600020015490508087600001848154811061241f5761241f612aef565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061245257612452612d9a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610e2d565b6000915050610e2d565b60008181526001830160205260408120546124de57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e2d565b506000610e2d565b60606107a78484600085856000808673ffffffffffffffffffffffffffffffffffffffff16858760405161251a9190612dc9565b60006040518083038185875af1925050503d8060008114612557576040519150601f19603f3d011682016040523d82523d6000602084013e61255c565b606091505b5091509150610bf987838387606083156125fe5782516000036125f75773ffffffffffffffffffffffffffffffffffffffff85163b6125f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610737565b50816107a7565b6107a783838151156126135781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107379190612969565b803573ffffffffffffffffffffffffffffffffffffffff8116811461266b57600080fd5b919050565b60006020828403121561268257600080fd5b611ad382612647565b803563ffffffff8116811461266b57600080fd5b6000602082840312156126b157600080fd5b611ad38261268b565b6020808252825182820181905260009190848201906040850190845b818110156126f857835163ffffffff16835292840192918401916001016126d6565b50909695505050505050565b6000806040838503121561271757600080fd5b6127208361268b565b946020939093013593505050565b60008083601f84011261274057600080fd5b50813567ffffffffffffffff81111561275857600080fd5b60208301915083602082850101111561144d57600080fd5b60008060008060008060a0878903121561278957600080fd5b6127928761268b565b95506020870135945060408701359350606087013567ffffffffffffffff8111156127bc57600080fd5b6127c889828a0161272e565b90945092506127db905060808801612647565b90509295509295509295565b600080600080606085870312156127fd57600080fd5b6128068561268b565b935060208501359250604085013567ffffffffffffffff81111561282957600080fd5b6128358782880161272e565b95989497509550505050565b60008083601f84011261285357600080fd5b50813567ffffffffffffffff81111561286b57600080fd5b6020830191508360208260051b850101111561144d57600080fd5b6000806020838503121561289957600080fd5b823567ffffffffffffffff8111156128b057600080fd5b6128bc85828601612841565b90969095509350505050565b6000806000606084860312156128dd57600080fd5b6128e68461268b565b95602085013595506040909401359392505050565b60005b838110156129165781810151838201526020016128fe565b50506000910152565b600081518084526129378160208601602086016128fb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ad3602083018461291f565b6000806020838503121561298f57600080fd5b823567ffffffffffffffff808211156129a757600080fd5b818501915085601f8301126129bb57600080fd5b8135818111156129ca57600080fd5b8660208260061b85010111156129df57600080fd5b60209290920196919550909350505050565b600080600060608486031215612a0657600080fd5b612a0f84612647565b9250612a1d60208501612647565b9150612a2b60408501612647565b90509250925092565b60008060008060408587031215612a4a57600080fd5b843567ffffffffffffffff80821115612a6257600080fd5b612a6e88838901612841565b90965094506020870135915080821115612a8757600080fd5b5061283587828801612841565b600060208284031215612aa657600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610e2d57610e2d612aad565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610e2d57610e2d612aad565b600060208284031215612b4357600080fd5b81518015158114611ad357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bb357612bb3612aad565b5060010190565b600063ffffffff808316818103612bd357612bd3612aad565b6001019392505050565b83815282602082015260008251612bfb8160408501602087016128fb565b91909101604001949350505050565b63ffffffff8616815284602082015260a060408201526000612c2f60a083018661291f565b8281036060840152612c41818661291f565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251612ca281601f8501602087016128fb565b91909101601f0192915050565b60008085851115612cbf57600080fd5b83861115612ccc57600080fd5b5050820193919092039150565b80356020831015610e2d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251612d898160568501602087016128fb565b919091016056019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612ddb8184602087016128fb565b919091019291505056fea2646970667358221220ce46cabed57d44454e26f21bf98609624811e61433f24ff06bc47134a59d7c9164736f6c63430008130033";
603
629
  const isSuperArgs = (xs) => xs.length > 1;
604
630
  export class HypERC4626OwnerCollateral__factory extends ContractFactory {
605
631
  constructor(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"HypERC4626OwnerCollateral__factory.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HypERC4626OwnerCollateral__factory.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare class HypERC4626__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): HypERC4626;
14
14
  connect(signer: Signer): HypERC4626__factory;
15
- static readonly bytecode = "0x6101006040523480156200001257600080fd5b5060405162003a9738038062003a9783398101604081905262000035916200027c565b828280808080806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620002db565b63ffffffff1660a0526200011e3362000152565b50505060ff90931660c05250505063ffffffff811660e0526402540be40060fd5562000149620001a4565b50505062000300565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16156200020e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000090565b60005460ff9081161462000260576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b805163ffffffff811681146200027757600080fd5b919050565b6000806000606084860312156200029257600080fd5b835160ff81168114620002a457600080fd5b60208501519093506001600160a01b0381168114620002c257600080fd5b9150620002d26040850162000262565b90509250925092565b600060208284031215620002ee57600080fd5b620002f98262000262565b9392505050565b60805160a05160c05160e05161374162000356600039600081816103f70152611bb9015260006103bb0152600061062501526000818161077b01528181610cf7015281816121f0015261253801526137416000f3fe6080604052600436106102c65760003560e01c80637f5a7c7b11610179578063b1bd6436116100d6578063e0b231fa1161008a578063efae508a11610064578063efae508a1461087d578063f2ed8c531461089d578063f2fde38b146108bd57600080fd5b8063e0b231fa1461081d578063e80a7c791461083d578063e9198bf91461085d57600080fd5b8063d5438eae116100bb578063d5438eae14610769578063dd62ed3e1461079d578063de523cf3146107f057600080fd5b8063b1bd643614610729578063b49c53a71461074957600080fd5b806393c448471161012d578063a457c2d711610112578063a457c2d7146106d0578063a9059cbb146106f0578063aaf5eb681461071057600080fd5b806393c448471461067257806395d89b41146106bb57600080fd5b806381b4e8b41161015e57806381b4e8b4146106005780638d3638f4146106135780638da5cb5b1461064757600080fd5b80637f5a7c7b1461058e5780637fe0c850146105e057600080fd5b80633dfd38731161022757806356d5d475116101db578063715018a6116101c0578063715018a61461052c57806371a15b3814610541578063775313a11461056157600080fd5b806356d5d475146104f957806370a082311461050c57600080fd5b80634473ad521161020c5780634473ad52146104a657806349d462ef146104c657806351debffc146104e657600080fd5b80633dfd387314610464578063440df4f41461048457600080fd5b80632ead72f61161027e57806338dd02051161026357806338dd0205146103e5578063395093511461042e5780633ba0b9a91461044e57600080fd5b80632ead72f614610387578063313ce567146103a757600080fd5b80630e72cc06116102af5780630e72cc061461032657806318160ddd1461034857806323b872dd1461036757600080fd5b806306fdde03146102cb578063095ea7b3146102f6575b600080fd5b3480156102d757600080fd5b506102e06108dd565b6040516102ed9190612cbc565b60405180910390f35b34801561030257600080fd5b50610316610311366004612cf8565b61096f565b60405190151581526020016102ed565b34801561033257600080fd5b50610346610341366004612d22565b610989565b005b34801561035457600080fd5b506035545b6040519081526020016102ed565b34801561037357600080fd5b50610316610382366004612d3d565b610aa4565b34801561039357600080fd5b506103596103a2366004612d8d565b610aca565b3480156103b357600080fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016102ed565b3480156103f157600080fd5b506104197f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102ed565b34801561043a57600080fd5b50610316610449366004612cf8565b610ae9565b34801561045a57600080fd5b5061035960fd5481565b34801561047057600080fd5b5061034661047f366004612d22565b610b35565b34801561049057600080fd5b50610499610c4b565b6040516102ed9190612da8565b3480156104b257600080fd5b506103596104c1366004612d22565b610c5c565b3480156104d257600080fd5b506103466104e1366004612df2565b610c67565b6103596104f4366004612e50565b610c8d565b610346610507366004612ec7565b610cdf565b34801561051857600080fd5b50610359610527366004612d22565b610e53565b34801561053857600080fd5b50610346610e6a565b34801561054d57600080fd5b5061034661055c366004612f66565b610e7e565b34801561056d57600080fd5b5061035961057c366004612d8d565b60fc6020526000908152604090205481565b34801561059a57600080fd5b506097546105bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ed565b3480156105ec57600080fd5b506103596105fb366004612fa8565b610ed9565b61035961060e366004612fc1565b610ef0565b34801561061f57600080fd5b506104197f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166105bb565b34801561067e57600080fd5b506102e06040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b3480156106c757600080fd5b506102e0610efe565b3480156106dc57600080fd5b506103166106eb366004612cf8565b610f0d565b3480156106fc57600080fd5b5061031661070b366004612cf8565b610fe9565b34801561071c57600080fd5b506103596402540be40081565b34801561073557600080fd5b50610346610744366004612ff4565b610fff565b34801561075557600080fd5b50610346610764366004612df2565b611089565b34801561077557600080fd5b506105bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107a957600080fd5b506103596107b8366004613069565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b3480156107fc57600080fd5b506098546105bb9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561082957600080fd5b50610359610838366004612fa8565b61109b565b34801561084957600080fd5b50610346610858366004613176565b6110b9565b34801561086957600080fd5b50610346610878366004613208565b611268565b34801561088957600080fd5b50610346610898366004612d8d565b611347565b3480156108a957600080fd5b506103596108b8366004612d8d565b61135b565b3480156108c957600080fd5b506103466108d8366004612d22565b611392565b6060603680546108ec90613268565b80601f016020809104026020016040519081016040528092919081815260200182805461091890613268565b80156109655780601f1061093a57610100808354040283529160200191610965565b820191906000526020600020905b81548152906001019060200180831161094857829003601f168201915b5050505050905090565b60003361097d818585611446565b60019150505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806109c3575073ffffffffffffffffffffffffffffffffffffffff8116155b610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610a5c6115f9565b50609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600033610ab285828561167a565b610abd85858561174b565b60019150505b9392505050565b600080610ae160c963ffffffff808616906119c116565b949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061097d9082908690610b309087906132ea565b611446565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b6f575073ffffffffffffffffffffffffffffffffffffffff8116155b610bfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a4b565b610c036115f9565b50609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610c5760c96119da565b905090565b600061098382611a95565b610c6f6115f9565b63ffffffff91909116600090815260fc6020526040902055565b5050565b6000610cd48787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ac0915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b6000610daf85611b52565b9050838114610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a4b565b610e4c85858585611bb7565b5050505050565b600080610e5f83611a95565b9050610ac381610ed9565b610e726115f9565b610e7c6000611c11565b565b610e866115f9565b8060005b81811015610ed357610ec1848483818110610ea757610ea76132fd565b9050602002016020810190610ebc9190612d8d565b611c88565b610ecc6001826132ea565b9050610e8a565b50505050565b60fd546000906109839083906402540be400611cdd565b6000610ae184848434611e07565b6060603780546108ec90613268565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610a4b565b610fde8286868403611446565b506001949350505050565b60003361097d8185610ffa8661109b565b61174b565b6110076115f9565b60005b8181101561108457611072838383818110611027576110276132fd565b61103d9260206040909202019081019150612d8d565b84848481811061104f5761104f6132fd565b9050604002016020013563ffffffff909116600090815260fc6020526040902055565b61107d6001826132ea565b905061100a565b505050565b6110916115f9565b610c898282611e40565b60006109836402540be40060fd5484611cdd9092919063ffffffff16565b600054610100900460ff16158080156110d95750600054600160ff909116105b806110f35750303b1580156110f3575060005460ff166001145b61117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a4b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156111dd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6111e78686611e56565b6111f13388611ef7565b6111fc848484611fec565b801561125f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6112706115f9565b8281146112d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a4b565b8260005b8181101561133f5761132d8686838181106112fa576112fa6132fd565b905060200201602081019061130f9190612d8d565b858584818110611321576113216132fd565b90506020020135611e40565b6113386001826132ea565b90506112dd565b505050505050565b61134f6115f9565b61135881611c88565b50565b6040805160208101909152600080825260975490916109839184919073ffffffffffffffffffffffffffffffffffffffff166120a6565b61139a6115f9565b73ffffffffffffffffffffffffffffffffffffffff811661143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a4b565b61135881611c11565b73ffffffffffffffffffffffffffffffffffffffff83166114e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff821661158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a4b565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ed3578181101561173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a4b565b610ed38484848403611446565b73ffffffffffffffffffffffffffffffffffffffff83166117ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff8216611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b49086815260200190565b60405180910390a3610ed3565b6000806119ce84846120bc565b915091505b9250929050565b606060006119e7836120f6565b9050805167ffffffffffffffff811115611a0357611a0361309c565b604051908082528060200260200182016040528015611a2c578160200160208202803683370190505b50915060005b8151811015611a8e57818181518110611a4d57611a4d6132fd565b6020026020010151838281518110611a6757611a676132fd565b63ffffffff9092166020928302919091019091015280611a868161332c565b915050611a32565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260336020526040812054610983565b600080611acc8661109b565b9050611ad781612191565b506000611af48883604051806020016040528060008152506121b1565b9050611b0389878388886121e0565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec89604051611b3e91815260200190565b60405180910390a350509695505050505050565b60008080611b6a60c963ffffffff808716906119c116565b915091508115611b7b579392505050565b611b8484612293565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b9190612cbc565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168463ffffffff1603611c0557611bf482826122ca565b810190611c019190612fa8565b60fd555b610ed3848484846122da565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611c9c60c963ffffffff8084169061236416565b611ca582612293565b90610c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b9190612cbc565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611d3557838281611d2b57611d2b613364565b0492505050610ac3565b808411611d9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610a4b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000611e3785858585611e198a612370565b60975473ffffffffffffffffffffffffffffffffffffffff16611ac0565b95945050505050565b610c8960c963ffffffff80851690849061239216565b600054610100900460ff16611eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610c89828261239d565b73ffffffffffffffffffffffffffffffffffffffff8216611f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a4b565b8060356000828254611f8691906132ea565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600054610100900460ff16612083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b61208b61244d565b61209483610b35565b61209d82610989565b61108481611c11565b6000610ae184846120b687612370565b856124ec565b60008181526002830160205260408120548190806120eb576120de85856125c0565b9250600091506119d39050565b6001925090506119d3565b60606000612103836125cc565b90508067ffffffffffffffff81111561211e5761211e61309c565b604051908082528060200260200182016040528015612147578160200160208202803683370190505b50915060005b81811015611a8e5761215f84826125d7565b60001c838281518110612174576121746132fd565b6020908102919091010152806121898161332c565b91505061214d565b606061219d33836125e3565b505060408051602081019091526000815290565b60608383836040516020016121c893929190613393565b60405160208183030381529060405290509392505050565b6000806121ec87611b52565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016122509594939291906133c0565b60206040518083038185885af115801561226e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd49190613420565b60606122a48263ffffffff166127a9565b6040516020016122b49190613439565b6040516020818303038152906040529050919050565b3660006119ce836040818761347e565b60006122e68383612867565b905060006122f4848461287f565b905036600061230386866122ca565b915091506123196123118590565b84848461288f565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161235291815260200190565b60405180910390a35050505050505050565b6000610ac38383612899565b63ffffffff8116600090815260fc6020526040902054606090610983906128b6565b610ed38383836128d4565b600054610100900460ff16612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b603661244083826134ee565b50603761108482826134ee565b600054610100900460ff166124e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610e7c6128f1565b6000806124f886611b52565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061257590899085908a908a908a906004016133c0565b602060405180830381865afa158015612592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b69190613420565b9695505050505050565b6000610ac38383612991565b6000610983826129a9565b6000610ac383836129b3565b73ffffffffffffffffffffffffffffffffffffffff8216612686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff82166000908152603360205260409020548181101561273c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b606060006127b6836129dd565b600101905060008167ffffffffffffffff8111156127d6576127d661309c565b6040519080825280601f01601f191660200182016040528015612800576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461280a57509392505050565b6000612876602082848661347e565b610ac391613608565b600061287660406020848661347e565b610ed38484611ef7565b60008181526002830160205260408120819055610ac38383612abf565b60606109836000833360405180602001604052806000815250612acb565b60008281526002840160205260408120829055610ae18484612b00565b600054610100900460ff16612988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610e7c33611c11565b60008181526001830160205260408120541515610ac3565b6000610983825490565b60008260000182815481106129ca576129ca6132fd565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a26577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612a52576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612a7057662386f26fc10000830492506010015b6305f5e1008310612a88576305f5e100830492506008015b6127108310612a9c57612710830492506004015b60648310612aae576064830492506002015b600a83106109835760010192915050565b6000610ac38383612b0c565b6060600185858585604051602001612ae7959493929190613644565b6040516020818303038152906040529050949350505050565b6000610ac38383612bff565b60008181526001830160205260408120548015612bf5576000612b306001836136c9565b8554909150600090612b44906001906136c9565b9050818114612ba9576000866000018281548110612b6457612b646132fd565b9060005260206000200154905080876000018481548110612b8757612b876132fd565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612bba57612bba6136dc565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610983565b6000915050610983565b6000818152600183016020526040812054612c4657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610983565b506000610983565b60005b83811015612c69578181015183820152602001612c51565b50506000910152565b60008151808452612c8a816020860160208601612c4e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610ac36020830184612c72565b803573ffffffffffffffffffffffffffffffffffffffff81168114612cf357600080fd5b919050565b60008060408385031215612d0b57600080fd5b612d1483612ccf565b946020939093013593505050565b600060208284031215612d3457600080fd5b610ac382612ccf565b600080600060608486031215612d5257600080fd5b612d5b84612ccf565b9250612d6960208501612ccf565b9150604084013590509250925092565b803563ffffffff81168114612cf357600080fd5b600060208284031215612d9f57600080fd5b610ac382612d79565b6020808252825182820181905260009190848201906040850190845b81811015612de657835163ffffffff1683529284019291840191600101612dc4565b50909695505050505050565b60008060408385031215612e0557600080fd5b612d1483612d79565b60008083601f840112612e2057600080fd5b50813567ffffffffffffffff811115612e3857600080fd5b6020830191508360208285010111156119d357600080fd5b60008060008060008060a08789031215612e6957600080fd5b612e7287612d79565b95506020870135945060408701359350606087013567ffffffffffffffff811115612e9c57600080fd5b612ea889828a01612e0e565b9094509250612ebb905060808801612ccf565b90509295509295509295565b60008060008060608587031215612edd57600080fd5b612ee685612d79565b935060208501359250604085013567ffffffffffffffff811115612f0957600080fd5b612f1587828801612e0e565b95989497509550505050565b60008083601f840112612f3357600080fd5b50813567ffffffffffffffff811115612f4b57600080fd5b6020830191508360208260051b85010111156119d357600080fd5b60008060208385031215612f7957600080fd5b823567ffffffffffffffff811115612f9057600080fd5b612f9c85828601612f21565b90969095509350505050565b600060208284031215612fba57600080fd5b5035919050565b600080600060608486031215612fd657600080fd5b612fdf84612d79565b95602085013595506040909401359392505050565b6000806020838503121561300757600080fd5b823567ffffffffffffffff8082111561301f57600080fd5b818501915085601f83011261303357600080fd5b81358181111561304257600080fd5b8660208260061b850101111561305757600080fd5b60209290920196919550909350505050565b6000806040838503121561307c57600080fd5b61308583612ccf565b915061309360208401612ccf565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126130dc57600080fd5b813567ffffffffffffffff808211156130f7576130f761309c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561313d5761313d61309c565b8160405283815286602085880101111561315657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561318f57600080fd5b86359550602087013567ffffffffffffffff808211156131ae57600080fd5b6131ba8a838b016130cb565b965060408901359150808211156131d057600080fd5b506131dd89828a016130cb565b9450506131ec60608801612ccf565b92506131fa60808801612ccf565b9150612ebb60a08801612ccf565b6000806000806040858703121561321e57600080fd5b843567ffffffffffffffff8082111561323657600080fd5b61324288838901612f21565b9096509450602087013591508082111561325b57600080fd5b50612f1587828801612f21565b600181811c9082168061327c57607f821691505b6020821081036132b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610983576109836132bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361335d5761335d6132bb565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b838152826020820152600082516133b1816040850160208701612c4e565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006133e560a0830186612c72565b82810360608401526133f78186612c72565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561343257600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161347181601f850160208701612c4e565b91909101601f0192915050565b6000808585111561348e57600080fd5b8386111561349b57600080fd5b5050820193919092039150565b601f82111561108457600081815260208120601f850160051c810160208610156134cf5750805b601f850160051c820191505b8181101561133f578281556001016134db565b815167ffffffffffffffff8111156135085761350861309c565b61351c816135168454613268565b846134a8565b602080601f83116001811461356f57600084156135395750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561133f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135bc5788860151825594840194600190910190840161359d565b50858210156135f857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b80356020831015610983577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516136b8816056850160208701612c4e565b919091016056019695505050505050565b81810381811115610983576109836132bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220bb6eafaed7fd481f34aca48d91f0192c869398026d02fd83723815b7b6e1106464736f6c63430008130033";
15
+ static readonly bytecode = "0x6101006040523480156200001257600080fd5b5060405162003b7038038062003b7083398101604081905262000035916200027c565b828280808080806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620002db565b63ffffffff1660a0526200011e3362000152565b50505060ff90931660c05250505063ffffffff811660e0526402540be40060fd5562000149620001a4565b50505062000300565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16156200020e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000090565b60005460ff9081161462000260576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b805163ffffffff811681146200027757600080fd5b919050565b6000806000606084860312156200029257600080fd5b835160ff81168114620002a457600080fd5b60208501519093506001600160a01b0381168114620002c257600080fd5b9150620002d26040850162000262565b90509250925092565b600060208284031215620002ee57600080fd5b620002f98262000262565b9392505050565b60805160a05160c05160e05161381a62000356600039600081816104020152611be1015260006103c60152600061063001526000818161078601528181610d1f015281816122a601526125ee015261381a6000f3fe6080604052600436106102d15760003560e01c80637fe0c85011610179578063b49c53a7116100d6578063e13174281161008a578063efae508a11610064578063efae508a146108a5578063f2ed8c53146108c5578063f2fde38b146108e557600080fd5b8063e131742814610848578063e80a7c7914610865578063e9198bf91461088557600080fd5b8063dd62ed3e116100bb578063dd62ed3e146107a8578063de523cf3146107fb578063e0b231fa1461082857600080fd5b8063b49c53a714610754578063d5438eae1461077457600080fd5b806395d89b411161012d578063a9059cbb11610112578063a9059cbb146106fb578063aaf5eb681461071b578063b1bd64361461073457600080fd5b806395d89b41146106c6578063a457c2d7146106db57600080fd5b80638d3638f41161015e5780638d3638f41461061e5780638da5cb5b1461065257806393c448471461067d57600080fd5b80637fe0c850146105eb57806381b4e8b41461060b57600080fd5b80633dfd38731161023257806356d5d475116101e657806371a15b38116101c057806371a15b381461054c578063775313a11461056c5780637f5a7c7b1461059957600080fd5b806356d5d4751461050457806370a0823114610517578063715018a61461053757600080fd5b80634473ad52116102175780634473ad52146104b157806349d462ef146104d157806351debffc146104f157600080fd5b80633dfd38731461046f578063440df4f41461048f57600080fd5b80632ead72f61161028957806338dd02051161026e57806338dd0205146103f057806339509351146104395780633ba0b9a91461045957600080fd5b80632ead72f614610392578063313ce567146103b257600080fd5b80630e72cc06116102ba5780630e72cc061461033157806318160ddd1461035357806323b872dd1461037257600080fd5b806306fdde03146102d6578063095ea7b314610301575b600080fd5b3480156102e257600080fd5b506102eb610905565b6040516102f89190612d72565b60405180910390f35b34801561030d57600080fd5b5061032161031c366004612dae565b610997565b60405190151581526020016102f8565b34801561033d57600080fd5b5061035161034c366004612dd8565b6109b1565b005b34801561035f57600080fd5b506035545b6040519081526020016102f8565b34801561037e57600080fd5b5061032161038d366004612df3565b610acc565b34801561039e57600080fd5b506103646103ad366004612e43565b610af2565b3480156103be57600080fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016102f8565b3480156103fc57600080fd5b506104247f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102f8565b34801561044557600080fd5b50610321610454366004612dae565b610b11565b34801561046557600080fd5b5061036460fd5481565b34801561047b57600080fd5b5061035161048a366004612dd8565b610b5d565b34801561049b57600080fd5b506104a4610c73565b6040516102f89190612e5e565b3480156104bd57600080fd5b506103646104cc366004612dd8565b610c84565b3480156104dd57600080fd5b506103516104ec366004612ea8565b610c8f565b6103646104ff366004612f06565b610cb5565b610351610512366004612f7d565b610d07565b34801561052357600080fd5b50610364610532366004612dd8565b610e7b565b34801561054357600080fd5b50610351610e92565b34801561055857600080fd5b5061035161056736600461301c565b610ea6565b34801561057857600080fd5b50610364610587366004612e43565b60fc6020526000908152604090205481565b3480156105a557600080fd5b506097546105c69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f8565b3480156105f757600080fd5b5061036461060636600461305e565b610f01565b610364610619366004613077565b610f18565b34801561062a57600080fd5b506104247f000000000000000000000000000000000000000000000000000000000000000081565b34801561065e57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166105c6565b34801561068957600080fd5b506102eb6040518060400160405280600581526020017f352e352e3000000000000000000000000000000000000000000000000000000081525081565b3480156106d257600080fd5b506102eb610f26565b3480156106e757600080fd5b506103216106f6366004612dae565b610f35565b34801561070757600080fd5b50610321610716366004612dae565b611011565b34801561072757600080fd5b506103646402540be40081565b34801561074057600080fd5b5061035161074f3660046130aa565b611027565b34801561076057600080fd5b5061035161076f366004612ea8565b6110b1565b34801561078057600080fd5b506105c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b457600080fd5b506103646107c336600461311f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b34801561080757600080fd5b506098546105c69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561083457600080fd5b5061036461084336600461305e565b6110c3565b34801561085457600080fd5b5060fe546104249063ffffffff1681565b34801561087157600080fd5b5061035161088036600461322c565b6110e1565b34801561089157600080fd5b506103516108a03660046132be565b611290565b3480156108b157600080fd5b506103516108c0366004612e43565b61136f565b3480156108d157600080fd5b506103646108e0366004612e43565b611383565b3480156108f157600080fd5b50610351610900366004612dd8565b6113ba565b6060603680546109149061331e565b80601f01602080910402602001604051908101604052809291908181526020018280546109409061331e565b801561098d5780601f106109625761010080835404028352916020019161098d565b820191906000526020600020905b81548152906001019060200180831161097057829003601f168201915b5050505050905090565b6000336109a581858561146e565b60019150505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806109eb575073ffffffffffffffffffffffffffffffffffffffff8116155b610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610a84611621565b50609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600033610ada8582856116a2565b610ae5858585611773565b60019150505b9392505050565b600080610b0960c963ffffffff808616906119e916565b949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906109a59082908690610b589087906133a0565b61146e565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b97575073ffffffffffffffffffffffffffffffffffffffff8116155b610c23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a73565b610c2b611621565b50609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610c7f60c9611a02565b905090565b60006109ab82611abd565b610c97611621565b63ffffffff91909116600090815260fc6020526040902055565b5050565b6000610cfc8787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ae8915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610dcc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b6000610dd785611b7a565b9050838114610e68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a73565b610e7485858585611bdf565b5050505050565b600080610e8783611abd565b9050610aeb81610f01565b610e9a611621565b610ea46000611cc7565b565b610eae611621565b8060005b81811015610efb57610ee9848483818110610ecf57610ecf6133b3565b9050602002016020810190610ee49190612e43565b611d3e565b610ef46001826133a0565b9050610eb2565b50505050565b60fd546000906109ab9083906402540be400611d93565b6000610b0984848434611ebd565b6060603780546109149061331e565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610ff9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610a73565b611006828686840361146e565b506001949350505050565b6000336109a58185611022866110c3565b611773565b61102f611621565b60005b818110156110ac5761109a83838381811061104f5761104f6133b3565b6110659260206040909202019081019150612e43565b848484818110611077576110776133b3565b9050604002016020013563ffffffff909116600090815260fc6020526040902055565b6110a56001826133a0565b9050611032565b505050565b6110b9611621565b610cb18282611ef6565b60006109ab6402540be40060fd5484611d939092919063ffffffff16565b600054610100900460ff16158080156111015750600054600160ff909116105b8061111b5750303b15801561111b575060005460ff166001145b6111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a73565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561120557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61120f8686611f0c565b6112193388611fad565b6112248484846120a2565b801561128757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611298611621565b828114611301576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a73565b8260005b8181101561136757611355868683818110611322576113226133b3565b90506020020160208101906113379190612e43565b858584818110611349576113496133b3565b90506020020135611ef6565b6113606001826133a0565b9050611305565b505050505050565b611377611621565b61138081611d3e565b50565b6040805160208101909152600080825260975490916109ab9184919073ffffffffffffffffffffffffffffffffffffffff1661215c565b6113c2611621565b73ffffffffffffffffffffffffffffffffffffffff8116611465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a73565b61138081611cc7565b73ffffffffffffffffffffffffffffffffffffffff8316611510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff82166115b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a73565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610efb5781811015611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a73565b610efb848484840361146e565b73ffffffffffffffffffffffffffffffffffffffff8316611816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff82166118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff83166000908152603360205260409020548181101561196f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119dc9086815260200190565b60405180910390a3610efb565b6000806119f68484612172565b915091505b9250929050565b60606000611a0f836121ac565b9050805167ffffffffffffffff811115611a2b57611a2b613152565b604051908082528060200260200182016040528015611a54578160200160208202803683370190505b50915060005b8151811015611ab657818181518110611a7557611a756133b3565b6020026020010151838281518110611a8f57611a8f6133b3565b63ffffffff9092166020928302919091019091015280611aae816133e2565b915050611a5a565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152603360205260408120546109ab565b600080611af4866110c3565b9050611aff81612247565b506000611b1c888360405180602001604052806000815250612267565b9050611b2b8987838888612296565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec89604051611b6691815260200190565b60405180910390a350509695505050505050565b60008080611b9260c963ffffffff808716906119e916565b915091508115611ba3579392505050565b611bac84612349565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739190612d72565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168463ffffffff1603611cbb57600080611c1f8484612380565b810190611c2c919061341a565b60fe54919350915063ffffffff9081169082161115611cb85760fd82905560fe80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83169081179091556040805184815260208101929092527f9371d25103415d11a68fa37814ef0238e2060077d0daf74850e796af6a04b178910160405180910390a15b50505b610efb84848484612390565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611d5260c963ffffffff8084169061241a16565b611d5b82612349565b90610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739190612d72565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611deb57838281611de157611de161343d565b0492505050610aeb565b808411611e54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610a73565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000611eed85858585611ecf8a612426565b60975473ffffffffffffffffffffffffffffffffffffffff16611ae8565b95945050505050565b610cb160c963ffffffff80851690849061244816565b600054610100900460ff16611fa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610cb18282612453565b73ffffffffffffffffffffffffffffffffffffffff821661202a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a73565b806035600082825461203c91906133a0565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600054610100900460ff16612139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b612141612503565b61214a83610b5d565b612153826109b1565b6110ac81611cc7565b6000610b09848461216c87612426565b856125a2565b60008181526002830160205260408120548190806121a1576121948585612676565b9250600091506119fb9050565b6001925090506119fb565b606060006121b983612682565b90508067ffffffffffffffff8111156121d4576121d4613152565b6040519080825280602002602001820160405280156121fd578160200160208202803683370190505b50915060005b81811015611ab657612215848261268d565b60001c83828151811061222a5761222a6133b3565b60209081029190910101528061223f816133e2565b915050612203565b60606122533383612699565b505060408051602081019091526000815290565b606083838360405160200161227e9392919061346c565b60405160208183030381529060405290509392505050565b6000806122a287611b7a565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612306959493929190613499565b60206040518083038185885af1158015612324573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cfc91906134f9565b606061235a8263ffffffff1661285f565b60405160200161236a9190613512565b6040516020818303038152906040529050919050565b3660006119f68360408187613557565b600061239c838361291d565b905060006123aa8484612935565b90503660006123b98686612380565b915091506123cf6123c78590565b848484612945565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161240891815260200190565b60405180910390a35050505050505050565b6000610aeb838361294f565b63ffffffff8116600090815260fc60205260409020546060906109ab9061296c565b610efb83838361298a565b600054610100900460ff166124ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b60366124f683826135c7565b5060376110ac82826135c7565b600054610100900460ff1661259a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610ea46129a7565b6000806125ae86611b7a565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061262b90899085908a908a908a90600401613499565b602060405180830381865afa158015612648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266c91906134f9565b9695505050505050565b6000610aeb8383612a47565b60006109ab82612a5f565b6000610aeb8383612a69565b73ffffffffffffffffffffffffffffffffffffffff821661273c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260336020526040902054818110156127f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6060600061286c83612a93565b600101905060008167ffffffffffffffff81111561288c5761288c613152565b6040519080825280601f01601f1916602001820160405280156128b6576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846128c057509392505050565b600061292c6020828486613557565b610aeb916136e1565b600061292c604060208486613557565b610efb8484611fad565b60008181526002830160205260408120819055610aeb8383612b75565b60606109ab6000833360405180602001604052806000815250612b81565b60008281526002840160205260408120829055610b098484612bb6565b600054610100900460ff16612a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610ea433611cc7565b60008181526001830160205260408120541515610aeb565b60006109ab825490565b6000826000018281548110612a8057612a806133b3565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612adc577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612b08576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612b2657662386f26fc10000830492506010015b6305f5e1008310612b3e576305f5e100830492506008015b6127108310612b5257612710830492506004015b60648310612b64576064830492506002015b600a83106109ab5760010192915050565b6000610aeb8383612bc2565b6060600185858585604051602001612b9d95949392919061371d565b6040516020818303038152906040529050949350505050565b6000610aeb8383612cb5565b60008181526001830160205260408120548015612cab576000612be66001836137a2565b8554909150600090612bfa906001906137a2565b9050818114612c5f576000866000018281548110612c1a57612c1a6133b3565b9060005260206000200154905080876000018481548110612c3d57612c3d6133b3565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612c7057612c706137b5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506109ab565b60009150506109ab565b6000818152600183016020526040812054612cfc575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556109ab565b5060006109ab565b60005b83811015612d1f578181015183820152602001612d07565b50506000910152565b60008151808452612d40816020860160208601612d04565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610aeb6020830184612d28565b803573ffffffffffffffffffffffffffffffffffffffff81168114612da957600080fd5b919050565b60008060408385031215612dc157600080fd5b612dca83612d85565b946020939093013593505050565b600060208284031215612dea57600080fd5b610aeb82612d85565b600080600060608486031215612e0857600080fd5b612e1184612d85565b9250612e1f60208501612d85565b9150604084013590509250925092565b803563ffffffff81168114612da957600080fd5b600060208284031215612e5557600080fd5b610aeb82612e2f565b6020808252825182820181905260009190848201906040850190845b81811015612e9c57835163ffffffff1683529284019291840191600101612e7a565b50909695505050505050565b60008060408385031215612ebb57600080fd5b612dca83612e2f565b60008083601f840112612ed657600080fd5b50813567ffffffffffffffff811115612eee57600080fd5b6020830191508360208285010111156119fb57600080fd5b60008060008060008060a08789031215612f1f57600080fd5b612f2887612e2f565b95506020870135945060408701359350606087013567ffffffffffffffff811115612f5257600080fd5b612f5e89828a01612ec4565b9094509250612f71905060808801612d85565b90509295509295509295565b60008060008060608587031215612f9357600080fd5b612f9c85612e2f565b935060208501359250604085013567ffffffffffffffff811115612fbf57600080fd5b612fcb87828801612ec4565b95989497509550505050565b60008083601f840112612fe957600080fd5b50813567ffffffffffffffff81111561300157600080fd5b6020830191508360208260051b85010111156119fb57600080fd5b6000806020838503121561302f57600080fd5b823567ffffffffffffffff81111561304657600080fd5b61305285828601612fd7565b90969095509350505050565b60006020828403121561307057600080fd5b5035919050565b60008060006060848603121561308c57600080fd5b61309584612e2f565b95602085013595506040909401359392505050565b600080602083850312156130bd57600080fd5b823567ffffffffffffffff808211156130d557600080fd5b818501915085601f8301126130e957600080fd5b8135818111156130f857600080fd5b8660208260061b850101111561310d57600080fd5b60209290920196919550909350505050565b6000806040838503121561313257600080fd5b61313b83612d85565b915061314960208401612d85565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261319257600080fd5b813567ffffffffffffffff808211156131ad576131ad613152565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156131f3576131f3613152565b8160405283815286602085880101111561320c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561324557600080fd5b86359550602087013567ffffffffffffffff8082111561326457600080fd5b6132708a838b01613181565b9650604089013591508082111561328657600080fd5b5061329389828a01613181565b9450506132a260608801612d85565b92506132b060808801612d85565b9150612f7160a08801612d85565b600080600080604085870312156132d457600080fd5b843567ffffffffffffffff808211156132ec57600080fd5b6132f888838901612fd7565b9096509450602087013591508082111561331157600080fd5b50612fcb87828801612fd7565b600181811c9082168061333257607f821691505b60208210810361336b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109ab576109ab613371565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361341357613413613371565b5060010190565b6000806040838503121561342d57600080fd5b8235915061314960208401612e2f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8381528260208201526000825161348a816040850160208701612d04565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006134be60a0830186612d28565b82810360608401526134d08186612d28565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561350b57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161354a81601f850160208701612d04565b91909101601f0192915050565b6000808585111561356757600080fd5b8386111561357457600080fd5b5050820193919092039150565b601f8211156110ac57600081815260208120601f850160051c810160208610156135a85750805b601f850160051c820191505b81811015611367578281556001016135b4565b815167ffffffffffffffff8111156135e1576135e1613152565b6135f5816135ef845461331e565b84613581565b602080601f83116001811461364857600084156136125750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611367565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561369557888601518255948401946001909101908401613676565b50858210156136d157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b803560208310156109ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251613791816056850160208701612d04565b919091016056019695505050505050565b818103818111156109ab576109ab613371565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122037ad57921b3b5b32b612430e94146aeee9f9a25f708bef0cebd5f7b2e862fc6c64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint8";
@@ -49,6 +49,21 @@ export declare class HypERC4626__factory extends ContractFactory {
49
49
  }];
50
50
  readonly name: "Approval";
51
51
  readonly type: "event";
52
+ }, {
53
+ readonly anonymous: false;
54
+ readonly inputs: readonly [{
55
+ readonly indexed: false;
56
+ readonly internalType: "uint256";
57
+ readonly name: "newExchangeRate";
58
+ readonly type: "uint256";
59
+ }, {
60
+ readonly indexed: false;
61
+ readonly internalType: "uint32";
62
+ readonly name: "rateUpdateNonce";
63
+ readonly type: "uint32";
64
+ }];
65
+ readonly name: "ExchangeRateUpdated";
66
+ readonly type: "event";
52
67
  }, {
53
68
  readonly anonymous: false;
54
69
  readonly inputs: readonly [{
@@ -444,6 +459,16 @@ export declare class HypERC4626__factory extends ContractFactory {
444
459
  }];
445
460
  readonly stateMutability: "view";
446
461
  readonly type: "function";
462
+ }, {
463
+ readonly inputs: readonly [];
464
+ readonly name: "previousNonce";
465
+ readonly outputs: readonly [{
466
+ readonly internalType: "uint32";
467
+ readonly name: "";
468
+ readonly type: "uint32";
469
+ }];
470
+ readonly stateMutability: "view";
471
+ readonly type: "function";
447
472
  }, {
448
473
  readonly inputs: readonly [{
449
474
  readonly internalType: "uint32";
@@ -1 +1 @@
1
- {"version":3,"file":"HypERC4626__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/token/extensions/HypERC4626__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,sDAAsD,CAAC;AAy4B9D,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,YAAY,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAQb,oBAAoB,CAC3B,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,YAAY,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAQZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sz6BAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
1
+ {"version":3,"file":"HypERC4626__factory.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/token/extensions/HypERC4626__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,MAAM,EAGN,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACpB,MAAM,sDAAsD,CAAC;AAy6B9D,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,YAAY,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAQb,oBAAoB,CAC3B,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,YAAY,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAQZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,wu7BAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
@@ -49,6 +49,25 @@ const _abi = [
49
49
  name: "Approval",
50
50
  type: "event",
51
51
  },
52
+ {
53
+ anonymous: false,
54
+ inputs: [
55
+ {
56
+ indexed: false,
57
+ internalType: "uint256",
58
+ name: "newExchangeRate",
59
+ type: "uint256",
60
+ },
61
+ {
62
+ indexed: false,
63
+ internalType: "uint32",
64
+ name: "rateUpdateNonce",
65
+ type: "uint32",
66
+ },
67
+ ],
68
+ name: "ExchangeRateUpdated",
69
+ type: "event",
70
+ },
52
71
  {
53
72
  anonymous: false,
54
73
  inputs: [
@@ -562,6 +581,19 @@ const _abi = [
562
581
  stateMutability: "view",
563
582
  type: "function",
564
583
  },
584
+ {
585
+ inputs: [],
586
+ name: "previousNonce",
587
+ outputs: [
588
+ {
589
+ internalType: "uint32",
590
+ name: "",
591
+ type: "uint32",
592
+ },
593
+ ],
594
+ stateMutability: "view",
595
+ type: "function",
596
+ },
565
597
  {
566
598
  inputs: [
567
599
  {
@@ -901,7 +933,7 @@ const _abi = [
901
933
  type: "function",
902
934
  },
903
935
  ];
904
- const _bytecode = "0x6101006040523480156200001257600080fd5b5060405162003a9738038062003a9783398101604081905262000035916200027c565b828280808080806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620002db565b63ffffffff1660a0526200011e3362000152565b50505060ff90931660c05250505063ffffffff811660e0526402540be40060fd5562000149620001a4565b50505062000300565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16156200020e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000090565b60005460ff9081161462000260576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b805163ffffffff811681146200027757600080fd5b919050565b6000806000606084860312156200029257600080fd5b835160ff81168114620002a457600080fd5b60208501519093506001600160a01b0381168114620002c257600080fd5b9150620002d26040850162000262565b90509250925092565b600060208284031215620002ee57600080fd5b620002f98262000262565b9392505050565b60805160a05160c05160e05161374162000356600039600081816103f70152611bb9015260006103bb0152600061062501526000818161077b01528181610cf7015281816121f0015261253801526137416000f3fe6080604052600436106102c65760003560e01c80637f5a7c7b11610179578063b1bd6436116100d6578063e0b231fa1161008a578063efae508a11610064578063efae508a1461087d578063f2ed8c531461089d578063f2fde38b146108bd57600080fd5b8063e0b231fa1461081d578063e80a7c791461083d578063e9198bf91461085d57600080fd5b8063d5438eae116100bb578063d5438eae14610769578063dd62ed3e1461079d578063de523cf3146107f057600080fd5b8063b1bd643614610729578063b49c53a71461074957600080fd5b806393c448471161012d578063a457c2d711610112578063a457c2d7146106d0578063a9059cbb146106f0578063aaf5eb681461071057600080fd5b806393c448471461067257806395d89b41146106bb57600080fd5b806381b4e8b41161015e57806381b4e8b4146106005780638d3638f4146106135780638da5cb5b1461064757600080fd5b80637f5a7c7b1461058e5780637fe0c850146105e057600080fd5b80633dfd38731161022757806356d5d475116101db578063715018a6116101c0578063715018a61461052c57806371a15b3814610541578063775313a11461056157600080fd5b806356d5d475146104f957806370a082311461050c57600080fd5b80634473ad521161020c5780634473ad52146104a657806349d462ef146104c657806351debffc146104e657600080fd5b80633dfd387314610464578063440df4f41461048457600080fd5b80632ead72f61161027e57806338dd02051161026357806338dd0205146103e5578063395093511461042e5780633ba0b9a91461044e57600080fd5b80632ead72f614610387578063313ce567146103a757600080fd5b80630e72cc06116102af5780630e72cc061461032657806318160ddd1461034857806323b872dd1461036757600080fd5b806306fdde03146102cb578063095ea7b3146102f6575b600080fd5b3480156102d757600080fd5b506102e06108dd565b6040516102ed9190612cbc565b60405180910390f35b34801561030257600080fd5b50610316610311366004612cf8565b61096f565b60405190151581526020016102ed565b34801561033257600080fd5b50610346610341366004612d22565b610989565b005b34801561035457600080fd5b506035545b6040519081526020016102ed565b34801561037357600080fd5b50610316610382366004612d3d565b610aa4565b34801561039357600080fd5b506103596103a2366004612d8d565b610aca565b3480156103b357600080fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016102ed565b3480156103f157600080fd5b506104197f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102ed565b34801561043a57600080fd5b50610316610449366004612cf8565b610ae9565b34801561045a57600080fd5b5061035960fd5481565b34801561047057600080fd5b5061034661047f366004612d22565b610b35565b34801561049057600080fd5b50610499610c4b565b6040516102ed9190612da8565b3480156104b257600080fd5b506103596104c1366004612d22565b610c5c565b3480156104d257600080fd5b506103466104e1366004612df2565b610c67565b6103596104f4366004612e50565b610c8d565b610346610507366004612ec7565b610cdf565b34801561051857600080fd5b50610359610527366004612d22565b610e53565b34801561053857600080fd5b50610346610e6a565b34801561054d57600080fd5b5061034661055c366004612f66565b610e7e565b34801561056d57600080fd5b5061035961057c366004612d8d565b60fc6020526000908152604090205481565b34801561059a57600080fd5b506097546105bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ed565b3480156105ec57600080fd5b506103596105fb366004612fa8565b610ed9565b61035961060e366004612fc1565b610ef0565b34801561061f57600080fd5b506104197f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166105bb565b34801561067e57600080fd5b506102e06040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b3480156106c757600080fd5b506102e0610efe565b3480156106dc57600080fd5b506103166106eb366004612cf8565b610f0d565b3480156106fc57600080fd5b5061031661070b366004612cf8565b610fe9565b34801561071c57600080fd5b506103596402540be40081565b34801561073557600080fd5b50610346610744366004612ff4565b610fff565b34801561075557600080fd5b50610346610764366004612df2565b611089565b34801561077557600080fd5b506105bb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107a957600080fd5b506103596107b8366004613069565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b3480156107fc57600080fd5b506098546105bb9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561082957600080fd5b50610359610838366004612fa8565b61109b565b34801561084957600080fd5b50610346610858366004613176565b6110b9565b34801561086957600080fd5b50610346610878366004613208565b611268565b34801561088957600080fd5b50610346610898366004612d8d565b611347565b3480156108a957600080fd5b506103596108b8366004612d8d565b61135b565b3480156108c957600080fd5b506103466108d8366004612d22565b611392565b6060603680546108ec90613268565b80601f016020809104026020016040519081016040528092919081815260200182805461091890613268565b80156109655780601f1061093a57610100808354040283529160200191610965565b820191906000526020600020905b81548152906001019060200180831161094857829003601f168201915b5050505050905090565b60003361097d818585611446565b60019150505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806109c3575073ffffffffffffffffffffffffffffffffffffffff8116155b610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610a5c6115f9565b50609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600033610ab285828561167a565b610abd85858561174b565b60019150505b9392505050565b600080610ae160c963ffffffff808616906119c116565b949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061097d9082908690610b309087906132ea565b611446565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b6f575073ffffffffffffffffffffffffffffffffffffffff8116155b610bfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a4b565b610c036115f9565b50609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610c5760c96119da565b905090565b600061098382611a95565b610c6f6115f9565b63ffffffff91909116600090815260fc6020526040902055565b5050565b6000610cd48787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ac0915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b6000610daf85611b52565b9050838114610e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a4b565b610e4c85858585611bb7565b5050505050565b600080610e5f83611a95565b9050610ac381610ed9565b610e726115f9565b610e7c6000611c11565b565b610e866115f9565b8060005b81811015610ed357610ec1848483818110610ea757610ea76132fd565b9050602002016020810190610ebc9190612d8d565b611c88565b610ecc6001826132ea565b9050610e8a565b50505050565b60fd546000906109839083906402540be400611cdd565b6000610ae184848434611e07565b6060603780546108ec90613268565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610a4b565b610fde8286868403611446565b506001949350505050565b60003361097d8185610ffa8661109b565b61174b565b6110076115f9565b60005b8181101561108457611072838383818110611027576110276132fd565b61103d9260206040909202019081019150612d8d565b84848481811061104f5761104f6132fd565b9050604002016020013563ffffffff909116600090815260fc6020526040902055565b61107d6001826132ea565b905061100a565b505050565b6110916115f9565b610c898282611e40565b60006109836402540be40060fd5484611cdd9092919063ffffffff16565b600054610100900460ff16158080156110d95750600054600160ff909116105b806110f35750303b1580156110f3575060005460ff166001145b61117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a4b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156111dd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6111e78686611e56565b6111f13388611ef7565b6111fc848484611fec565b801561125f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6112706115f9565b8281146112d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a4b565b8260005b8181101561133f5761132d8686838181106112fa576112fa6132fd565b905060200201602081019061130f9190612d8d565b858584818110611321576113216132fd565b90506020020135611e40565b6113386001826132ea565b90506112dd565b505050505050565b61134f6115f9565b61135881611c88565b50565b6040805160208101909152600080825260975490916109839184919073ffffffffffffffffffffffffffffffffffffffff166120a6565b61139a6115f9565b73ffffffffffffffffffffffffffffffffffffffff811661143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a4b565b61135881611c11565b73ffffffffffffffffffffffffffffffffffffffff83166114e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff821661158b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610e7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a4b565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ed3578181101561173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a4b565b610ed38484848403611446565b73ffffffffffffffffffffffffffffffffffffffff83166117ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff8216611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526033602052604090205481811015611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119b49086815260200190565b60405180910390a3610ed3565b6000806119ce84846120bc565b915091505b9250929050565b606060006119e7836120f6565b9050805167ffffffffffffffff811115611a0357611a0361309c565b604051908082528060200260200182016040528015611a2c578160200160208202803683370190505b50915060005b8151811015611a8e57818181518110611a4d57611a4d6132fd565b6020026020010151838281518110611a6757611a676132fd565b63ffffffff9092166020928302919091019091015280611a868161332c565b915050611a32565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260336020526040812054610983565b600080611acc8661109b565b9050611ad781612191565b506000611af48883604051806020016040528060008152506121b1565b9050611b0389878388886121e0565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec89604051611b3e91815260200190565b60405180910390a350509695505050505050565b60008080611b6a60c963ffffffff808716906119c116565b915091508115611b7b579392505050565b611b8484612293565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b9190612cbc565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168463ffffffff1603611c0557611bf482826122ca565b810190611c019190612fa8565b60fd555b610ed3848484846122da565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611c9c60c963ffffffff8084169061236416565b611ca582612293565b90610c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4b9190612cbc565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611d3557838281611d2b57611d2b613364565b0492505050610ac3565b808411611d9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610a4b565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000611e3785858585611e198a612370565b60975473ffffffffffffffffffffffffffffffffffffffff16611ac0565b95945050505050565b610c8960c963ffffffff80851690849061239216565b600054610100900460ff16611eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610c89828261239d565b73ffffffffffffffffffffffffffffffffffffffff8216611f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a4b565b8060356000828254611f8691906132ea565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600054610100900460ff16612083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b61208b61244d565b61209483610b35565b61209d82610989565b61108481611c11565b6000610ae184846120b687612370565b856124ec565b60008181526002830160205260408120548190806120eb576120de85856125c0565b9250600091506119d39050565b6001925090506119d3565b60606000612103836125cc565b90508067ffffffffffffffff81111561211e5761211e61309c565b604051908082528060200260200182016040528015612147578160200160208202803683370190505b50915060005b81811015611a8e5761215f84826125d7565b60001c838281518110612174576121746132fd565b6020908102919091010152806121898161332c565b91505061214d565b606061219d33836125e3565b505060408051602081019091526000815290565b60608383836040516020016121c893929190613393565b60405160208183030381529060405290509392505050565b6000806121ec87611b52565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016122509594939291906133c0565b60206040518083038185885af115801561226e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd49190613420565b60606122a48263ffffffff166127a9565b6040516020016122b49190613439565b6040516020818303038152906040529050919050565b3660006119ce836040818761347e565b60006122e68383612867565b905060006122f4848461287f565b905036600061230386866122ca565b915091506123196123118590565b84848461288f565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161235291815260200190565b60405180910390a35050505050505050565b6000610ac38383612899565b63ffffffff8116600090815260fc6020526040902054606090610983906128b6565b610ed38383836128d4565b600054610100900460ff16612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b603661244083826134ee565b50603761108482826134ee565b600054610100900460ff166124e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610e7c6128f1565b6000806124f886611b52565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061257590899085908a908a908a906004016133c0565b602060405180830381865afa158015612592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b69190613420565b9695505050505050565b6000610ac38383612991565b6000610983826129a9565b6000610ac383836129b3565b73ffffffffffffffffffffffffffffffffffffffff8216612686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff82166000908152603360205260409020548181101561273c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610a4b565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b606060006127b6836129dd565b600101905060008167ffffffffffffffff8111156127d6576127d661309c565b6040519080825280601f01601f191660200182016040528015612800576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461280a57509392505050565b6000612876602082848661347e565b610ac391613608565b600061287660406020848661347e565b610ed38484611ef7565b60008181526002830160205260408120819055610ac38383612abf565b60606109836000833360405180602001604052806000815250612acb565b60008281526002840160205260408120829055610ae18484612b00565b600054610100900460ff16612988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a4b565b610e7c33611c11565b60008181526001830160205260408120541515610ac3565b6000610983825490565b60008260000182815481106129ca576129ca6132fd565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a26577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612a52576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612a7057662386f26fc10000830492506010015b6305f5e1008310612a88576305f5e100830492506008015b6127108310612a9c57612710830492506004015b60648310612aae576064830492506002015b600a83106109835760010192915050565b6000610ac38383612b0c565b6060600185858585604051602001612ae7959493929190613644565b6040516020818303038152906040529050949350505050565b6000610ac38383612bff565b60008181526001830160205260408120548015612bf5576000612b306001836136c9565b8554909150600090612b44906001906136c9565b9050818114612ba9576000866000018281548110612b6457612b646132fd565b9060005260206000200154905080876000018481548110612b8757612b876132fd565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612bba57612bba6136dc565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610983565b6000915050610983565b6000818152600183016020526040812054612c4657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610983565b506000610983565b60005b83811015612c69578181015183820152602001612c51565b50506000910152565b60008151808452612c8a816020860160208601612c4e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610ac36020830184612c72565b803573ffffffffffffffffffffffffffffffffffffffff81168114612cf357600080fd5b919050565b60008060408385031215612d0b57600080fd5b612d1483612ccf565b946020939093013593505050565b600060208284031215612d3457600080fd5b610ac382612ccf565b600080600060608486031215612d5257600080fd5b612d5b84612ccf565b9250612d6960208501612ccf565b9150604084013590509250925092565b803563ffffffff81168114612cf357600080fd5b600060208284031215612d9f57600080fd5b610ac382612d79565b6020808252825182820181905260009190848201906040850190845b81811015612de657835163ffffffff1683529284019291840191600101612dc4565b50909695505050505050565b60008060408385031215612e0557600080fd5b612d1483612d79565b60008083601f840112612e2057600080fd5b50813567ffffffffffffffff811115612e3857600080fd5b6020830191508360208285010111156119d357600080fd5b60008060008060008060a08789031215612e6957600080fd5b612e7287612d79565b95506020870135945060408701359350606087013567ffffffffffffffff811115612e9c57600080fd5b612ea889828a01612e0e565b9094509250612ebb905060808801612ccf565b90509295509295509295565b60008060008060608587031215612edd57600080fd5b612ee685612d79565b935060208501359250604085013567ffffffffffffffff811115612f0957600080fd5b612f1587828801612e0e565b95989497509550505050565b60008083601f840112612f3357600080fd5b50813567ffffffffffffffff811115612f4b57600080fd5b6020830191508360208260051b85010111156119d357600080fd5b60008060208385031215612f7957600080fd5b823567ffffffffffffffff811115612f9057600080fd5b612f9c85828601612f21565b90969095509350505050565b600060208284031215612fba57600080fd5b5035919050565b600080600060608486031215612fd657600080fd5b612fdf84612d79565b95602085013595506040909401359392505050565b6000806020838503121561300757600080fd5b823567ffffffffffffffff8082111561301f57600080fd5b818501915085601f83011261303357600080fd5b81358181111561304257600080fd5b8660208260061b850101111561305757600080fd5b60209290920196919550909350505050565b6000806040838503121561307c57600080fd5b61308583612ccf565b915061309360208401612ccf565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126130dc57600080fd5b813567ffffffffffffffff808211156130f7576130f761309c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561313d5761313d61309c565b8160405283815286602085880101111561315657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561318f57600080fd5b86359550602087013567ffffffffffffffff808211156131ae57600080fd5b6131ba8a838b016130cb565b965060408901359150808211156131d057600080fd5b506131dd89828a016130cb565b9450506131ec60608801612ccf565b92506131fa60808801612ccf565b9150612ebb60a08801612ccf565b6000806000806040858703121561321e57600080fd5b843567ffffffffffffffff8082111561323657600080fd5b61324288838901612f21565b9096509450602087013591508082111561325b57600080fd5b50612f1587828801612f21565b600181811c9082168061327c57607f821691505b6020821081036132b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610983576109836132bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361335d5761335d6132bb565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b838152826020820152600082516133b1816040850160208701612c4e565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006133e560a0830186612c72565b82810360608401526133f78186612c72565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561343257600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161347181601f850160208701612c4e565b91909101601f0192915050565b6000808585111561348e57600080fd5b8386111561349b57600080fd5b5050820193919092039150565b601f82111561108457600081815260208120601f850160051c810160208610156134cf5750805b601f850160051c820191505b8181101561133f578281556001016134db565b815167ffffffffffffffff8111156135085761350861309c565b61351c816135168454613268565b846134a8565b602080601f83116001811461356f57600084156135395750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561133f565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135bc5788860151825594840194600190910190840161359d565b50858210156135f857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b80356020831015610983577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516136b8816056850160208701612c4e565b919091016056019695505050505050565b81810381811115610983576109836132bb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220bb6eafaed7fd481f34aca48d91f0192c869398026d02fd83723815b7b6e1106464736f6c63430008130033";
936
+ const _bytecode = "0x6101006040523480156200001257600080fd5b5060405162003b7038038062003b7083398101604081905262000035916200027c565b828280808080806001600160a01b0381163b620000995760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010a9190620002db565b63ffffffff1660a0526200011e3362000152565b50505060ff90931660c05250505063ffffffff811660e0526402540be40060fd5562000149620001a4565b50505062000300565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16156200020e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000090565b60005460ff9081161462000260576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b805163ffffffff811681146200027757600080fd5b919050565b6000806000606084860312156200029257600080fd5b835160ff81168114620002a457600080fd5b60208501519093506001600160a01b0381168114620002c257600080fd5b9150620002d26040850162000262565b90509250925092565b600060208284031215620002ee57600080fd5b620002f98262000262565b9392505050565b60805160a05160c05160e05161381a62000356600039600081816104020152611be1015260006103c60152600061063001526000818161078601528181610d1f015281816122a601526125ee015261381a6000f3fe6080604052600436106102d15760003560e01c80637fe0c85011610179578063b49c53a7116100d6578063e13174281161008a578063efae508a11610064578063efae508a146108a5578063f2ed8c53146108c5578063f2fde38b146108e557600080fd5b8063e131742814610848578063e80a7c7914610865578063e9198bf91461088557600080fd5b8063dd62ed3e116100bb578063dd62ed3e146107a8578063de523cf3146107fb578063e0b231fa1461082857600080fd5b8063b49c53a714610754578063d5438eae1461077457600080fd5b806395d89b411161012d578063a9059cbb11610112578063a9059cbb146106fb578063aaf5eb681461071b578063b1bd64361461073457600080fd5b806395d89b41146106c6578063a457c2d7146106db57600080fd5b80638d3638f41161015e5780638d3638f41461061e5780638da5cb5b1461065257806393c448471461067d57600080fd5b80637fe0c850146105eb57806381b4e8b41461060b57600080fd5b80633dfd38731161023257806356d5d475116101e657806371a15b38116101c057806371a15b381461054c578063775313a11461056c5780637f5a7c7b1461059957600080fd5b806356d5d4751461050457806370a0823114610517578063715018a61461053757600080fd5b80634473ad52116102175780634473ad52146104b157806349d462ef146104d157806351debffc146104f157600080fd5b80633dfd38731461046f578063440df4f41461048f57600080fd5b80632ead72f61161028957806338dd02051161026e57806338dd0205146103f057806339509351146104395780633ba0b9a91461045957600080fd5b80632ead72f614610392578063313ce567146103b257600080fd5b80630e72cc06116102ba5780630e72cc061461033157806318160ddd1461035357806323b872dd1461037257600080fd5b806306fdde03146102d6578063095ea7b314610301575b600080fd5b3480156102e257600080fd5b506102eb610905565b6040516102f89190612d72565b60405180910390f35b34801561030d57600080fd5b5061032161031c366004612dae565b610997565b60405190151581526020016102f8565b34801561033d57600080fd5b5061035161034c366004612dd8565b6109b1565b005b34801561035f57600080fd5b506035545b6040519081526020016102f8565b34801561037e57600080fd5b5061032161038d366004612df3565b610acc565b34801561039e57600080fd5b506103646103ad366004612e43565b610af2565b3480156103be57600080fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016102f8565b3480156103fc57600080fd5b506104247f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102f8565b34801561044557600080fd5b50610321610454366004612dae565b610b11565b34801561046557600080fd5b5061036460fd5481565b34801561047b57600080fd5b5061035161048a366004612dd8565b610b5d565b34801561049b57600080fd5b506104a4610c73565b6040516102f89190612e5e565b3480156104bd57600080fd5b506103646104cc366004612dd8565b610c84565b3480156104dd57600080fd5b506103516104ec366004612ea8565b610c8f565b6103646104ff366004612f06565b610cb5565b610351610512366004612f7d565b610d07565b34801561052357600080fd5b50610364610532366004612dd8565b610e7b565b34801561054357600080fd5b50610351610e92565b34801561055857600080fd5b5061035161056736600461301c565b610ea6565b34801561057857600080fd5b50610364610587366004612e43565b60fc6020526000908152604090205481565b3480156105a557600080fd5b506097546105c69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f8565b3480156105f757600080fd5b5061036461060636600461305e565b610f01565b610364610619366004613077565b610f18565b34801561062a57600080fd5b506104247f000000000000000000000000000000000000000000000000000000000000000081565b34801561065e57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166105c6565b34801561068957600080fd5b506102eb6040518060400160405280600581526020017f352e352e3000000000000000000000000000000000000000000000000000000081525081565b3480156106d257600080fd5b506102eb610f26565b3480156106e757600080fd5b506103216106f6366004612dae565b610f35565b34801561070757600080fd5b50610321610716366004612dae565b611011565b34801561072757600080fd5b506103646402540be40081565b34801561074057600080fd5b5061035161074f3660046130aa565b611027565b34801561076057600080fd5b5061035161076f366004612ea8565b6110b1565b34801561078057600080fd5b506105c67f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b457600080fd5b506103646107c336600461311f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b34801561080757600080fd5b506098546105c69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561083457600080fd5b5061036461084336600461305e565b6110c3565b34801561085457600080fd5b5060fe546104249063ffffffff1681565b34801561087157600080fd5b5061035161088036600461322c565b6110e1565b34801561089157600080fd5b506103516108a03660046132be565b611290565b3480156108b157600080fd5b506103516108c0366004612e43565b61136f565b3480156108d157600080fd5b506103646108e0366004612e43565b611383565b3480156108f157600080fd5b50610351610900366004612dd8565b6113ba565b6060603680546109149061331e565b80601f01602080910402602001604051908101604052809291908181526020018280546109409061331e565b801561098d5780601f106109625761010080835404028352916020019161098d565b820191906000526020600020905b81548152906001019060200180831161097057829003601f168201915b5050505050905090565b6000336109a581858561146e565b60019150505b92915050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806109eb575073ffffffffffffffffffffffffffffffffffffffff8116155b610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610a84611621565b50609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600033610ada8582856116a2565b610ae5858585611773565b60019150505b9392505050565b600080610b0960c963ffffffff808616906119e916565b949350505050565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906109a59082908690610b589087906133a0565b61146e565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b97575073ffffffffffffffffffffffffffffffffffffffff8116155b610c23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a73565b610c2b611621565b50609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060610c7f60c9611a02565b905090565b60006109ab82611abd565b610c97611621565b63ffffffff91909116600090815260fc6020526040902055565b5050565b6000610cfc8787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ae8915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610dcc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b6000610dd785611b7a565b9050838114610e68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a73565b610e7485858585611bdf565b5050505050565b600080610e8783611abd565b9050610aeb81610f01565b610e9a611621565b610ea46000611cc7565b565b610eae611621565b8060005b81811015610efb57610ee9848483818110610ecf57610ecf6133b3565b9050602002016020810190610ee49190612e43565b611d3e565b610ef46001826133a0565b9050610eb2565b50505050565b60fd546000906109ab9083906402540be400611d93565b6000610b0984848434611ebd565b6060603780546109149061331e565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610ff9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610a73565b611006828686840361146e565b506001949350505050565b6000336109a58185611022866110c3565b611773565b61102f611621565b60005b818110156110ac5761109a83838381811061104f5761104f6133b3565b6110659260206040909202019081019150612e43565b848484818110611077576110776133b3565b9050604002016020013563ffffffff909116600090815260fc6020526040902055565b6110a56001826133a0565b9050611032565b505050565b6110b9611621565b610cb18282611ef6565b60006109ab6402540be40060fd5484611d939092919063ffffffff16565b600054610100900460ff16158080156111015750600054600160ff909116105b8061111b5750303b15801561111b575060005460ff166001145b6111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a73565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561120557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61120f8686611f0c565b6112193388611fad565b6112248484846120a2565b801561128757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611298611621565b828114611301576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a73565b8260005b8181101561136757611355868683818110611322576113226133b3565b90506020020160208101906113379190612e43565b858584818110611349576113496133b3565b90506020020135611ef6565b6113606001826133a0565b9050611305565b505050505050565b611377611621565b61138081611d3e565b50565b6040805160208101909152600080825260975490916109ab9184919073ffffffffffffffffffffffffffffffffffffffff1661215c565b6113c2611621565b73ffffffffffffffffffffffffffffffffffffffff8116611465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a73565b61138081611cc7565b73ffffffffffffffffffffffffffffffffffffffff8316611510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff82166115b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60655473ffffffffffffffffffffffffffffffffffffffff163314610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a73565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610efb5781811015611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a73565b610efb848484840361146e565b73ffffffffffffffffffffffffffffffffffffffff8316611816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff82166118b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff83166000908152603360205260409020548181101561196f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119dc9086815260200190565b60405180910390a3610efb565b6000806119f68484612172565b915091505b9250929050565b60606000611a0f836121ac565b9050805167ffffffffffffffff811115611a2b57611a2b613152565b604051908082528060200260200182016040528015611a54578160200160208202803683370190505b50915060005b8151811015611ab657818181518110611a7557611a756133b3565b6020026020010151838281518110611a8f57611a8f6133b3565b63ffffffff9092166020928302919091019091015280611aae816133e2565b915050611a5a565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152603360205260408120546109ab565b600080611af4866110c3565b9050611aff81612247565b506000611b1c888360405180602001604052806000815250612267565b9050611b2b8987838888612296565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec89604051611b6691815260200190565b60405180910390a350509695505050505050565b60008080611b9260c963ffffffff808716906119e916565b915091508115611ba3579392505050565b611bac84612349565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739190612d72565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168463ffffffff1603611cbb57600080611c1f8484612380565b810190611c2c919061341a565b60fe54919350915063ffffffff9081169082161115611cb85760fd82905560fe80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83169081179091556040805184815260208101929092527f9371d25103415d11a68fa37814ef0238e2060077d0daf74850e796af6a04b178910160405180910390a15b50505b610efb84848484612390565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611d5260c963ffffffff8084169061241a16565b611d5b82612349565b90610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739190612d72565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003611deb57838281611de157611de161343d565b0492505050610aeb565b808411611e54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610a73565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000611eed85858585611ecf8a612426565b60975473ffffffffffffffffffffffffffffffffffffffff16611ae8565b95945050505050565b610cb160c963ffffffff80851690849061244816565b600054610100900460ff16611fa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610cb18282612453565b73ffffffffffffffffffffffffffffffffffffffff821661202a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a73565b806035600082825461203c91906133a0565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600054610100900460ff16612139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b612141612503565b61214a83610b5d565b612153826109b1565b6110ac81611cc7565b6000610b09848461216c87612426565b856125a2565b60008181526002830160205260408120548190806121a1576121948585612676565b9250600091506119fb9050565b6001925090506119fb565b606060006121b983612682565b90508067ffffffffffffffff8111156121d4576121d4613152565b6040519080825280602002602001820160405280156121fd578160200160208202803683370190505b50915060005b81811015611ab657612215848261268d565b60001c83828151811061222a5761222a6133b3565b60209081029190910101528061223f816133e2565b915050612203565b60606122533383612699565b505060408051602081019091526000815290565b606083838360405160200161227e9392919061346c565b60405160208183030381529060405290509392505050565b6000806122a287611b7a565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612306959493929190613499565b60206040518083038185885af1158015612324573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cfc91906134f9565b606061235a8263ffffffff1661285f565b60405160200161236a9190613512565b6040516020818303038152906040529050919050565b3660006119f68360408187613557565b600061239c838361291d565b905060006123aa8484612935565b90503660006123b98686612380565b915091506123cf6123c78590565b848484612945565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161240891815260200190565b60405180910390a35050505050505050565b6000610aeb838361294f565b63ffffffff8116600090815260fc60205260409020546060906109ab9061296c565b610efb83838361298a565b600054610100900460ff166124ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b60366124f683826135c7565b5060376110ac82826135c7565b600054610100900460ff1661259a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610ea46129a7565b6000806125ae86611b7a565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061262b90899085908a908a908a90600401613499565b602060405180830381865afa158015612648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266c91906134f9565b9695505050505050565b6000610aeb8383612a47565b60006109ab82612a5f565b6000610aeb8383612a69565b73ffffffffffffffffffffffffffffffffffffffff821661273c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260336020526040902054818110156127f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610a73565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6060600061286c83612a93565b600101905060008167ffffffffffffffff81111561288c5761288c613152565b6040519080825280601f01601f1916602001820160405280156128b6576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846128c057509392505050565b600061292c6020828486613557565b610aeb916136e1565b600061292c604060208486613557565b610efb8484611fad565b60008181526002830160205260408120819055610aeb8383612b75565b60606109ab6000833360405180602001604052806000815250612b81565b60008281526002840160205260408120829055610b098484612bb6565b600054610100900460ff16612a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a73565b610ea433611cc7565b60008181526001830160205260408120541515610aeb565b60006109ab825490565b6000826000018281548110612a8057612a806133b3565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612adc577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612b08576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612b2657662386f26fc10000830492506010015b6305f5e1008310612b3e576305f5e100830492506008015b6127108310612b5257612710830492506004015b60648310612b64576064830492506002015b600a83106109ab5760010192915050565b6000610aeb8383612bc2565b6060600185858585604051602001612b9d95949392919061371d565b6040516020818303038152906040529050949350505050565b6000610aeb8383612cb5565b60008181526001830160205260408120548015612cab576000612be66001836137a2565b8554909150600090612bfa906001906137a2565b9050818114612c5f576000866000018281548110612c1a57612c1a6133b3565b9060005260206000200154905080876000018481548110612c3d57612c3d6133b3565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612c7057612c706137b5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506109ab565b60009150506109ab565b6000818152600183016020526040812054612cfc575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556109ab565b5060006109ab565b60005b83811015612d1f578181015183820152602001612d07565b50506000910152565b60008151808452612d40816020860160208601612d04565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610aeb6020830184612d28565b803573ffffffffffffffffffffffffffffffffffffffff81168114612da957600080fd5b919050565b60008060408385031215612dc157600080fd5b612dca83612d85565b946020939093013593505050565b600060208284031215612dea57600080fd5b610aeb82612d85565b600080600060608486031215612e0857600080fd5b612e1184612d85565b9250612e1f60208501612d85565b9150604084013590509250925092565b803563ffffffff81168114612da957600080fd5b600060208284031215612e5557600080fd5b610aeb82612e2f565b6020808252825182820181905260009190848201906040850190845b81811015612e9c57835163ffffffff1683529284019291840191600101612e7a565b50909695505050505050565b60008060408385031215612ebb57600080fd5b612dca83612e2f565b60008083601f840112612ed657600080fd5b50813567ffffffffffffffff811115612eee57600080fd5b6020830191508360208285010111156119fb57600080fd5b60008060008060008060a08789031215612f1f57600080fd5b612f2887612e2f565b95506020870135945060408701359350606087013567ffffffffffffffff811115612f5257600080fd5b612f5e89828a01612ec4565b9094509250612f71905060808801612d85565b90509295509295509295565b60008060008060608587031215612f9357600080fd5b612f9c85612e2f565b935060208501359250604085013567ffffffffffffffff811115612fbf57600080fd5b612fcb87828801612ec4565b95989497509550505050565b60008083601f840112612fe957600080fd5b50813567ffffffffffffffff81111561300157600080fd5b6020830191508360208260051b85010111156119fb57600080fd5b6000806020838503121561302f57600080fd5b823567ffffffffffffffff81111561304657600080fd5b61305285828601612fd7565b90969095509350505050565b60006020828403121561307057600080fd5b5035919050565b60008060006060848603121561308c57600080fd5b61309584612e2f565b95602085013595506040909401359392505050565b600080602083850312156130bd57600080fd5b823567ffffffffffffffff808211156130d557600080fd5b818501915085601f8301126130e957600080fd5b8135818111156130f857600080fd5b8660208260061b850101111561310d57600080fd5b60209290920196919550909350505050565b6000806040838503121561313257600080fd5b61313b83612d85565b915061314960208401612d85565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261319257600080fd5b813567ffffffffffffffff808211156131ad576131ad613152565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156131f3576131f3613152565b8160405283815286602085880101111561320c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561324557600080fd5b86359550602087013567ffffffffffffffff8082111561326457600080fd5b6132708a838b01613181565b9650604089013591508082111561328657600080fd5b5061329389828a01613181565b9450506132a260608801612d85565b92506132b060808801612d85565b9150612f7160a08801612d85565b600080600080604085870312156132d457600080fd5b843567ffffffffffffffff808211156132ec57600080fd5b6132f888838901612fd7565b9096509450602087013591508082111561331157600080fd5b50612fcb87828801612fd7565b600181811c9082168061333257607f821691505b60208210810361336b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109ab576109ab613371565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361341357613413613371565b5060010190565b6000806040838503121561342d57600080fd5b8235915061314960208401612e2f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8381528260208201526000825161348a816040850160208701612d04565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006134be60a0830186612d28565b82810360608401526134d08186612d28565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561350b57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161354a81601f850160208701612d04565b91909101601f0192915050565b6000808585111561356757600080fd5b8386111561357457600080fd5b5050820193919092039150565b601f8211156110ac57600081815260208120601f850160051c810160208610156135a85750805b601f850160051c820191505b81811015611367578281556001016135b4565b815167ffffffffffffffff8111156135e1576135e1613152565b6135f5816135ef845461331e565b84613581565b602080601f83116001811461364857600084156136125750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611367565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561369557888601518255948401946001909101908401613676565b50858210156136d157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b803560208310156109ab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251613791816056850160208701612d04565b919091016056019695505050505050565b818103818111156109ab576109ab613371565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122037ad57921b3b5b32b612430e94146aeee9f9a25f708bef0cebd5f7b2e862fc6c64736f6c63430008130033";
905
937
  const isSuperArgs = (xs) => xs.length > 1;
906
938
  export class HypERC4626__factory extends ContractFactory {
907
939
  constructor(...args) {