@aztec/l1-artifacts 1.0.0-nightly.20250805 → 1.0.0-nightly.20250806

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 (152) hide show
  1. package/dest/CoinIssuerAbi.d.ts +40 -0
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +54 -0
  4. package/dest/CoinIssuerBytecode.d.ts +1 -1
  5. package/dest/CoinIssuerBytecode.js +1 -1
  6. package/dest/EmpireBaseAbi.d.ts +40 -0
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +54 -0
  9. package/dest/ErrorsAbi.d.ts +40 -0
  10. package/dest/ErrorsAbi.d.ts.map +1 -1
  11. package/dest/ErrorsAbi.js +54 -0
  12. package/dest/ExtRollupLib2Abi.d.ts +140 -0
  13. package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
  14. package/dest/ExtRollupLib2Abi.js +182 -0
  15. package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
  16. package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
  17. package/dest/ExtRollupLib2Bytecode.js +1 -1
  18. package/dest/ExtRollupLib3Abi.d.ts +40 -0
  19. package/dest/ExtRollupLib3Abi.d.ts.map +1 -1
  20. package/dest/ExtRollupLib3Abi.js +54 -0
  21. package/dest/ExtRollupLib3Bytecode.d.ts +1 -1
  22. package/dest/ExtRollupLib3Bytecode.js +1 -1
  23. package/dest/ExtRollupLibAbi.d.ts +40 -0
  24. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  25. package/dest/ExtRollupLibAbi.js +54 -0
  26. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  27. package/dest/ExtRollupLibBytecode.js +1 -1
  28. package/dest/FeeAssetHandlerAbi.d.ts +40 -0
  29. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
  30. package/dest/FeeAssetHandlerAbi.js +54 -0
  31. package/dest/FeeJuicePortalAbi.d.ts +40 -0
  32. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  33. package/dest/FeeJuicePortalAbi.js +54 -0
  34. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  35. package/dest/FeeJuicePortalBytecode.js +1 -1
  36. package/dest/GSEAbi.d.ts +221 -16
  37. package/dest/GSEAbi.d.ts.map +1 -1
  38. package/dest/GSEAbi.js +291 -20
  39. package/dest/GSEBytecode.d.ts +1 -1
  40. package/dest/GSEBytecode.d.ts.map +1 -1
  41. package/dest/GSEBytecode.js +1 -1
  42. package/dest/GovernanceAbi.d.ts +40 -0
  43. package/dest/GovernanceAbi.d.ts.map +1 -1
  44. package/dest/GovernanceAbi.js +54 -0
  45. package/dest/GovernanceBytecode.d.ts +1 -1
  46. package/dest/GovernanceBytecode.js +1 -1
  47. package/dest/GovernanceProposerAbi.d.ts +40 -0
  48. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  49. package/dest/GovernanceProposerAbi.js +54 -0
  50. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  51. package/dest/GovernanceProposerBytecode.js +1 -1
  52. package/dest/HonkVerifierAbi.d.ts +40 -0
  53. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  54. package/dest/HonkVerifierAbi.js +54 -0
  55. package/dest/IERC20Abi.d.ts +40 -0
  56. package/dest/IERC20Abi.d.ts.map +1 -1
  57. package/dest/IERC20Abi.js +54 -0
  58. package/dest/IVerifierAbi.d.ts +40 -0
  59. package/dest/IVerifierAbi.d.ts.map +1 -1
  60. package/dest/IVerifierAbi.js +54 -0
  61. package/dest/InboxAbi.d.ts +40 -0
  62. package/dest/InboxAbi.d.ts.map +1 -1
  63. package/dest/InboxAbi.js +54 -0
  64. package/dest/InboxBytecode.d.ts +1 -1
  65. package/dest/InboxBytecode.js +1 -1
  66. package/dest/MockVerifierAbi.d.ts +40 -0
  67. package/dest/MockVerifierAbi.d.ts.map +1 -1
  68. package/dest/MockVerifierAbi.js +54 -0
  69. package/dest/MockZKPassportVerifierAbi.d.ts +40 -0
  70. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
  71. package/dest/MockZKPassportVerifierAbi.js +54 -0
  72. package/dest/MultiAdderAbi.d.ts +87 -0
  73. package/dest/MultiAdderAbi.d.ts.map +1 -1
  74. package/dest/MultiAdderAbi.js +115 -0
  75. package/dest/MultiAdderBytecode.d.ts +1 -1
  76. package/dest/MultiAdderBytecode.d.ts.map +1 -1
  77. package/dest/MultiAdderBytecode.js +1 -1
  78. package/dest/NewGovernanceProposerPayloadAbi.d.ts +41 -1
  79. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  80. package/dest/NewGovernanceProposerPayloadAbi.js +55 -1
  81. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  82. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  83. package/dest/OutboxAbi.d.ts +40 -0
  84. package/dest/OutboxAbi.d.ts.map +1 -1
  85. package/dest/OutboxAbi.js +54 -0
  86. package/dest/OutboxBytecode.d.ts +1 -1
  87. package/dest/OutboxBytecode.js +1 -1
  88. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +41 -1
  89. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  90. package/dest/RegisterNewRollupVersionPayloadAbi.js +55 -1
  91. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
  92. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  93. package/dest/RegistryAbi.d.ts +40 -0
  94. package/dest/RegistryAbi.d.ts.map +1 -1
  95. package/dest/RegistryAbi.js +54 -0
  96. package/dest/RegistryBytecode.d.ts +1 -1
  97. package/dest/RegistryBytecode.js +1 -1
  98. package/dest/RewardDistributorAbi.d.ts +40 -0
  99. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  100. package/dest/RewardDistributorAbi.js +54 -0
  101. package/dest/RewardDistributorBytecode.d.ts +1 -1
  102. package/dest/RewardDistributorBytecode.js +1 -1
  103. package/dest/RollupAbi.d.ts +213 -0
  104. package/dest/RollupAbi.d.ts.map +1 -1
  105. package/dest/RollupAbi.js +277 -0
  106. package/dest/RollupBytecode.d.ts +27 -27
  107. package/dest/RollupBytecode.d.ts.map +1 -1
  108. package/dest/RollupBytecode.js +27 -27
  109. package/dest/RollupStorage.d.ts +3 -3
  110. package/dest/RollupStorage.js +3 -3
  111. package/dest/SlashFactoryAbi.d.ts +40 -0
  112. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  113. package/dest/SlashFactoryAbi.js +54 -0
  114. package/dest/SlashFactoryBytecode.d.ts +1 -1
  115. package/dest/SlashFactoryBytecode.js +1 -1
  116. package/dest/SlasherAbi.d.ts +40 -0
  117. package/dest/SlasherAbi.d.ts.map +1 -1
  118. package/dest/SlasherAbi.js +54 -0
  119. package/dest/SlasherBytecode.d.ts +1 -1
  120. package/dest/SlasherBytecode.js +1 -1
  121. package/dest/SlashingProposerAbi.d.ts +40 -0
  122. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  123. package/dest/SlashingProposerAbi.js +54 -0
  124. package/dest/SlashingProposerBytecode.d.ts +1 -1
  125. package/dest/SlashingProposerBytecode.js +1 -1
  126. package/dest/StakingAssetHandlerAbi.d.ts +134 -0
  127. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
  128. package/dest/StakingAssetHandlerAbi.js +176 -0
  129. package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
  130. package/dest/StakingAssetHandlerBytecode.d.ts.map +1 -1
  131. package/dest/StakingAssetHandlerBytecode.js +1 -1
  132. package/dest/TestERC20Abi.d.ts +40 -0
  133. package/dest/TestERC20Abi.d.ts.map +1 -1
  134. package/dest/TestERC20Abi.js +54 -0
  135. package/dest/TokenPortalAbi.d.ts +40 -0
  136. package/dest/TokenPortalAbi.d.ts.map +1 -1
  137. package/dest/TokenPortalAbi.js +54 -0
  138. package/dest/TokenPortalBytecode.d.ts +1 -1
  139. package/dest/TokenPortalBytecode.js +1 -1
  140. package/dest/UniswapPortalAbi.d.ts +40 -0
  141. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  142. package/dest/UniswapPortalAbi.js +54 -0
  143. package/dest/UniswapPortalBytecode.d.ts +1 -1
  144. package/dest/UniswapPortalBytecode.js +1 -1
  145. package/dest/ValidatorSelectionLibAbi.d.ts +40 -0
  146. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  147. package/dest/ValidatorSelectionLibAbi.js +54 -0
  148. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  149. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  150. package/dest/checksum.d.ts +1 -1
  151. package/dest/checksum.js +1 -1
  152. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * GSE bytecode.
3
- */ export const GSEBytecode = "0x60e060405234801561000f575f5ffd5b5060405161329c38038061329c83398101604081905261002e91610136565b83838383836001600160a01b03811661006057604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610069816100d0565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506002602052507f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51b805460ff1916600117905561017b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610133575f5ffd5b50565b5f5f5f5f60808587031215610149575f5ffd5b84516101548161011f565b60208601519094506101658161011f565b6040860151606090960151949790965092505050565b60805160a05160c0516130b86101e45f395f81816102ad015281816108420152818161091001528181610bb40152610c4d01525f81816104af01526113ec01525f8181610424015281816107dd0152818161081c015281816108e7015261099201526130b85ff3fe608060405234801561000f575f5ffd5b5060043610610212575f3560e01c80639796d9771161011f578063d3da927f116100a9578063f2fde38b11610079578063f2fde38b146104f7578063f3fef3a31461050a578063f4603fe114610538578063f752f8b514610575578063f7888aec14610588575f5ffd5b8063d3da927f14610497578063dbc85752146104aa578063eaeded5f146104d1578063ec6e69db146104e4575f5ffd5b8063b35186a8116100ef578063b35186a814610417578063b4ac45361461041f578063bb4d443614610446578063bbdcbed614610459578063bd76784b14610484575f5ffd5b80639796d977146103be5780639f6bc70c146103de578063a9cd26c9146103f1578063ab033ea914610404575f5ffd5b80635338c758116101a05780636a18ff7a116101705780636a18ff7a1461036c5780636a9155161461037f578063710ca35414610392578063715018a6146103a65780638da5cb5b146103ae575f5ffd5b80635338c7581461032057806359264f001461033357806362400e4c14610346578063671431c314610359575f5ffd5b80632e341ce0116101e65780632e341ce01461028257806330eb4bdd146102955780634800d97f146102a857806352097e4e146102cf57806352f44a14146102e2575f5ffd5b806215eaaa146102165780630808ee6e1461024657806318160ddd1461025b578063289b3c0d14610271575b5f5ffd5b610229610224366004612a13565b61059b565b6040516001600160a01b0390911681526020015b60405180910390f35b610259610254366004612a57565b6105d1565b005b610263610a43565b60405190815260200161023d565b6006546001600160a01b0316610229565b610259610290366004612a9f565b610a53565b6102636102a3366004612a13565b610b12565b6102297f000000000000000000000000000000000000000000000000000000000000000081565b6102596102dd366004612adc565b610d8d565b6103106102f0366004612b07565b6001600160a01b03165f9081526002602052604090206004015460ff1690565b604051901515815260200161023d565b61026361032e366004612a13565b610df2565b610259610341366004612b07565b610e4d565b610263610354366004612b07565b610f1c565b610263610367366004612b22565b610f28565b61025961037a366004612adc565b610f50565b61022961038d366004612b4c565b610f5c565b6102295f5160206130435f395f51905f5281565b610259610f82565b5f546001600160a01b0316610229565b6103d16103cc366004612bf5565b610f95565b60405161023d9190612cbe565b5f5160206130435f395f51905f52610229565b6102296103ff366004612d09565b610fa2565b610259610412366004612b07565b611013565b610229611066565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b610263610454366004612b07565b611074565b61046c610467366004612a13565b611080565b60405190516001600160a01b0316815260200161023d565b6103d1610492366004612b22565b6110f0565b6103106104a5366004612a13565b611181565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b6102636104df366004612b22565b6111a2565b6102636104f2366004612b22565b6111af565b610259610505366004612b07565b611247565b61051d610518366004612b22565b611284565b6040805193845291151560208401529082015260600161023d565b61054b610546366004612a13565b611531565b604080516001600160a01b039485168152921515602084015292169181019190915260600161023d565b610259610583366004612b4c565b611584565b610263610596366004612a13565b611663565b6001600160a01b038083165f90815260036020908152604080832084861684529091528120600101549091165b90505b92915050565b335f8181526002602052604090206004015460ff16610614576040516319aaa75960e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f3361061f611066565b6001600160a01b03161490508115806106355750805b3390610660576040516305df8ea560e31b81526001600160a01b03909116600482015260240161060b565b5061066b3385611181565b15338590916106a057604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161060b565b50508015806106c357506106c15f5160206130435f395f51905f5285611181565b155b5f5160206130435f395f51905f5290859061070457604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161060b565b50505f826107125733610721565b5f5160206130435f395f51905f525b6001600160a01b0381165f9081526002602052604090209091506107459086611670565b8186909161077957604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161060b565b505060408051602080820183526001600160a01b0387811683528481165f908152600283528481208a83168252600390810190935293909320915182546001600160a01b03191693169290921790556107d490828781611783565b610801600382877f0000000000000000000000000000000000000000000000000000000000000000611851565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610890573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b49190612d3b565b505f6108c86006546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015610958573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097c9190612d3b565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b1580156109e1575f5ffd5b505af11580156109f3573d5f5f3e3d5ffd5b50506040516001600160a01b038881168252808a169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050565b5f610a4e60036118e0565b905090565b6001600160a01b0383165f9081526002602052604090206004015460ff168390610a9c576040516330d32d8760e21b81526001600160a01b03909116600482015260240161060b565b506001600160a01b038084165f9081526002602090815260408083208685168452600301909152902054168033808214610afc57604051630257d8d760e41b81526001600160a01b0392831660048201529116602482015260440161060b565b50610b0c90506003858585611783565b50505050565b5f5f610b266006546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa158015610b66573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8a9190612dfa565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610c02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c269190612d3b565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610c93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb79190612d3b565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b158015610cfd575f5ffd5b505af1158015610d0f573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af1158015610d60573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d849190612e15565b95945050505050565b5f610d97846118ed565b9050610da281610f5c565b33906001600160a01b03168114610dd8576040516305df8ea560e31b81526001600160a01b03909116600482015260240161060b565b50610b0c5f5160206130435f395f51905f52858585611975565b5f80610e0060038585611a14565b9050836001600160a01b0316610e14611066565b6001600160a01b0316036105c857610e3b60035f5160206130435f395f51905f5285611a14565b610e459082612e40565b949350505050565b610e55611a3b565b806001600160a01b038116610e89576040516327bac29760e21b81526001600160a01b03909116600482015260240161060b565b506001600160a01b0381165f90815260026020526040902060040154819060ff1615610ed35760405162cea8b160e11b81526001600160a01b03909116600482015260240161060b565b506001600160a01b0381165f908152600260205260409020600401805460ff19166001179055610f17610f0542611a67565b6001906001600160a01b038416611a9b565b505050565b5f6105cb600383611ab5565b6001600160a01b0382165f9081526004602090815260408083208484529091528120546105c8565b610f1733848484611975565b5f6105cb610f74610f6c84611a67565b600190611ad8565b6001600160e01b0316611b2d565b610f8a611a3b565b610f935f611b60565b565b6060610e45848385611baf565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f81518110610fd957610fd9612e53565b602002602001018181525050610ff0858285611baf565b5f8151811061100157611001612e53565b60200260200101519150509392505050565b61101b611a3b565b6006546001600160a01b031615611044576040516296bb9f60e21b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b5f610a4e610f746001611d9e565b5f6105cb600383611dd6565b60408051602081019091525f81525f5f61109a8585611dfa565b5091509150806110bb57505060408051602081019091525f815290506105cb565b506001600160a01b038084165f9081526003909201602090815260409283902083519182019093529154168152905092915050565b60605f6110fd84846111af565b90505f8167ffffffffffffffff81111561111957611119612b63565b604051908082528060200260200182016040528015611142578160200160208202803683370190505b5090505f5b82811015611175578082828151811061116257611162612e53565b6020908102919091010152600101611147565b50610d84858286611baf565b6001600160a01b0382165f9081526002602052604081206105c89083611ed4565b5f6105c860038484611ef5565b6001600160a01b0382165f908152600260205260408120816111d084611a67565b90505f6111dd8383611f1a565b9050856001600160a01b03166111f286610f5c565b6001600160a01b031603610d8457739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260026020526112335f5160206130635f395f51905f5283611f1a565b61123d9082612e40565b9695505050505050565b61124f611a3b565b6001600160a01b03811661127857604051631e4fbdf760e01b81525f600482015260240161060b565b61128181611b60565b50565b335f908152600260205260408120600401548190819060ff1633906112c8576040516319aaa75960e11b81526001600160a01b03909116600482015260240161060b565b50335f818152600260205260408120906112e28289611ed4565b9050801580156113015750336112f6611066565b6001600160a01b0316145b801561133b5750739064fb41156d300196d5eb95e0b3c1f08ebc39a85f52600260205261133b5f5160206130635f395f51905f5289611ed4565b1561137e575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060026020525f5160206130435f395f51905f525f5160206130635f395f51905f5260015b87816113a95760405163417f3a0560e01b81526001600160a01b03909116600482015260240161060b565b505f6113b76003858b611a14565b90508088808210156113e557604051635087517f60e11b81526004810192909252602482015260440161060b565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006114158385612e67565b109050801561148b57611428858c611f35565b8b90611453576040516304ca9e7360e31b81526001600160a01b03909116600482015260240161060b565b506001600160a01b038b165f9081526003808701602052604090912080546001600160a01b031916905583925061148b90878d611f96565b6114986003878d85611fa2565b5f6114ab6006546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156114f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151b9190612e15565b92995090975090955050505050505b9250925092565b5f5f5f5f61153f8686611dfa565b909450925090508261155a575f5f5f9350935093505061152a565b6001600160a01b039485165f90815260039190910160205260409020549093169460019450915050565b5f6115976006546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa1580156115dd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116019190612e8a565b6060015161165f5760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b158015611648575f5ffd5b505af115801561165a573d5f5f3e3d5ffd5b505050505b5050565b5f6105c860038484611a14565b6001600160a01b0381165f90815260028301602052604081205460ff161561169957505f6105cb565b5f6116a384611d9e565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b03191617610100919092160217905590915061171342611a67565b905061174b8161172b866001600160a01b0316612029565b6001600160e01b0385165f90815260018901602052604090209190611a9b565b5061177690508161176e611760856001612efd565b6001600160e01b0316612029565b879190611a9b565b5060019695505050505050565b6001600160a01b038381165f908152602086815260408083208685168452909152902060010154811690821681036117bb5750610b0c565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a261184a858284611845898989611a14565b61205c565b5050505050565b8015610b0c576001600160a01b038084165f908152602086815260408083209386168352908390528120805484929061188b908490612e40565b90915550506001600160a01b038084165f908152602083905260408120600101546118ba92889291168561205c565b6118c76001820183612195565b506118d790506002860183612195565b50505050505050565b5f6105cb8260020161220f565b5f6105cb6119036006546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b815260040161193091815260200190565b6101e060405180830381865afa15801561194c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119709190612f4b565b612228565b5f61197f846118ed565b905061198f60038686848761223e565b6006546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af11580156119f0573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165a9190612d3b565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b03163314610f935760405163118cdaa760e01b815233600482015260240161060b565b5f63ffffffff821115611a97576040516306dfcc6560e41b8152602060048201526024810183905260440161060b565b5090565b5f80611aa8858585612309565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206105c89060010161220f565b81545f9081611ae98585838561244d565b90508015611b2357611b0d85611b00600184612e67565b5f91825260209091200190565b54600160201b90046001600160e01b0316610d84565b505f949350505050565b5f6001600160a01b03821115611a97576040516306dfcc6560e41b815260a060048201526024810183905260440161060b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115611bcc57611bcc612b63565b604051908082528060200260200182016040528015611bf5578160200160208202803683370190505b506001600160a01b0386165f818152600260205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293505f5160206130635f395f51905f5291611c3f87610f5c565b6001600160a01b03161490505f611c5587611a67565b90505f611c628583611f1a565b90505f83611c70575f611c7a565b611c7a8584611f1a565b90505f611c878284612e40565b90505f5b8b51811015611d8d575f8c8281518110611ca757611ca7612e53565b6020026020010151905082811081849091611cde57604051635d4bf88360e01b81526004810192909252602482015260440161060b565b505084811015611d2a57611cf38982886124a8565b8a8381518110611d0557611d05612e53565b60200260200101906001600160a01b031690816001600160a01b031681525050611d84565b8615611d4557611cf3611d3d8683612e67565b8990886124a8565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b604482015260640161060b565b50600101611c8b565b50969b9a5050505050505050505050565b80545f908015611dcd57611db783611b00600184612e67565b54600160201b90046001600160e01b0316611dcf565b5f5b9392505050565b6001600160a01b0381165f9081526001808401602052604082206105c8910161220f565b6001600160a01b0382165f9081526002602052604081208190819081611e208287611ed4565b90508681158015611e495750876001600160a01b0316611e3e611066565b6001600160a01b0316145b8015611e835750739064fb41156d300196d5eb95e0b3c1f08ebc39a85f526002602052611e835f5160206130635f395f51905f5288611ed4565b15611ec6575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060026020525f5160206130635f395f51905f5260015f5160206130435f395f51905f525b919450925090509250925092565b6001600160a01b03165f908152600291909101602052604090205460ff1690565b6001600160a01b0382165f908152600180850160205260408220610e459101836124d7565b5f611f258383611ad8565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611f87575f9150506105cb565b610e4584826020015185612511565b610f178383835f611783565b8015610b0c576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611fdc908490612e67565b90915550506001600160a01b038084165f9081526020839052604081206001015461200c9288929116908561205c565b6120196001820183612735565b506118d790506002860183612735565b5f6001600160e01b03821115611a97576040516306dfcc6560e41b815260e060048201526024810183905260440161060b565b816001600160a01b0316836001600160a01b0316148061207a575080155b610b0c576001600160a01b03831615612107576001600160a01b0383165f90815260018086016020526040822082916120b4910184612735565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120fc929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610b0c576001600160a01b0382165f908152600180860160205260408220829161213d910184612195565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612185929190918252602082015260400190565b60405180910390a2505050505050565b5f5f5f6121a185611d9e565b9050835f036121bd576001600160e01b03169150819050612208565b5f6121c785612029565b90506121e76121d542611a67565b6121df8385612efd565b889190611a9b565b508290506121f58282612efd565b6001600160e01b03918216955016925050505b9250929050565b5f61221982611d9e565b6001600160e01b031692915050565b5f6105cb8260800151835f0151602001516127e2565b5f61224a868685611ef5565b6001600160a01b0386165f908152600188016020908152604080832088845290915290205490915061227c8382612e40565b821015868361228b8685612e40565b9091926122c45760405163dd99c2ab60e01b81526001600160a01b0390931660048401526024830191909152604482015260640161060b565b5050506001600160a01b0386165f9081526001880160209081526040808320888452909152812080548592906122fb908490612e40565b909155505050505050505050565b82545f90819080156123f5575f61232587611b00600185612e67565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561236657604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361239957825463ffffffff16600160201b6001600160e01b038916021783556123e7565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611aad92505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611aad565b5f5b818310156124a0575f61246284846127ed565b5f8781526020902090915063ffffffff86169082015463ffffffff16111561248c5780925061249a565b612497816001612e40565b93505b5061244f565b509392505050565b5f828152600184016020526040812081906124c39084612807565b9050610d84816001600160e01b0316611b2d565b5f6124e182421190565b6124fe576040516334dcb7d760e21b815260040160405180910390fd5b611f2561250a83611a67565b8490612807565b5f8061251c85611d9e565b9050806001600160e01b0316846001600160e01b03161061256357604051636bc4db8d60e11b81526001600160e01b0380861660048301528216602482015260440161060b565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b03909416939093029290921790556125d2600183612ff0565b90505f6125fc610f74886001015f856001600160e01b031681526020019081526020015f20611d9e565b90505f61260842611a67565b9050866001600160e01b0316836001600160e01b03160361264e576001600160e01b0387165f9081526001890160205260408120612647918390611a9b565b5050612707565b6040518060400160405280600115158152602001612674896001600160e01b0316612029565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b0319909416939093179290921790556127049082906126e490612029565b6001600160e01b038a165f90815260018c01602052604090209190611a9b565b50505b6127258161271d856001600160e01b0316612029565b8a9190611a9b565b5060019998505050505050505050565b5f5f5f61274185611d9e565b9050835f0361275d576001600160e01b03169150819050612208565b5f61276785612029565b90503382826001600160e01b0380821690831610156127bb5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b03918216602484015216604482015260640161060b565b5050506127d46127ca42611a67565b6121df8385612ff0565b508290506121f58282612ff0565b5f6105c88284612e40565b5f6127fb6002848418613023565b6105c890848416612e40565b81545f9081816005811115612861575f612820846128a8565b61282a9085612e67565b5f8881526020902090915081015463ffffffff90811690871610156128515780915061285f565b61285c816001612e40565b92505b505b5f61286e8787858561244d565b9050801561289b5761288587611b00600184612e67565b54600160201b90046001600160e01b031661289d565b5f5b979650505050505050565b5f600182116128b5575090565b816001600160801b82106128ce5760809190911c9060401b5b6801000000000000000082106128e95760409190911c9060201b5b600160201b82106128ff5760209190911c9060101b5b6201000082106129145760109190911c9060081b5b61010082106129285760089190911c9060041b5b6010821061293b5760049190911c9060021b5b600482106129475760011b5b600302600190811c9081858161295f5761295f61300f565b048201901c905060018185816129775761297761300f565b048201901c9050600181858161298f5761298f61300f565b048201901c905060018185816129a7576129a761300f565b048201901c905060018185816129bf576129bf61300f565b048201901c905060018185816129d7576129d761300f565b048201901c90506129f68185816129f0576129f061300f565b04821190565b90039392505050565b6001600160a01b0381168114611281575f5ffd5b5f5f60408385031215612a24575f5ffd5b8235612a2f816129ff565b91506020830135612a3f816129ff565b809150509250929050565b8015158114611281575f5ffd5b5f5f5f60608486031215612a69575f5ffd5b8335612a74816129ff565b92506020840135612a84816129ff565b91506040840135612a9481612a4a565b809150509250925092565b5f5f5f60608486031215612ab1575f5ffd5b8335612abc816129ff565b92506020840135612acc816129ff565b91506040840135612a94816129ff565b5f5f5f60608486031215612aee575f5ffd5b83359250602084013591506040840135612a9481612a4a565b5f60208284031215612b17575f5ffd5b81356105c8816129ff565b5f5f60408385031215612b33575f5ffd5b8235612b3e816129ff565b946020939093013593505050565b5f60208284031215612b5c575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff81118282101715612b9b57612b9b612b63565b60405290565b6040805190810167ffffffffffffffff81118282101715612b9b57612b9b612b63565b604051601f8201601f1916810167ffffffffffffffff81118282101715612bed57612bed612b63565b604052919050565b5f5f5f60608486031215612c07575f5ffd5b8335612c12816129ff565b925060208401359150604084013567ffffffffffffffff811115612c34575f5ffd5b8401601f81018613612c44575f5ffd5b803567ffffffffffffffff811115612c5e57612c5e612b63565b8060051b612c6e60208201612bc4565b91825260208184018101929081019089841115612c89575f5ffd5b6020850194505b83851015612caf57843580835260209586019590935090910190612c90565b80955050505050509250925092565b602080825282518282018190525f918401906040840190835b81811015612cfe5783516001600160a01b0316835260209384019390920191600101612cd7565b509095945050505050565b5f5f5f60608486031215612d1b575f5ffd5b8335612d26816129ff565b95602085013595506040909401359392505050565b5f60208284031215612d4b575f5ffd5b81516105c881612a4a565b5f818303610120811215612d68575f5ffd5b612d70612b77565b91506040811215612d7f575f5ffd5b50612d88612ba1565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215612e0b575f5ffd5b6105c88383612d56565b5f60208284031215612e25575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105cb576105cb612e2c565b634e487b7160e01b5f52603260045260245ffd5b818103818111156105cb576105cb612e2c565b8051612e85816129ff565b919050565b5f6080828403128015612e9b575f5ffd5b506040516080810167ffffffffffffffff81118282101715612ebf57612ebf612b63565b60409081528351825260208085015190830152830151612ede816129ff565b60408201526060830151612ef181612a4a565b60608201529392505050565b6001600160e01b0381811683821601908111156105cb576105cb612e2c565b5f60408284031215612f2c575f5ffd5b612f34612ba1565b825181526020928301519281019290925250919050565b5f6101e0828403128015612f5d575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715612f8157612f81612b63565b604052612f8e8484612d56565b815261012083015160098110612fa2575f5ffd5b6020820152612fb46101408401612e7a565b6040820152612fc66101608401612e7a565b60608201526101808301516080820152612fe4846101a08501612f1c565b60a08201529392505050565b6001600160e01b0382811682821603908111156105cb576105cb612e2c565b634e487b7160e01b5f52601260045260245ffd5b5f8261303d57634e487b7160e01b5f52601260045260245ffd5b50049056fe213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a845cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c517a264697066735822122097506115d56b5cadf98b5f22fe92cf1ac64ebe91a6fdbbbdfb0a324a1780e49a64736f6c634300081b0033";
3
+ */ export const GSEBytecode = "0x60e06040525f60019081556002805460ff19169091179055348015610022575f5ffd5b50604051613f39380380613f3983398101604081905261004191610149565b83838383836001600160a01b03811661007357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61007c816100e3565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506004602052507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b5805460ff1916600117905561018e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610146575f5ffd5b50565b5f5f5f5f6080858703121561015c575f5ffd5b845161016781610132565b602086015190945061017881610132565b6040860151606090960151949790965092505050565b60805160a05160c051613d426101f75f395f81816103510152818161085a015281816108f301528181611098015261116601525f8181610548015261171801525f81816104e801528181611033015281816110720152818161113d01526111e80152613d425ff3fe608060405234801561000f575f5ffd5b5060043610610233575f3560e01c8063715018a611610135578063bd76784b116100b4578063ec6e69db11610079578063ec6e69db14610625578063f2fde38b14610638578063f3fef3a31461064b578063f752f8b514610679578063f7888aec1461068c575f5ffd5b8063bd76784b1461051d578063d3da927f14610530578063dbc8575214610543578063e48a5f7b1461056a578063eaeded5f14610612575f5ffd5b8063ab033ea9116100fa578063ab033ea9146104bb578063b2865a0d146104ce578063b35186a8146104db578063b4ac4536146104e3578063bb4d44361461050a575f5ffd5b8063715018a61461045d5780638da5cb5b146104655780639796d977146104755780639f6bc70c14610495578063a9cd26c9146104a8575f5ffd5b806352097e4e116101c1578063671431c311610186578063671431c3146103fd5780636902c67b146104105780636a18ff7a146104235780636a91551614610436578063710ca35414610449575f5ffd5b806352097e4e1461037357806352f44a14146103865780635338c758146103c457806359264f00146103d757806362400e4c146103ea575f5ffd5b8063289b3c0d11610207578063289b3c0d146102f35780632e341ce01461030457806330eb4bdd146103195780633fd20fe11461032c5780634800d97f1461034c575f5ffd5b806215eaaa146102375780630f9f54101461026757806311d66fee146102bd57806318160ddd146102dd575b5f5ffd5b61024a610245366004613491565b61069f565b6040516001600160a01b0390911681526020015b60405180910390f35b61024a6102753660046134c8565b6001600160a01b039081165f90815260056020908152604091829020825160808101845281549381019384526001820154606082015292835260020154909216910181905290565b6102d06102cb3660046135c7565b6106d5565b60405161025e91906135e1565b6102e56106f1565b60405190815260200161025e565b600a546001600160a01b031661024a565b6103176103123660046135f8565b610701565b005b6102e5610327366004613491565b6107b8565b61033f61033a366004613663565b610a33565b60405161025e91906136f8565b61024a7f000000000000000000000000000000000000000000000000000000000000000081565b61031761038136600461376c565b610b2a565b6103b46103943660046134c8565b6001600160a01b03165f9081526004602052604090206003015460ff1690565b604051901515815260200161025e565b6102e56103d2366004613491565b610b8f565b6103176103e53660046134c8565b610bea565b6102e56103f83660046134c8565b610cb9565b6102e561040b366004613797565b610cc5565b61031761041e3660046137c1565b610ced565b61031761043136600461376c565b61129c565b61024a61044436600461386e565b6112a8565b61024a5f516020613ced5f395f51905f5281565b6103176112ce565b5f546001600160a01b031661024a565b610488610483366004613885565b6112e1565b60405161025e9190613933565b5f516020613ced5f395f51905f5261024a565b61024a6104b6366004613973565b6112ee565b6103176104c93660046134c8565b61135f565b6002546103b49060ff1681565b61024a6113b2565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6102e56105183660046134c8565b6113c0565b61048861052b366004613797565b6113cc565b6103b461053e366004613491565b61145d565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6105e56105783660046134c8565b604080516080810182525f9181018281526060820183905281526020810191909152506001600160a01b039081165f908152600560209081526040918290208251608081018452815493810193845260018201546060820152928352600201549092169181019190915290565b6040805182518051825260209081015181830152909201516001600160a01b03169082015260600161025e565b6102e5610620366004613797565b611490565b6102e5610633366004613797565b61149d565b6103176106463660046134c8565b611548565b61065e610659366004613797565b611585565b6040805193845291151560208401529082015260600161025e565b61031761068736600461386e565b611832565b6102e561069a366004613491565b611911565b6001600160a01b038083165f90815260076020908152604080832084861684529091528120600101549091165b90505b92915050565b604080518082019091525f80825260208201526106cf8261191e565b5f6106fc6007611990565b905090565b6001600160a01b0383165f9081526004602052604090206003015460ff16839061074f576040516330d32d8760e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b038083165f908152600560205260409020600201541680338082146107a257604051630257d8d760e41b81526001600160a01b03928316600482015291166024820152604401610746565b506107b29050600785858561199d565b50505050565b5f5f6107cc600a546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa15801561080c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190613a49565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156108a8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cc9190613a64565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610939573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095d9190613a64565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b1580156109a3575f5ffd5b505af11580156109b5573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af1158015610a06573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2a9190613a7f565b95945050505050565b60605f825167ffffffffffffffff811115610a5057610a506134e3565b604051908082528060200260200182016040528015610a9457816020015b604080518082019091525f8082526020820152815260200190600190039081610a6e5790505b5090505f5b8351811015610b235760055f858381518110610ab757610ab7613a96565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f016040518060400160405290815f8201548152602001600182015481525050828281518110610b1057610b10613a96565b6020908102919091010152600101610a99565b5092915050565b5f610b3484611a6b565b9050610b3f816112a8565b33906001600160a01b03168114610b75576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b506107b25f516020613ced5f395f51905f52858585611af3565b5f80610b9d60078585611b92565b9050836001600160a01b0316610bb16113b2565b6001600160a01b0316036106cc57610bd860075f516020613ced5f395f51905f5285611b92565b610be29082613abe565b949350505050565b610bf2611bb9565b806001600160a01b038116610c26576040516327bac29760e21b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f90815260046020526040902060030154819060ff1615610c705760405162cea8b160e11b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f908152600460205260409020600301805460ff19166001179055610cb4610ca242611be5565b6003906001600160a01b038416611c19565b505050565b5f6106cf600783611c33565b6001600160a01b0382165f9081526008602090815260408083208484529091528120546106cc565b335f8181526004602052604090206003015460ff16610d2b576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b505f33610d366113b2565b6001600160a01b0316149050811580610d4c5750805b3390610d77576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b50610d82338861145d565b1533889091610db757604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b5050801580610dda5750610dd85f516020613ced5f395f51905f528861145d565b155b5f516020613ced5f395f51905f52908890610e1b57604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b50505f82610e295733610e38565b5f516020613ced5f395f51905f525b6001600160a01b0381165f908152600460205260409020909150610e5c9089611c56565b81899091610e9057604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b505060025460ff1615610fc6576001600160a01b0388165f908152600560209081526040918290208251808401909352805480845260019091015491830191909152158015610ee157506020810151155b815160208301519091610f10576040516312d6323b60e11b815260048101929092526024820152604401610746565b50505f875f01518860200151604051602001610f36929190918252602082015260400190565b60408051601f1981840301815291815281516020928301205f8181526006909352912054909150819060ff1615610f8357604051636ab4baeb60e11b815260040161074691815260200190565b50610f8f888888611d69565b610fac5760405163df4ff27b60e01b815260040160405180910390fd5b5f908152600660205260409020805460ff19166001179055505b6040805180820182528781526001600160a01b0389811660208084019182528c83165f90815260058252949094209251805184559093015160018301559151600290910180546001600160a01b0319169190921617905561102a6007828a8161199d565b6110576007828a7f0000000000000000000000000000000000000000000000000000000000000000611edf565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156110e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110a9190613a64565b505f61111e600a546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af11580156111ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d29190613a64565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b158015611237575f5ffd5b505af1158015611249573d5f5f3e3d5ffd5b50506040516001600160a01b038b81168252808d169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050505050565b610cb433848484611af3565b5f6106cf6112c06112b884611be5565b600390611f6e565b6001600160e01b0316611fc3565b6112d6611bb9565b6112df5f611ff6565b565b6060610be2848385612045565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f8151811061132557611325613a96565b60200260200101818152505061133c858285612045565b5f8151811061134d5761134d613a96565b60200260200101519150509392505050565b611367611bb9565b600a546001600160a01b031615611390576040516296bb9f60e21b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106fc6112c06003612247565b5f6106cf60078361227e565b60605f6113d9848461149d565b90505f8167ffffffffffffffff8111156113f5576113f56134e3565b60405190808252806020026020018201604052801561141e578160200160208202803683370190505b5090505f5b82811015611451578082828151811061143e5761143e613a96565b6020908102919091010152600101611423565b50610a2a858286612045565b6001600160a01b038281165f9081526004602090815260408083209385168352600290930190529081205460ff166106cc565b5f6106cc600784846122a2565b6001600160a01b0382165f908152600460205260408120816114be84611be5565b90505f6114cb83836122c7565b9050856001600160a01b03166114e0866112a8565b6001600160a01b031603610a2a57739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260046020526115347ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2836122c7565b61153e9082613abe565b9695505050505050565b611550611bb9565b6001600160a01b03811661157957604051631e4fbdf760e01b81525f6004820152602401610746565b61158281611ff6565b50565b335f908152600460205260408120600301548190819060ff1633906115c9576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b50335f8181526004602090815260408083206001600160a01b038a168452600281019092529091205460ff16801580156116125750336116076113b2565b6001600160a01b0316145b801561165457506001600160a01b0388165f9081527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b4602052604090205460ff165b156116aa575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060046020525f516020613ced5f395f51905f527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b260015b87816116d55760405163417f3a0560e01b81526001600160a01b039091166004820152602401610746565b505f6116e36007858b611b92565b905080888082101561171157604051635087517f60e11b815260048101929092526024820152604401610746565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006117418385613ad1565b109050801561178f57611754858c6122e2565b8b9061177f576040516304ca9e7360e31b81526001600160a01b039091166004820152602401610746565b5082915061178f6007878d612343565b61179c6007878d8561234f565b5f6117af600a546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156117fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061181f9190613a7f565b929c919b50919950975050505050505050565b5f611845600a546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa15801561188b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118af9190613aef565b6060015161190d5760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b1580156118f6575f5ffd5b505af1158015611908573d5f5f3e3d5ffd5b505050505b5050565b5f6106cc60078484611b92565b604080518082019091525f80825260208201525f825f01518360200151604051602001611955929190918252602082015260400190565b604051602081830303815290604052905061198975415a5445435f424c535f504f505f424e3235345f563160501b826123d6565b9392505050565b5f6106cf826002016124df565b6001600160a01b038381165f908152602086815260408083208685168452909152902060010154811690821681036119d557506107b2565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a2611a64858284611a5f898989611b92565b6124f8565b5050505050565b5f6106cf611a81600a546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b8152600401611aae91815260200190565b6101e060405180830381865afa158015611aca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aee9190613b73565b612631565b5f611afd84611a6b565b9050611b0d600786868487612647565b600a546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af1158015611b6e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613a64565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b031633146112df5760405163118cdaa760e01b8152336004820152602401610746565b5f63ffffffff821115611c15576040516306dfcc6560e41b81526020600482015260248101839052604401610746565b5090565b5f80611c26858585612712565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206106cc906001016124df565b6001600160a01b0381165f90815260028301602052604081205460ff1615611c7f57505f6106cf565b5f611c8984612247565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611cf942611be5565b9050611d3181611d11866001600160a01b0316612856565b6001600160e01b0385165f90815260018901602052604090209190611c19565b50611d5c905081611d54611d46856001613c18565b6001600160e01b0316612856565b879190611c19565b5060019695505050505050565b5f611d7384612889565b845160208601519091611da257604051634a7e912d60e01b815260048101929092526024820152604401610746565b5050611dad836128e3565b835f015184602001518560400151866060015190919293611df75760405163cd79c2ab60e01b81526004810194909452602484019290925260448301526064820152608401610746565b50505050611e0482612889565b825160208401519091611e3357604051634a7e912d60e01b815260048101929092526024820152604401610746565b50505f611e3f8561191e565b90505f611e4d868686612a39565b9050805f03611e6f57604051631262b41360e01b815260040160405180910390fd5b5f611e8385611e7e8985612ad9565b612b40565b90505f611ebe84611e7e611eb86040805180820182525f80825260209182015281518083019092526001825260029082015290565b86612ad9565b9050611ed382611ecc612bab565b838a612c78565b98975050505050505050565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611f19908490613abe565b90915550506001600160a01b038084165f90815260208390526040812060010154611f489288929116856124f8565b611f556001820183612d35565b50611f6590506002860183612d35565b50505050505050565b81545f9081611f7f85858385612daf565b90508015611fb957611fa385611f96600184613ad1565b5f91825260209091200190565b54600160201b90046001600160e01b0316610a2a565b505f949350505050565b5f6001600160a01b03821115611c15576040516306dfcc6560e41b815260a0600482015260248101839052604401610746565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115612062576120626134e3565b60405190808252806020026020018201604052801561208b578160200160208202803683370190505b506001600160a01b0386165f818152600460205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2916120e8876112a8565b6001600160a01b03161490505f6120fe87611be5565b90505f61210b85836122c7565b90505f83612119575f612123565b61212385846122c7565b90505f6121308284613abe565b90505f5b8b51811015612236575f8c828151811061215057612150613a96565b602002602001015190508281108184909161218757604051635d4bf88360e01b815260048101929092526024820152604401610746565b5050848110156121d35761219c898288612e0a565b8a83815181106121ae576121ae613a96565b60200260200101906001600160a01b031690816001600160a01b03168152505061222d565b86156121ee5761219c6121e68683613ad1565b899088612e0a565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b6044820152606401610746565b50600101612134565b50969b9a5050505050505050505050565b80545f9080156122765761226083611f96600184613ad1565b54600160201b90046001600160e01b0316611989565b5f9392505050565b6001600160a01b0381165f9081526001808401602052604082206106cc91016124df565b6001600160a01b0382165f908152600180850160205260408220610be2910183612e39565b5f6122d28383611f6e565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290612334575f9150506106cf565b610be284826020015185612e73565b610cb48383835f61199d565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290612389908490613ad1565b90915550506001600160a01b038084165f908152602083905260408120600101546123b9928892911690856124f8565b6123c66001820183613097565b50611f6590506002860183613097565b604080518082019091525f80825260208201525f83836040516020016123fd929190613c37565b60408051601f19818403018152919052805160209091012090505f61242f5f516020613ccd5f395f51905f5283613c87565b90505f805b5f516020613ccd5f395f51905f5283840991505f516020613ccd5f395f51905f5283830991505f516020613ccd5f395f51905f5260038308915061247782613144565b9092509050801561249e5760405180604001604052808481526020018381525094506124b7565b5f516020613ccd5f395f51905f52600184089250612434565b806124d557604051633d7f3d1d60e21b815260040160405180910390fd5b5050505092915050565b5f6124e982612247565b6001600160e01b031692915050565b816001600160a01b0316836001600160a01b03161480612516575080155b6107b2576001600160a01b038316156125a3576001600160a01b0383165f9081526001808601602052604082208291612550910184613097565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612598929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156107b2576001600160a01b0382165f90815260018086016020526040822082916125d9910184612d35565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612621929190918252602082015260400190565b60405180910390a2505050505050565b5f6106cf8260800151835f0151602001516131e7565b5f6126538686856122a2565b6001600160a01b0386165f90815260018801602090815260408083208884529091529020549091506126858382613abe565b82101586836126948685613abe565b9091926126cd5760405163dd99c2ab60e01b81526001600160a01b03909316600484015260248301919091526044820152606401610746565b5050506001600160a01b0386165f908152600188016020908152604080832088845290915281208054859290612704908490613abe565b909155505050505050505050565b82545f90819080156127fe575f61272e87611f96600185613ad1565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561276f57604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036127a257825463ffffffff16600160201b6001600160e01b038916021783556127f0565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611c2b92505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611c2b565b5f6001600160e01b03821115611c15576040516306dfcc6560e41b815260e0600482015260248101839052604401610746565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5283820990505f516020613ccd5f395f51905f526003820890505f516020613ccd5f395f51905f5282830914949350505050565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5282830981828301015f516020613ccd5f395f51905f5282838401085f516020613ccd5f395f51905f5286825f516020613ccd5f395f51905f52038601099550505f516020613ccd5f395f51905f5284835f516020613ccd5f395f51905f520383010993505050505f516020613ccd5f395f51905f527f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5830891505f516020613ccd5f395f51905f527e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d282089050604084015160608501515f516020613ccd5f395f51905f5280825f516020613ccd5f395f51905f520384085f516020613ccd5f395f51905f52838508095f516020613ccd5f395f51905f52828460011b0994149290931491909116949350505050565b82516020808501518451858301516040808801516060808a015189518a8901518551808b019b909b528a86019890985291890195909552608088019390935260a087015260c086019290925260e0850152610100808501929092528051808503909201825261012090930190925281519101205f90610be2907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190613c87565b604080518082019091525f8082526020820152612af4613404565b835181526020808501519082015260408082018490525f908360608460076107d05a03fa905080612b3857604051635d90883360e11b815260040160405180910390fd5b505092915050565b604080518082019091525f8082526020820152612b5b613422565b835181526020808501518183015283516040808401919091529084015160608301525f908360808460066107d05a03fa905080612b3857604051635d3761b560e11b815260040160405180910390fd5b612bd260405180608001604052805f81526020015f81526020015f81526020015f81525090565b60405180608001604052807f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec815250905090565b5f612c81613440565b85518152602080870151818301528581015160408084019190915286516060808501919091528088015160808501528188015160a0850152865160c08501528683015160e085015291850151610100840152845161012084015290840151610140830152830151610160820152612cf661345f565b5f6020826101808560086107d05a03fa905080612d265760405163a158f26960e01b815260040160405180910390fd5b50516001149695505050505050565b5f5f5f612d4185612247565b9050835f03612d5d576001600160e01b03169150819050612da8565b5f612d6785612856565b9050612d87612d7542611be5565b612d7f8385613c18565b889190611c19565b50829050612d958282613c18565b6001600160e01b03918216955016925050505b9250929050565b5f5b81831015612e02575f612dc484846131f2565b5f8781526020902090915063ffffffff86169082015463ffffffff161115612dee57809250612dfc565b612df9816001613abe565b93505b50612db1565b509392505050565b5f82815260018401602052604081208190612e25908461320c565b9050610a2a816001600160e01b0316611fc3565b5f612e4382421190565b612e60576040516334dcb7d760e21b815260040160405180910390fd5b6122d2612e6c83611be5565b849061320c565b5f80612e7e85612247565b9050806001600160e01b0316846001600160e01b031610612ec557604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610746565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055612f34600183613c9a565b90505f612f5e6112c0886001015f856001600160e01b031681526020019081526020015f20612247565b90505f612f6a42611be5565b9050866001600160e01b0316836001600160e01b031603612fb0576001600160e01b0387165f9081526001890160205260408120612fa9918390611c19565b5050613069565b6040518060400160405280600115158152602001612fd6896001600160e01b0316612856565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b03199094169390931792909217905561306690829061304690612856565b6001600160e01b038a165f90815260018c01602052604090209190611c19565b50505b6130878161307f856001600160e01b0316612856565b8a9190611c19565b5060019998505050505050505050565b5f5f5f6130a385612247565b9050835f036130bf576001600160e01b03169150819050612da8565b5f6130c985612856565b90503382826001600160e01b03808216908316101561311d5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b039182166024840152166044820152606401610746565b50505061313661312c42611be5565b612d7f8385613c9a565b50829050612d958282613c9a565b5f5f5f60405160208152602080820152602060408201528460608201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808201525f516020613ccd5f395f51905f5260a082015260208160c08360056107d05a03fa9051935090505f516020613ccd5f395f51905f5283800984149150806131e157604051634ccc085960e11b815260040160405180910390fd5b50915091565b5f6106cc8284613abe565b5f6132006002848418613cb9565b6106cc90848416613abe565b81545f9081816005811115613266575f613225846132ad565b61322f9085613ad1565b5f8881526020902090915081015463ffffffff908116908716101561325657809150613264565b613261816001613abe565b92505b505b5f61327387878585612daf565b905080156132a05761328a87611f96600184613ad1565b54600160201b90046001600160e01b03166132a2565b5f5b979650505050505050565b5f600182116132ba575090565b816001600160801b82106132d35760809190911c9060401b5b6801000000000000000082106132ee5760409190911c9060201b5b600160201b82106133045760209190911c9060101b5b6201000082106133195760109190911c9060081b5b610100821061332d5760089190911c9060041b5b601082106133405760049190911c9060021b5b6004821061334c5760011b5b600302600190811c9081858161336457613364613c73565b048201901c9050600181858161337c5761337c613c73565b048201901c9050600181858161339457613394613c73565b048201901c905060018185816133ac576133ac613c73565b048201901c905060018185816133c4576133c4613c73565b048201901c905060018185816133dc576133dc613c73565b048201901c90506133fb8185816133f5576133f5613c73565b04821190565b90039392505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6001600160a01b0381168114611582575f5ffd5b5f5f604083850312156134a2575f5ffd5b82356134ad8161347d565b915060208301356134bd8161347d565b809150509250929050565b5f602082840312156134d8575f5ffd5b81356106cc8161347d565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff8111828210171561351a5761351a6134e3565b60405290565b6040516080810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051610100810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051601f8201601f1916810167ffffffffffffffff81118282101715613590576135906134e3565b604052919050565b5f604082840312156135a8575f5ffd5b6135b06134f7565b823581526020928301359281019290925250919050565b5f604082840312156135d7575f5ffd5b6106cc8383613598565b8151815260208083015190820152604081016106cf565b5f5f5f6060848603121561360a575f5ffd5b83356136158161347d565b925060208401356136258161347d565b915060408401356136358161347d565b809150509250925092565b5f67ffffffffffffffff821115613659576136596134e3565b5060051b60200190565b5f60208284031215613673575f5ffd5b813567ffffffffffffffff811115613689575f5ffd5b8201601f81018413613699575f5ffd5b80356136ac6136a782613640565b613567565b8082825260208201915060208360051b8501019250868311156136cd575f5ffd5b6020840193505b8284101561153e5783356136e78161347d565b8252602093840193909101906136d4565b602080825282518282018190525f918401906040840190835b818110156137445761372e83855180518252602090810151910152565b6020939093019260409290920191600101613711565b509095945050505050565b8015158114611582575f5ffd5b80356137678161374f565b919050565b5f5f5f6060848603121561377e575f5ffd5b833592506020840135915060408401356136358161374f565b5f5f604083850312156137a8575f5ffd5b82356137b38161347d565b946020939093013593505050565b5f5f5f5f5f5f8688036101608112156137d8575f5ffd5b87356137e38161347d565b965060208801356137f38161347d565b95506138028960408a01613598565b94506080607f1982011215613815575f5ffd5b5061381e613520565b6080880135815260a0880135602082015260c0880135604082015260e088013560608201529250613853886101008901613598565b9150613862610140880161375c565b90509295509295509295565b5f6020828403121561387e575f5ffd5b5035919050565b5f5f5f60608486031215613897575f5ffd5b83356138a28161347d565b925060208401359150604084013567ffffffffffffffff8111156138c4575f5ffd5b8401601f810186136138d4575f5ffd5b80356138e26136a782613640565b8082825260208201915060208360051b850101925088831115613903575f5ffd5b6020840193505b8284101561392557833582526020938401939091019061390a565b809450505050509250925092565b602080825282518282018190525f918401906040840190835b818110156137445783516001600160a01b031683526020938401939092019160010161394c565b5f5f5f60608486031215613985575f5ffd5b83356139908161347d565b95602085013595506040909401359392505050565b5f8183036101208112156139b7575f5ffd5b6139bf613543565b915060408112156139ce575f5ffd5b506139d76134f7565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215613a5a575f5ffd5b6106cc83836139a5565b5f60208284031215613a74575f5ffd5b81516106cc8161374f565b5f60208284031215613a8f575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106cf576106cf613aaa565b818103818111156106cf576106cf613aaa565b80516137678161347d565b5f6080828403128015613b00575f5ffd5b50613b09613520565b82518152602080840151908201526040830151613b258161347d565b60408201526060830151613b388161374f565b60608201529392505050565b5f60408284031215613b54575f5ffd5b613b5c6134f7565b825181526020928301519281019290925250919050565b5f6101e0828403128015613b85575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715613ba957613ba96134e3565b604052613bb684846139a5565b815261012083015160098110613bca575f5ffd5b6020820152613bdc6101408401613ae4565b6040820152613bee6101608401613ae4565b60608201526101808301516080820152613c0c846101a08501613b44565b60a08201529392505050565b6001600160e01b0381811683821601908111156106cf576106cf613aaa565b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82613c9557613c95613c73565b500690565b6001600160e01b0382811682821603908111156106cf576106cf613aaa565b5f82613cc757613cc7613c73565b50049056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a8a2646970667358221220aeea91f09ef4bbaeef54f7d83e3ebbe2225e370f296fb6f89ea9760b0340bc2964736f6c634300081b0033";
4
4
  /**
5
5
  * GSE link references.
6
6
  */ export const GSELinkReferences = {};
@@ -198,6 +198,18 @@ export declare const GovernanceAbi: readonly [{
198
198
  readonly type: "address";
199
199
  readonly internalType: "address";
200
200
  }];
201
+ }, {
202
+ readonly type: "error";
203
+ readonly name: "GSE__CannotChangePublicKeys";
204
+ readonly inputs: readonly [{
205
+ readonly name: "existingPk1x";
206
+ readonly type: "uint256";
207
+ readonly internalType: "uint256";
208
+ }, {
209
+ readonly name: "existingPk1y";
210
+ readonly type: "uint256";
211
+ readonly internalType: "uint256";
212
+ }];
201
213
  }, {
202
214
  readonly type: "error";
203
215
  readonly name: "GSE__FailedToRemove";
@@ -238,6 +250,10 @@ export declare const GovernanceAbi: readonly [{
238
250
  readonly type: "uint256";
239
251
  readonly internalType: "uint256";
240
252
  }];
253
+ }, {
254
+ readonly type: "error";
255
+ readonly name: "GSE__InvalidProofOfPossession";
256
+ readonly inputs: readonly [];
241
257
  }, {
242
258
  readonly type: "error";
243
259
  readonly name: "GSE__InvalidRollupAddress";
@@ -294,6 +310,14 @@ export declare const GovernanceAbi: readonly [{
294
310
  readonly type: "uint256";
295
311
  readonly internalType: "uint256";
296
312
  }];
313
+ }, {
314
+ readonly type: "error";
315
+ readonly name: "GSE__ProofOfPossessionAlreadySeen";
316
+ readonly inputs: readonly [{
317
+ readonly name: "hashedPK1";
318
+ readonly type: "bytes32";
319
+ readonly internalType: "bytes32";
320
+ }];
297
321
  }, {
298
322
  readonly type: "error";
299
323
  readonly name: "GSE__RollupAlreadyRegistered";
@@ -444,6 +468,22 @@ export declare const GovernanceAbi: readonly [{
444
468
  readonly type: "uint256";
445
469
  readonly internalType: "Slot";
446
470
  }];
471
+ }, {
472
+ readonly type: "error";
473
+ readonly name: "Governance__BlsKeyInvalidG1Point";
474
+ readonly inputs: readonly [{
475
+ readonly name: "";
476
+ readonly type: "uint256[2]";
477
+ readonly internalType: "uint256[2]";
478
+ }];
479
+ }, {
480
+ readonly type: "error";
481
+ readonly name: "Governance__BlsKeyInvalidG2Point";
482
+ readonly inputs: readonly [{
483
+ readonly name: "";
484
+ readonly type: "uint256[4]";
485
+ readonly internalType: "uint256[4]";
486
+ }];
447
487
  }, {
448
488
  readonly type: "error";
449
489
  readonly name: "Governance__CallFailed";
@@ -1 +1 @@
1
- {"version":3,"file":"GovernanceAbi.d.ts","sourceRoot":"","sources":["../src/GovernanceAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAo4FhB,CAAC"}
1
+ {"version":3,"file":"GovernanceAbi.d.ts","sourceRoot":"","sources":["../src/GovernanceAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA07FhB,CAAC"}
@@ -255,6 +255,22 @@
255
255
  }
256
256
  ]
257
257
  },
258
+ {
259
+ "type": "error",
260
+ "name": "GSE__CannotChangePublicKeys",
261
+ "inputs": [
262
+ {
263
+ "name": "existingPk1x",
264
+ "type": "uint256",
265
+ "internalType": "uint256"
266
+ },
267
+ {
268
+ "name": "existingPk1y",
269
+ "type": "uint256",
270
+ "internalType": "uint256"
271
+ }
272
+ ]
273
+ },
258
274
  {
259
275
  "type": "error",
260
276
  "name": "GSE__FailedToRemove",
@@ -309,6 +325,11 @@
309
325
  }
310
326
  ]
311
327
  },
328
+ {
329
+ "type": "error",
330
+ "name": "GSE__InvalidProofOfPossession",
331
+ "inputs": []
332
+ },
312
333
  {
313
334
  "type": "error",
314
335
  "name": "GSE__InvalidRollupAddress",
@@ -385,6 +406,17 @@
385
406
  }
386
407
  ]
387
408
  },
409
+ {
410
+ "type": "error",
411
+ "name": "GSE__ProofOfPossessionAlreadySeen",
412
+ "inputs": [
413
+ {
414
+ "name": "hashedPK1",
415
+ "type": "bytes32",
416
+ "internalType": "bytes32"
417
+ }
418
+ ]
419
+ },
388
420
  {
389
421
  "type": "error",
390
422
  "name": "GSE__RollupAlreadyRegistered",
@@ -586,6 +618,28 @@
586
618
  }
587
619
  ]
588
620
  },
621
+ {
622
+ "type": "error",
623
+ "name": "Governance__BlsKeyInvalidG1Point",
624
+ "inputs": [
625
+ {
626
+ "name": "",
627
+ "type": "uint256[2]",
628
+ "internalType": "uint256[2]"
629
+ }
630
+ ]
631
+ },
632
+ {
633
+ "type": "error",
634
+ "name": "Governance__BlsKeyInvalidG2Point",
635
+ "inputs": [
636
+ {
637
+ "name": "",
638
+ "type": "uint256[4]",
639
+ "internalType": "uint256[4]"
640
+ }
641
+ ]
642
+ },
589
643
  {
590
644
  "type": "error",
591
645
  "name": "Governance__CallFailed",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Governance bytecode.
3
3
  */
4
- export declare const GovernanceBytecode = "0x60a060405234801561000f575f5ffd5b5060405161304338038061304383398101604081905261002e916105d3565b836001600160a01b03166080816001600160a01b031681525050825f5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508060075f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015590505061015c6007604051806101000160405290815f82016040518060400160405290815f820154815260200160018201548152505081526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815250506101c860201b60201c565b506002805460ff199081169091556001600160a01b0383165f818152600160208181526040928390208054909516909117909355519081527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a1505050506106c5565b5f60018260a0015110156101ef5760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561021c57604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115610249576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e00151101561026f5760405163505c925360e11b815260040160405180910390fd5b815160200151600211156102965760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156102db576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064015b60405180910390fd5b81515162278d00101561031d57604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016102d2565b6020820151603c1115610361576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b602082015162278d0010156103a757604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b6040820151603c11156103ee576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b604082015162278d00101561043757604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b6060820151603c111561047e576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b606082015162278d0010156104c757604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b6080820151603c111561050b576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b608082015162278d00101561055157604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b506001919050565b6001600160a01b038116811461056d575f5ffd5b50565b60405161010081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b60405290565b604080519081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f8486036101808112156105e8575f5ffd5b85516105f381610559565b602087015190955061060481610559565b604087015190945061061581610559565b9250605f1901610120811215610629575f5ffd5b610631610570565b604082121561063e575f5ffd5b6106466105a5565b60608881015182526080808a015160208085019190915292845260a0808b01519385019390935260c0808b0151604086015260e0808c0151938601939093526101008b0151918501919091526101208a015192840192909252610140890151918301919091526101609097015196810196909652509295919450929150565b6080516129516106f25f395f818161020d015281816106bf01528181610ef20152610fff01526129515ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c80637f7bc23a116100d9578063c4bf093611610093578063edb884e91161006e578063edb884e914610440578063f752f8b514610453578063fe0d94c114610466578063fe7f0e8b14610479575f5ffd5b8063c4bf093614610404578063c7f758a814610417578063da35c66414610437575f5ffd5b80637f7bc23a1461028b5780638a4fb16a146102d15780639080936f146103945780639efbc2df146103b4578063b907c0ea146103df578063c3a50515146103f2575f5ffd5b806347e7ef241161012a57806347e7ef24146101f55780634800d97f146102085780635926651d146102475780636a18ff7a1461025a5780636bd50cef1461026d57806371706cbe14610282575f5ffd5b80630126795114610171578063083b42461461019757806330eb4bdd146101ba5780633a00b7ee146101cd5780633b8f880d146101d85780633d24e054146101eb575b5f5ffd5b61018461017f366004612366565b61048c565b6040519081526020015b60405180910390f35b6101aa6101a5366004612381565b6104f0565b604051901515815260200161018e565b6101846101c8366004612398565b610586565b60025460ff166101aa565b6101846101e63660046123cf565b6105ad565b6101f36105fd565b005b6101f36102033660046123cf565b61066b565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018e565b6101f3610255366004612366565b61075d565b6101aa6102683660046123f9565b6107ee565b6102756109a1565b60405161018e919061248f565b61018460125481565b6102bc61029936600461249e565b600460209081525f92835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161018e565b6103566102df366004612381565b604080516080810182525f808252602082018190529181018290526060810191909152505f90815260066020908152604091829020825160808101845281548152600182015492810192909252600201546001600160a01b03811692820192909252600160a01b90910460ff161515606082015290565b60405161018e919081518152602080830151908201526040808301516001600160a01b03169082015260609182015115159181019190915260800190565b6103a76103a2366004612381565b610a08565b60405161018e91906124f5565b6101aa6103c2366004612366565b6001600160a01b03165f9081526001602052604090205460ff1690565b6101f36103ed366004612366565b610b9a565b5f5461022f906001600160a01b031681565b6101846104123660046123cf565b610c41565b61042a610425366004612381565b610c57565b60405161018e9190612503565b61018460115481565b6101f361044e366004612605565b610d74565b6101f3610461366004612381565b610e27565b6101aa610474366004612381565b610f20565b610184610487366004612381565b611187565b5f805433906001600160a01b03168181146104d2576040516307aa341360e31b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50505f546104ea9083906001600160a01b03166111a4565b92915050565b5f8181526003602052604081206007600982015460ff166008811115610518576105186124c1565b0361053657604051630595c07760e51b815260040160405180910390fd5b600661054184610a08565b6008811115610552576105526124c1565b14610570576040516308adbf2160e01b815260040160405180910390fd5b600901805460ff19166007179055506001919050565b6008546007545f9161059b91339185916113b2565b506105a683306111a4565b9392505050565b5f4282036105dc576001600160a01b0383165f9081526005602052604090206105d5906114bc565b90506104ea565b6001600160a01b0383165f9081526005602052604090206105a690836114d5565b33308181146106325760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506002805460ff191660011790556040517f8d67419becc56dd5daf39212ee5e2cb8d9c40cf1184863a77318db110bfc77d9905f90a1565b600254829060ff168061069557506001600160a01b0381165f9081526001602052604090205460ff165b6106b257604051636c26e61960e01b815260040160405180910390fd5b6106e76001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561151f565b6001600160a01b0383165f908152600560205260409020610708908361158c565b50610716905060108361158c565b50506040518281526001600160a01b0384169033907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629060200160405180910390a3505050565b33308181146107925760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506001600160a01b0381165f81815260016020818152604092839020805460ff191690921790915590519182527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a150565b5f5f6107f985610a08565b9050600181600881111561080f5761080f6124c1565b1461082d57604051632d85b5cb60e01b815260040160405180910390fd5b5f85815260036020526040812061085b9061084790611606565b335f908152600560205260409020906114d5565b5f878152600460209081526040808320338452909152812080546001820154939450909261088991906126bf565b61089390846126d2565b9050338188818111156108d257604051631186c4ab60e31b81526001600160a01b039093166004840152602483019190915260448201526064016104c9565b5050505f888152600360205260409020600c0186156109205787835f015f8282546108fd91906126bf565b90915550508054889082905f906109159084906126bf565b909155506109539050565b87836001015f82825461093391906126bf565b9250508190555087816001015f82825461094d91906126bf565b90915550505b604080518815158152602081018a905233918b917fcbdf6214089cba887ecbf35a0b6a734589959c9763342c756bb2a80ca2bc9f6e910160405180910390a350600198975050505050505050565b6109a961229d565b506040805161014081018252600754610100820190815260085461012083015281526009546020820152600a5491810191909152600b546060820152600c546080820152600d5460a0820152600e5460c0820152600f5460e082015290565b5f60115482108290610a30576040516320c68f5560e21b81526004016104c991815260200190565b505f8281526003602052604090206005600982015460ff166008811115610a5957610a596124c1565b1480610a7d57506007600982015460ff166008811115610a7b57610a7b6124c1565b145b15610a8f576009015460ff1692915050565b600a8101545f546001600160a01b03908116911614801590610abe5750600a8101546001600160a01b03163014155b15610acc5750600692915050565b42610adf81610ada84611606565b101590565b15610aed57505f9392505050565b610afa81610ada8461161b565b15610b09575060019392505050565b5f610b1e610b1684611606565b6010906114d5565b90505f610b2b8483611632565b5090505f816002811115610b4157610b416124c1565b14610b525750600495945050505050565b610b5f83610ada86611776565b15610b705750600295945050505050565b610b7d83610ada8661178d565b15610b8e5750600395945050505050565b50600895945050505050565b3330818114610bcf5760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050306001600160a01b03821603610bfa576040516304eb9a0360e31b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f58b9023fe926532b1c6a397a00102fcce3ac81725a232d9d235104cd1a28e43291a250565b5f6105a6338484610c5260076117a4565b6113b2565b610c5f6122ed565b5f828152600360208181526040928390208351610200810190945280546101c0850190815260018201546101e086015260c08501908152600282015460e08601529281015461010085015260048101546101208501526005810154610140850152600681015461016085015260078101546101808501526008808201546101a0860152928452600981015490929184019160ff90911690811115610d0557610d056124c1565b6008811115610d1657610d166124c1565b815260098201546001600160a01b036101009091048116602080840191909152600a840154909116604080840191909152600b84015460608401528051808201909152600c8401548152600d90930154908301526080015292915050565b3330818114610da95760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050610db4816117d0565b5080518051600755602090810151600855810151600955604080820151600a556060820151600b556080820151600c5560a0820151600d5560c0820151600e5560e0820151600f555142907f7d096a764e5ea306d0946e3a05ca9ffd9ea0af82aecf12cf8eee26b2485f9a0c905f90a250565b5f8181526006602052604090206002810154600160a01b900460ff1615610e6157604051632bbd3b8d60e11b815260040160405180910390fd5b610e6f428260010154111590565b60018201544291610e9c57604051630d02d71b60e21b8152600481019290925260248201526044016104c9565b505060028101805460ff60a01b1916600160a01b17905560405182907fc55414f0020bbb9a6427d371f8c17b59299e683de70d4e659e061bb9ba303d9f905f90a260028101548154610f1c916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692911690611b5c565b5050565b5f5f610f2b83610a08565b90506003816008811115610f4157610f416124c1565b14610f5f5760405163b6ae35c160e01b815260040160405180910390fd5b5f83815260036020526040808220600981018054600560ff199091161790819055825163504d080b60e01b815292519193926101009091046001600160a01b03169163504d080b9160048082019286929091908290030181865afa158015610fc9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff091908101906126e5565b90505f5b8151811015611151577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682828151811061103957611039612853565b60200260200101515f01516001600160a01b03160361106b576040516304f6c78960e21b815260040160405180910390fd5b5f82828151811061107e5761107e612853565b60200260200101515f01516001600160a01b03168383815181106110a4576110a4612853565b6020026020010151602001516040516110bd9190612867565b5f604051808303815f865af19150503d805f81146110f6576040519150601f19603f3d011682016040523d82523d5f602084013e6110fb565b606091505b505090508083838151811061111257611112612853565b60200260200101515f01519061114757604051633cb8c30160e01b81526001600160a01b0390911660048201526024016104c9565b5050600101610ff4565b5060405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f905f90a2506001949350505050565b5f428203611199576104ea60106114bc565b6104ea6010836114d5565b601180545f91829190826111b78361287d565b909155506040805161020081019091526007546101c082019081526008546101e083015260c0820190815260095460e0830152600a54610100830152600b54610120830152600c54610140830152600d54610160830152600e54610180830152600f546101a08301528152909150602081015f8152602001856001600160a01b03168152602001846001600160a01b0316815260200142815260200160405180604001604052805f81526020015f81525081525060035f8381526020019081526020015f205f820151815f015f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015550506020820151816009015f6101000a81548160ff0219169083600881111561130f5761130f6124c1565b0217905550604082810151600983018054610100600160a81b0319166101006001600160a01b03938416021790556060840151600a840180546001600160a01b0319169183169190911790556080840151600b84015560a0909301518051600c84015560200151600d90920191909155519085169082907faa9a4d6243341331785569c732ffe9c81a3e9c2aafa58faab1afe4797668433f905f90a39392505050565b6001600160a01b0384165f9081526005602052604081206113d39084611b92565b506113e19050601084611b92565b5050601280545f91826113f38361287d565b91905055905060405180608001604052808581526020016114144286611c3f565b81526001600160a01b0380881660208084018290525f6040948501819052868152600682528490208551815590850151600182015584840151600290910180546060909601511515600160a01b026001600160a81b031990961691909316179390931790555182907f35572b4263de54e794ffcb886cb01a64870892fe896854fd2ca93810d5c66f7e906114ab9088815260200190565b60405180910390a395945050505050565b5f6114c682611c4a565b6001600160e01b031692915050565b5f6114df82421190565b6114fc576040516334dcb7d760e21b815260040160405180910390fd5b61150f61150883611c8e565b8490611cc2565b6001600160e01b03169392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115869186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611d63565b50505050565b5f5f5f61159885611c4a565b9050835f036115b4576001600160e01b031691508190506115ff565b5f6115be85611dcf565b90506115de6115cc42611c8e565b6115d68385612895565b889190611e02565b508290506115ec8282612895565b6001600160e01b03918216955016925050505b9250929050565b5f6104ea82600b0154835f0160020154611c3f565b5f6104ea61162883611606565b6003840154611c3f565b5f5f835f01600801545f0361164c5750600290505f6115ff565b6008840154831015611663575060019050806115ff565b5f61167f84865f0160060154670de0b6b3a76400006001611e1c565b9050805f036116955760028092509250506115ff565b838111156116ab576002600392509250506115ff565b600c850154600d8601545f916116c0916126bf565b9050818110156116d957600160049350935050506115ff565b600c8601548190036116f3575f60089350935050506115ff565b60078601545f906117179061171090670de0b6b3a76400006126bf565b6002611e67565b90505f61172f8383670de0b6b3a76400006001611e1c565b90508281111561174a576002600695509550505050506115ff565b600c8801548110611766576001600995509550505050506115ff565b505f97600a975095505050505050565b5f6104ea6117838361161b565b6004840154611c3f565b5f6104ea61179a83611776565b6005840154611c3f565b5f6104ea6117c6600584600201546117bc91906128c8565b8460030154611c3f565b8360040154611c3f565b5f60018260a0015110156117f75760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561182457604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115611851576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e0015110156118775760405163505c925360e11b815260040160405180910390fd5b8151602001516002111561189e5760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156118de576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b81515162278d00101561192057604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b6020820151603c1115611964576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b602082015162278d0010156119aa57604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b6040820151603c11156119f1576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b604082015162278d001015611a3a57604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b6060820151603c1115611a81576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b606082015162278d001015611aca57604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b6080820151603c1115611b0e576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b608082015162278d001015611b5457604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b506001919050565b6040516001600160a01b03838116602483015260448201839052611b8d91859182169063a9059cbb90606401611554565b505050565b5f5f5f611b9e85611c4a565b9050835f03611bba576001600160e01b031691508190506115ff565b5f611bc485611dcf565b90503382826001600160e01b038082169083161015611c185760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b0391821660248401521660448201526064016104c9565b505050611c31611c2742611c8e565b6115d683856128db565b508290506115ec82826128db565b5f6105a682846126bf565b80545f908015611c8657611c7083611c636001846126d2565b5f91825260209091200190565b54600160201b90046001600160e01b03166105a6565b5f9392505050565b5f63ffffffff821115611cbe576040516306dfcc6560e41b815260206004820152602481018390526044016104c9565b5090565b81545f9081816005811115611d1c575f611cdb84611e9a565b611ce590856126d2565b5f8881526020902090915081015463ffffffff9081169087161015611d0c57809150611d1a565b611d178160016126bf565b92505b505b5f611d2987878585611ff1565b90508015611d5657611d4087611c636001846126d2565b54600160201b90046001600160e01b0316611d58565b5f5b979650505050505050565b5f5f60205f8451602086015f885af180611d82576040513d5f823e3d81fd5b50505f513d91508115611d99578060011415611da6565b6001600160a01b0384163b155b1561158657604051635274afe760e01b81526001600160a01b03851660048201526024016104c9565b5f6001600160e01b03821115611cbe576040516306dfcc6560e41b815260e06004820152602481018390526044016104c9565b5f80611e0f85858561204c565b915091505b935093915050565b5f611e49611e2983612190565b8015611e4457505f8480611e3f57611e3f6128b4565b868809115b151590565b611e548686866121bc565b611e5e91906126bf565b95945050505050565b5f815f03611e7957611e796012612272565b816001840381611e8b57611e8b6128b4565b04600101831515029392505050565b5f60018211611ea7575090565b816001600160801b8210611ec05760809190911c9060401b5b680100000000000000008210611edb5760409190911c9060201b5b600160201b8210611ef15760209190911c9060101b5b620100008210611f065760109190911c9060081b5b6101008210611f1a5760089190911c9060041b5b60108210611f2d5760049190911c9060021b5b60048210611f395760011b5b600302600190811c90818581611f5157611f516128b4565b048201901c90506001818581611f6957611f696128b4565b048201901c90506001818581611f8157611f816128b4565b048201901c90506001818581611f9957611f996128b4565b048201901c90506001818581611fb157611fb16128b4565b048201901c90506001818581611fc957611fc96128b4565b048201901c9050611fe8818581611fe257611fe26128b4565b04821190565b90039392505050565b5f5b81831015612044575f6120068484612283565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120305780925061203e565b61203b8160016126bf565b93505b50611ff3565b509392505050565b82545f9081908015612138575f61206887611c636001856126d2565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156120a957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036120dc57825463ffffffff16600160201b6001600160e01b0389160217835561212a565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611e1492505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611e14565b5f60028260038111156121a5576121a56124c1565b6121af91906128fa565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f036121f0578382816121e6576121e66128b4565b04925050506105a6565b808411612207576122076003851502601118612272565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b634e487b715f52806020526024601cfd5b5f61229160028484186128c8565b6105a6908484166126bf565b6040805161014081019091525f6101008201818152610120830191909152819081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518060c0016040528061230061229d565b81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f815260200161234a60405180604001604052805f81526020015f81525090565b905290565b6001600160a01b0381168114612363575f5ffd5b50565b5f60208284031215612376575f5ffd5b81356105a68161234f565b5f60208284031215612391575f5ffd5b5035919050565b5f5f604083850312156123a9575f5ffd5b82356123b48161234f565b915060208301356123c48161234f565b809150509250929050565b5f5f604083850312156123e0575f5ffd5b82356123eb8161234f565b946020939093013593505050565b5f5f5f6060848603121561240b575f5ffd5b833592506020840135915060408401358015158114612428575f5ffd5b809150509250925092565b8051805183526020810151602084015250602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015160c083015260c081015160e083015260e08101516101008301525050565b61012081016104ea8284612433565b5f5f604083850312156124af575f5ffd5b8235915060208301356123c48161234f565b634e487b7160e01b5f52602160045260245ffd5b600981106124f157634e487b7160e01b5f52602160045260245ffd5b9052565b602081016104ea82846124d5565b5f6101e082019050612516828451612433565b60208301516125296101208401826124d5565b5060408301516001600160a01b03908116610140840152606084015116610160830152608083015161018083015260a09092015180516101a0830152602001516101c09091015290565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156125ab576125ab612573565b60405290565b6040805190810167ffffffffffffffff811182821017156125ab576125ab612573565b604051601f8201601f1916810167ffffffffffffffff811182821017156125fd576125fd612573565b604052919050565b5f81830361012081128015612618575f5ffd5b50612621612587565b604082121561262e575f5ffd5b6126366125b1565b843581526020808601358183015290825260408086013591830191909152606080860135918301919091526080808601359183019190915260a0808601359183019190915260c0808601359183019190915260e080860135918301919091526101009094013593810193909352509092915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ea576104ea6126ab565b818103818111156104ea576104ea6126ab565b5f602082840312156126f5575f5ffd5b815167ffffffffffffffff81111561270b575f5ffd5b8201601f8101841361271b575f5ffd5b805167ffffffffffffffff81111561273557612735612573565b8060051b612745602082016125d4565b91825260208184018101929081019087841115612760575f5ffd5b6020850192505b83831015611d5857825167ffffffffffffffff811115612785575f5ffd5b85016040818a03601f1901121561279a575f5ffd5b6127a26125b1565b60208201516127b08161234f565b8152604082015167ffffffffffffffff8111156127cb575f5ffd5b60208184010192505089601f8301126127e2575f5ffd5b815167ffffffffffffffff8111156127fc576127fc612573565b61280f601f8201601f19166020016125d4565b8181528b6020838601011115612823575f5ffd5b8160208501602083015e5f6020838301015280602084015250508084525050602082019150602083019250612767565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f6001820161288e5761288e6126ab565b5060010190565b6001600160e01b0381811683821601908111156104ea576104ea6126ab565b634e487b7160e01b5f52601260045260245ffd5b5f826128d6576128d66128b4565b500490565b6001600160e01b0382811682821603908111156104ea576104ea6126ab565b5f60ff83168061290c5761290c6128b4565b8060ff8416069150509291505056fea2646970667358221220fbbe44972a7112f2487e70fabc3c196bccf3d19d66b7b6cc5983d2f770b6188564736f6c634300081b0033";
4
+ export declare const GovernanceBytecode = "0x60a060405234801561000f575f5ffd5b5060405161304338038061304383398101604081905261002e916105d3565b836001600160a01b03166080816001600160a01b031681525050825f5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508060075f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015590505061015c6007604051806101000160405290815f82016040518060400160405290815f820154815260200160018201548152505081526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815250506101c860201b60201c565b506002805460ff199081169091556001600160a01b0383165f818152600160208181526040928390208054909516909117909355519081527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a1505050506106c5565b5f60018260a0015110156101ef5760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561021c57604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115610249576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e00151101561026f5760405163505c925360e11b815260040160405180910390fd5b815160200151600211156102965760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156102db576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064015b60405180910390fd5b81515162278d00101561031d57604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016102d2565b6020820151603c1115610361576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b602082015162278d0010156103a757604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b6040820151603c11156103ee576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b604082015162278d00101561043757604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b6060820151603c111561047e576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b606082015162278d0010156104c757604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b6080820151603c111561050b576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b608082015162278d00101561055157604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b506001919050565b6001600160a01b038116811461056d575f5ffd5b50565b60405161010081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b60405290565b604080519081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f8486036101808112156105e8575f5ffd5b85516105f381610559565b602087015190955061060481610559565b604087015190945061061581610559565b9250605f1901610120811215610629575f5ffd5b610631610570565b604082121561063e575f5ffd5b6106466105a5565b60608881015182526080808a015160208085019190915292845260a0808b01519385019390935260c0808b0151604086015260e0808c0151938601939093526101008b0151918501919091526101208a015192840192909252610140890151918301919091526101609097015196810196909652509295919450929150565b6080516129516106f25f395f818161020d015281816106bf01528181610ef20152610fff01526129515ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c80637f7bc23a116100d9578063c4bf093611610093578063edb884e91161006e578063edb884e914610440578063f752f8b514610453578063fe0d94c114610466578063fe7f0e8b14610479575f5ffd5b8063c4bf093614610404578063c7f758a814610417578063da35c66414610437575f5ffd5b80637f7bc23a1461028b5780638a4fb16a146102d15780639080936f146103945780639efbc2df146103b4578063b907c0ea146103df578063c3a50515146103f2575f5ffd5b806347e7ef241161012a57806347e7ef24146101f55780634800d97f146102085780635926651d146102475780636a18ff7a1461025a5780636bd50cef1461026d57806371706cbe14610282575f5ffd5b80630126795114610171578063083b42461461019757806330eb4bdd146101ba5780633a00b7ee146101cd5780633b8f880d146101d85780633d24e054146101eb575b5f5ffd5b61018461017f366004612366565b61048c565b6040519081526020015b60405180910390f35b6101aa6101a5366004612381565b6104f0565b604051901515815260200161018e565b6101846101c8366004612398565b610586565b60025460ff166101aa565b6101846101e63660046123cf565b6105ad565b6101f36105fd565b005b6101f36102033660046123cf565b61066b565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018e565b6101f3610255366004612366565b61075d565b6101aa6102683660046123f9565b6107ee565b6102756109a1565b60405161018e919061248f565b61018460125481565b6102bc61029936600461249e565b600460209081525f92835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161018e565b6103566102df366004612381565b604080516080810182525f808252602082018190529181018290526060810191909152505f90815260066020908152604091829020825160808101845281548152600182015492810192909252600201546001600160a01b03811692820192909252600160a01b90910460ff161515606082015290565b60405161018e919081518152602080830151908201526040808301516001600160a01b03169082015260609182015115159181019190915260800190565b6103a76103a2366004612381565b610a08565b60405161018e91906124f5565b6101aa6103c2366004612366565b6001600160a01b03165f9081526001602052604090205460ff1690565b6101f36103ed366004612366565b610b9a565b5f5461022f906001600160a01b031681565b6101846104123660046123cf565b610c41565b61042a610425366004612381565b610c57565b60405161018e9190612503565b61018460115481565b6101f361044e366004612605565b610d74565b6101f3610461366004612381565b610e27565b6101aa610474366004612381565b610f20565b610184610487366004612381565b611187565b5f805433906001600160a01b03168181146104d2576040516307aa341360e31b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50505f546104ea9083906001600160a01b03166111a4565b92915050565b5f8181526003602052604081206007600982015460ff166008811115610518576105186124c1565b0361053657604051630595c07760e51b815260040160405180910390fd5b600661054184610a08565b6008811115610552576105526124c1565b14610570576040516308adbf2160e01b815260040160405180910390fd5b600901805460ff19166007179055506001919050565b6008546007545f9161059b91339185916113b2565b506105a683306111a4565b9392505050565b5f4282036105dc576001600160a01b0383165f9081526005602052604090206105d5906114bc565b90506104ea565b6001600160a01b0383165f9081526005602052604090206105a690836114d5565b33308181146106325760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506002805460ff191660011790556040517f8d67419becc56dd5daf39212ee5e2cb8d9c40cf1184863a77318db110bfc77d9905f90a1565b600254829060ff168061069557506001600160a01b0381165f9081526001602052604090205460ff165b6106b257604051636c26e61960e01b815260040160405180910390fd5b6106e76001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561151f565b6001600160a01b0383165f908152600560205260409020610708908361158c565b50610716905060108361158c565b50506040518281526001600160a01b0384169033907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629060200160405180910390a3505050565b33308181146107925760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506001600160a01b0381165f81815260016020818152604092839020805460ff191690921790915590519182527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a150565b5f5f6107f985610a08565b9050600181600881111561080f5761080f6124c1565b1461082d57604051632d85b5cb60e01b815260040160405180910390fd5b5f85815260036020526040812061085b9061084790611606565b335f908152600560205260409020906114d5565b5f878152600460209081526040808320338452909152812080546001820154939450909261088991906126bf565b61089390846126d2565b9050338188818111156108d257604051631186c4ab60e31b81526001600160a01b039093166004840152602483019190915260448201526064016104c9565b5050505f888152600360205260409020600c0186156109205787835f015f8282546108fd91906126bf565b90915550508054889082905f906109159084906126bf565b909155506109539050565b87836001015f82825461093391906126bf565b9250508190555087816001015f82825461094d91906126bf565b90915550505b604080518815158152602081018a905233918b917fcbdf6214089cba887ecbf35a0b6a734589959c9763342c756bb2a80ca2bc9f6e910160405180910390a350600198975050505050505050565b6109a961229d565b506040805161014081018252600754610100820190815260085461012083015281526009546020820152600a5491810191909152600b546060820152600c546080820152600d5460a0820152600e5460c0820152600f5460e082015290565b5f60115482108290610a30576040516320c68f5560e21b81526004016104c991815260200190565b505f8281526003602052604090206005600982015460ff166008811115610a5957610a596124c1565b1480610a7d57506007600982015460ff166008811115610a7b57610a7b6124c1565b145b15610a8f576009015460ff1692915050565b600a8101545f546001600160a01b03908116911614801590610abe5750600a8101546001600160a01b03163014155b15610acc5750600692915050565b42610adf81610ada84611606565b101590565b15610aed57505f9392505050565b610afa81610ada8461161b565b15610b09575060019392505050565b5f610b1e610b1684611606565b6010906114d5565b90505f610b2b8483611632565b5090505f816002811115610b4157610b416124c1565b14610b525750600495945050505050565b610b5f83610ada86611776565b15610b705750600295945050505050565b610b7d83610ada8661178d565b15610b8e5750600395945050505050565b50600895945050505050565b3330818114610bcf5760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050306001600160a01b03821603610bfa576040516304eb9a0360e31b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f58b9023fe926532b1c6a397a00102fcce3ac81725a232d9d235104cd1a28e43291a250565b5f6105a6338484610c5260076117a4565b6113b2565b610c5f6122ed565b5f828152600360208181526040928390208351610200810190945280546101c0850190815260018201546101e086015260c08501908152600282015460e08601529281015461010085015260048101546101208501526005810154610140850152600681015461016085015260078101546101808501526008808201546101a0860152928452600981015490929184019160ff90911690811115610d0557610d056124c1565b6008811115610d1657610d166124c1565b815260098201546001600160a01b036101009091048116602080840191909152600a840154909116604080840191909152600b84015460608401528051808201909152600c8401548152600d90930154908301526080015292915050565b3330818114610da95760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050610db4816117d0565b5080518051600755602090810151600855810151600955604080820151600a556060820151600b556080820151600c5560a0820151600d5560c0820151600e5560e0820151600f555142907f7d096a764e5ea306d0946e3a05ca9ffd9ea0af82aecf12cf8eee26b2485f9a0c905f90a250565b5f8181526006602052604090206002810154600160a01b900460ff1615610e6157604051632bbd3b8d60e11b815260040160405180910390fd5b610e6f428260010154111590565b60018201544291610e9c57604051630d02d71b60e21b8152600481019290925260248201526044016104c9565b505060028101805460ff60a01b1916600160a01b17905560405182907fc55414f0020bbb9a6427d371f8c17b59299e683de70d4e659e061bb9ba303d9f905f90a260028101548154610f1c916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692911690611b5c565b5050565b5f5f610f2b83610a08565b90506003816008811115610f4157610f416124c1565b14610f5f5760405163b6ae35c160e01b815260040160405180910390fd5b5f83815260036020526040808220600981018054600560ff199091161790819055825163504d080b60e01b815292519193926101009091046001600160a01b03169163504d080b9160048082019286929091908290030181865afa158015610fc9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff091908101906126e5565b90505f5b8151811015611151577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682828151811061103957611039612853565b60200260200101515f01516001600160a01b03160361106b576040516304f6c78960e21b815260040160405180910390fd5b5f82828151811061107e5761107e612853565b60200260200101515f01516001600160a01b03168383815181106110a4576110a4612853565b6020026020010151602001516040516110bd9190612867565b5f604051808303815f865af19150503d805f81146110f6576040519150601f19603f3d011682016040523d82523d5f602084013e6110fb565b606091505b505090508083838151811061111257611112612853565b60200260200101515f01519061114757604051633cb8c30160e01b81526001600160a01b0390911660048201526024016104c9565b5050600101610ff4565b5060405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f905f90a2506001949350505050565b5f428203611199576104ea60106114bc565b6104ea6010836114d5565b601180545f91829190826111b78361287d565b909155506040805161020081019091526007546101c082019081526008546101e083015260c0820190815260095460e0830152600a54610100830152600b54610120830152600c54610140830152600d54610160830152600e54610180830152600f546101a08301528152909150602081015f8152602001856001600160a01b03168152602001846001600160a01b0316815260200142815260200160405180604001604052805f81526020015f81525081525060035f8381526020019081526020015f205f820151815f015f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015550506020820151816009015f6101000a81548160ff0219169083600881111561130f5761130f6124c1565b0217905550604082810151600983018054610100600160a81b0319166101006001600160a01b03938416021790556060840151600a840180546001600160a01b0319169183169190911790556080840151600b84015560a0909301518051600c84015560200151600d90920191909155519085169082907faa9a4d6243341331785569c732ffe9c81a3e9c2aafa58faab1afe4797668433f905f90a39392505050565b6001600160a01b0384165f9081526005602052604081206113d39084611b92565b506113e19050601084611b92565b5050601280545f91826113f38361287d565b91905055905060405180608001604052808581526020016114144286611c3f565b81526001600160a01b0380881660208084018290525f6040948501819052868152600682528490208551815590850151600182015584840151600290910180546060909601511515600160a01b026001600160a81b031990961691909316179390931790555182907f35572b4263de54e794ffcb886cb01a64870892fe896854fd2ca93810d5c66f7e906114ab9088815260200190565b60405180910390a395945050505050565b5f6114c682611c4a565b6001600160e01b031692915050565b5f6114df82421190565b6114fc576040516334dcb7d760e21b815260040160405180910390fd5b61150f61150883611c8e565b8490611cc2565b6001600160e01b03169392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115869186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611d63565b50505050565b5f5f5f61159885611c4a565b9050835f036115b4576001600160e01b031691508190506115ff565b5f6115be85611dcf565b90506115de6115cc42611c8e565b6115d68385612895565b889190611e02565b508290506115ec8282612895565b6001600160e01b03918216955016925050505b9250929050565b5f6104ea82600b0154835f0160020154611c3f565b5f6104ea61162883611606565b6003840154611c3f565b5f5f835f01600801545f0361164c5750600290505f6115ff565b6008840154831015611663575060019050806115ff565b5f61167f84865f0160060154670de0b6b3a76400006001611e1c565b9050805f036116955760028092509250506115ff565b838111156116ab576002600392509250506115ff565b600c850154600d8601545f916116c0916126bf565b9050818110156116d957600160049350935050506115ff565b600c8601548190036116f3575f60089350935050506115ff565b60078601545f906117179061171090670de0b6b3a76400006126bf565b6002611e67565b90505f61172f8383670de0b6b3a76400006001611e1c565b90508281111561174a576002600695509550505050506115ff565b600c8801548110611766576001600995509550505050506115ff565b505f97600a975095505050505050565b5f6104ea6117838361161b565b6004840154611c3f565b5f6104ea61179a83611776565b6005840154611c3f565b5f6104ea6117c6600584600201546117bc91906128c8565b8460030154611c3f565b8360040154611c3f565b5f60018260a0015110156117f75760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561182457604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115611851576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e0015110156118775760405163505c925360e11b815260040160405180910390fd5b8151602001516002111561189e5760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156118de576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b81515162278d00101561192057604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b6020820151603c1115611964576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b602082015162278d0010156119aa57604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b6040820151603c11156119f1576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b604082015162278d001015611a3a57604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b6060820151603c1115611a81576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b606082015162278d001015611aca57604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b6080820151603c1115611b0e576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b608082015162278d001015611b5457604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b506001919050565b6040516001600160a01b03838116602483015260448201839052611b8d91859182169063a9059cbb90606401611554565b505050565b5f5f5f611b9e85611c4a565b9050835f03611bba576001600160e01b031691508190506115ff565b5f611bc485611dcf565b90503382826001600160e01b038082169083161015611c185760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b0391821660248401521660448201526064016104c9565b505050611c31611c2742611c8e565b6115d683856128db565b508290506115ec82826128db565b5f6105a682846126bf565b80545f908015611c8657611c7083611c636001846126d2565b5f91825260209091200190565b54600160201b90046001600160e01b03166105a6565b5f9392505050565b5f63ffffffff821115611cbe576040516306dfcc6560e41b815260206004820152602481018390526044016104c9565b5090565b81545f9081816005811115611d1c575f611cdb84611e9a565b611ce590856126d2565b5f8881526020902090915081015463ffffffff9081169087161015611d0c57809150611d1a565b611d178160016126bf565b92505b505b5f611d2987878585611ff1565b90508015611d5657611d4087611c636001846126d2565b54600160201b90046001600160e01b0316611d58565b5f5b979650505050505050565b5f5f60205f8451602086015f885af180611d82576040513d5f823e3d81fd5b50505f513d91508115611d99578060011415611da6565b6001600160a01b0384163b155b1561158657604051635274afe760e01b81526001600160a01b03851660048201526024016104c9565b5f6001600160e01b03821115611cbe576040516306dfcc6560e41b815260e06004820152602481018390526044016104c9565b5f80611e0f85858561204c565b915091505b935093915050565b5f611e49611e2983612190565b8015611e4457505f8480611e3f57611e3f6128b4565b868809115b151590565b611e548686866121bc565b611e5e91906126bf565b95945050505050565b5f815f03611e7957611e796012612272565b816001840381611e8b57611e8b6128b4565b04600101831515029392505050565b5f60018211611ea7575090565b816001600160801b8210611ec05760809190911c9060401b5b680100000000000000008210611edb5760409190911c9060201b5b600160201b8210611ef15760209190911c9060101b5b620100008210611f065760109190911c9060081b5b6101008210611f1a5760089190911c9060041b5b60108210611f2d5760049190911c9060021b5b60048210611f395760011b5b600302600190811c90818581611f5157611f516128b4565b048201901c90506001818581611f6957611f696128b4565b048201901c90506001818581611f8157611f816128b4565b048201901c90506001818581611f9957611f996128b4565b048201901c90506001818581611fb157611fb16128b4565b048201901c90506001818581611fc957611fc96128b4565b048201901c9050611fe8818581611fe257611fe26128b4565b04821190565b90039392505050565b5f5b81831015612044575f6120068484612283565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120305780925061203e565b61203b8160016126bf565b93505b50611ff3565b509392505050565b82545f9081908015612138575f61206887611c636001856126d2565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156120a957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036120dc57825463ffffffff16600160201b6001600160e01b0389160217835561212a565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611e1492505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611e14565b5f60028260038111156121a5576121a56124c1565b6121af91906128fa565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f036121f0578382816121e6576121e66128b4565b04925050506105a6565b808411612207576122076003851502601118612272565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b634e487b715f52806020526024601cfd5b5f61229160028484186128c8565b6105a6908484166126bf565b6040805161014081019091525f6101008201818152610120830191909152819081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518060c0016040528061230061229d565b81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f815260200161234a60405180604001604052805f81526020015f81525090565b905290565b6001600160a01b0381168114612363575f5ffd5b50565b5f60208284031215612376575f5ffd5b81356105a68161234f565b5f60208284031215612391575f5ffd5b5035919050565b5f5f604083850312156123a9575f5ffd5b82356123b48161234f565b915060208301356123c48161234f565b809150509250929050565b5f5f604083850312156123e0575f5ffd5b82356123eb8161234f565b946020939093013593505050565b5f5f5f6060848603121561240b575f5ffd5b833592506020840135915060408401358015158114612428575f5ffd5b809150509250925092565b8051805183526020810151602084015250602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015160c083015260c081015160e083015260e08101516101008301525050565b61012081016104ea8284612433565b5f5f604083850312156124af575f5ffd5b8235915060208301356123c48161234f565b634e487b7160e01b5f52602160045260245ffd5b600981106124f157634e487b7160e01b5f52602160045260245ffd5b9052565b602081016104ea82846124d5565b5f6101e082019050612516828451612433565b60208301516125296101208401826124d5565b5060408301516001600160a01b03908116610140840152606084015116610160830152608083015161018083015260a09092015180516101a0830152602001516101c09091015290565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156125ab576125ab612573565b60405290565b6040805190810167ffffffffffffffff811182821017156125ab576125ab612573565b604051601f8201601f1916810167ffffffffffffffff811182821017156125fd576125fd612573565b604052919050565b5f81830361012081128015612618575f5ffd5b50612621612587565b604082121561262e575f5ffd5b6126366125b1565b843581526020808601358183015290825260408086013591830191909152606080860135918301919091526080808601359183019190915260a0808601359183019190915260c0808601359183019190915260e080860135918301919091526101009094013593810193909352509092915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ea576104ea6126ab565b818103818111156104ea576104ea6126ab565b5f602082840312156126f5575f5ffd5b815167ffffffffffffffff81111561270b575f5ffd5b8201601f8101841361271b575f5ffd5b805167ffffffffffffffff81111561273557612735612573565b8060051b612745602082016125d4565b91825260208184018101929081019087841115612760575f5ffd5b6020850192505b83831015611d5857825167ffffffffffffffff811115612785575f5ffd5b85016040818a03601f1901121561279a575f5ffd5b6127a26125b1565b60208201516127b08161234f565b8152604082015167ffffffffffffffff8111156127cb575f5ffd5b60208184010192505089601f8301126127e2575f5ffd5b815167ffffffffffffffff8111156127fc576127fc612573565b61280f601f8201601f19166020016125d4565b8181528b6020838601011115612823575f5ffd5b8160208501602083015e5f6020838301015280602084015250508084525050602082019150602083019250612767565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f6001820161288e5761288e6126ab565b5060010190565b6001600160e01b0381811683821601908111156104ea576104ea6126ab565b634e487b7160e01b5f52601260045260245ffd5b5f826128d6576128d66128b4565b500490565b6001600160e01b0382811682821603908111156104ea576104ea6126ab565b5f60ff83168061290c5761290c6128b4565b8060ff8416069150509291505056fea26469706673582212207c27c146e4443e4c06ac3433d3d2a2cdaf96448a39a31f324deb62d02534314064736f6c634300081b0033";
5
5
  /**
6
6
  * Governance link references.
7
7
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Governance bytecode.
3
- */ export const GovernanceBytecode = "0x60a060405234801561000f575f5ffd5b5060405161304338038061304383398101604081905261002e916105d3565b836001600160a01b03166080816001600160a01b031681525050825f5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508060075f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015590505061015c6007604051806101000160405290815f82016040518060400160405290815f820154815260200160018201548152505081526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815250506101c860201b60201c565b506002805460ff199081169091556001600160a01b0383165f818152600160208181526040928390208054909516909117909355519081527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a1505050506106c5565b5f60018260a0015110156101ef5760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561021c57604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115610249576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e00151101561026f5760405163505c925360e11b815260040160405180910390fd5b815160200151600211156102965760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156102db576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064015b60405180910390fd5b81515162278d00101561031d57604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016102d2565b6020820151603c1115610361576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b602082015162278d0010156103a757604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b6040820151603c11156103ee576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b604082015162278d00101561043757604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b6060820151603c111561047e576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b606082015162278d0010156104c757604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b6080820151603c111561050b576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b608082015162278d00101561055157604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b506001919050565b6001600160a01b038116811461056d575f5ffd5b50565b60405161010081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b60405290565b604080519081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f8486036101808112156105e8575f5ffd5b85516105f381610559565b602087015190955061060481610559565b604087015190945061061581610559565b9250605f1901610120811215610629575f5ffd5b610631610570565b604082121561063e575f5ffd5b6106466105a5565b60608881015182526080808a015160208085019190915292845260a0808b01519385019390935260c0808b0151604086015260e0808c0151938601939093526101008b0151918501919091526101208a015192840192909252610140890151918301919091526101609097015196810196909652509295919450929150565b6080516129516106f25f395f818161020d015281816106bf01528181610ef20152610fff01526129515ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c80637f7bc23a116100d9578063c4bf093611610093578063edb884e91161006e578063edb884e914610440578063f752f8b514610453578063fe0d94c114610466578063fe7f0e8b14610479575f5ffd5b8063c4bf093614610404578063c7f758a814610417578063da35c66414610437575f5ffd5b80637f7bc23a1461028b5780638a4fb16a146102d15780639080936f146103945780639efbc2df146103b4578063b907c0ea146103df578063c3a50515146103f2575f5ffd5b806347e7ef241161012a57806347e7ef24146101f55780634800d97f146102085780635926651d146102475780636a18ff7a1461025a5780636bd50cef1461026d57806371706cbe14610282575f5ffd5b80630126795114610171578063083b42461461019757806330eb4bdd146101ba5780633a00b7ee146101cd5780633b8f880d146101d85780633d24e054146101eb575b5f5ffd5b61018461017f366004612366565b61048c565b6040519081526020015b60405180910390f35b6101aa6101a5366004612381565b6104f0565b604051901515815260200161018e565b6101846101c8366004612398565b610586565b60025460ff166101aa565b6101846101e63660046123cf565b6105ad565b6101f36105fd565b005b6101f36102033660046123cf565b61066b565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018e565b6101f3610255366004612366565b61075d565b6101aa6102683660046123f9565b6107ee565b6102756109a1565b60405161018e919061248f565b61018460125481565b6102bc61029936600461249e565b600460209081525f92835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161018e565b6103566102df366004612381565b604080516080810182525f808252602082018190529181018290526060810191909152505f90815260066020908152604091829020825160808101845281548152600182015492810192909252600201546001600160a01b03811692820192909252600160a01b90910460ff161515606082015290565b60405161018e919081518152602080830151908201526040808301516001600160a01b03169082015260609182015115159181019190915260800190565b6103a76103a2366004612381565b610a08565b60405161018e91906124f5565b6101aa6103c2366004612366565b6001600160a01b03165f9081526001602052604090205460ff1690565b6101f36103ed366004612366565b610b9a565b5f5461022f906001600160a01b031681565b6101846104123660046123cf565b610c41565b61042a610425366004612381565b610c57565b60405161018e9190612503565b61018460115481565b6101f361044e366004612605565b610d74565b6101f3610461366004612381565b610e27565b6101aa610474366004612381565b610f20565b610184610487366004612381565b611187565b5f805433906001600160a01b03168181146104d2576040516307aa341360e31b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50505f546104ea9083906001600160a01b03166111a4565b92915050565b5f8181526003602052604081206007600982015460ff166008811115610518576105186124c1565b0361053657604051630595c07760e51b815260040160405180910390fd5b600661054184610a08565b6008811115610552576105526124c1565b14610570576040516308adbf2160e01b815260040160405180910390fd5b600901805460ff19166007179055506001919050565b6008546007545f9161059b91339185916113b2565b506105a683306111a4565b9392505050565b5f4282036105dc576001600160a01b0383165f9081526005602052604090206105d5906114bc565b90506104ea565b6001600160a01b0383165f9081526005602052604090206105a690836114d5565b33308181146106325760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506002805460ff191660011790556040517f8d67419becc56dd5daf39212ee5e2cb8d9c40cf1184863a77318db110bfc77d9905f90a1565b600254829060ff168061069557506001600160a01b0381165f9081526001602052604090205460ff165b6106b257604051636c26e61960e01b815260040160405180910390fd5b6106e76001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561151f565b6001600160a01b0383165f908152600560205260409020610708908361158c565b50610716905060108361158c565b50506040518281526001600160a01b0384169033907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629060200160405180910390a3505050565b33308181146107925760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506001600160a01b0381165f81815260016020818152604092839020805460ff191690921790915590519182527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a150565b5f5f6107f985610a08565b9050600181600881111561080f5761080f6124c1565b1461082d57604051632d85b5cb60e01b815260040160405180910390fd5b5f85815260036020526040812061085b9061084790611606565b335f908152600560205260409020906114d5565b5f878152600460209081526040808320338452909152812080546001820154939450909261088991906126bf565b61089390846126d2565b9050338188818111156108d257604051631186c4ab60e31b81526001600160a01b039093166004840152602483019190915260448201526064016104c9565b5050505f888152600360205260409020600c0186156109205787835f015f8282546108fd91906126bf565b90915550508054889082905f906109159084906126bf565b909155506109539050565b87836001015f82825461093391906126bf565b9250508190555087816001015f82825461094d91906126bf565b90915550505b604080518815158152602081018a905233918b917fcbdf6214089cba887ecbf35a0b6a734589959c9763342c756bb2a80ca2bc9f6e910160405180910390a350600198975050505050505050565b6109a961229d565b506040805161014081018252600754610100820190815260085461012083015281526009546020820152600a5491810191909152600b546060820152600c546080820152600d5460a0820152600e5460c0820152600f5460e082015290565b5f60115482108290610a30576040516320c68f5560e21b81526004016104c991815260200190565b505f8281526003602052604090206005600982015460ff166008811115610a5957610a596124c1565b1480610a7d57506007600982015460ff166008811115610a7b57610a7b6124c1565b145b15610a8f576009015460ff1692915050565b600a8101545f546001600160a01b03908116911614801590610abe5750600a8101546001600160a01b03163014155b15610acc5750600692915050565b42610adf81610ada84611606565b101590565b15610aed57505f9392505050565b610afa81610ada8461161b565b15610b09575060019392505050565b5f610b1e610b1684611606565b6010906114d5565b90505f610b2b8483611632565b5090505f816002811115610b4157610b416124c1565b14610b525750600495945050505050565b610b5f83610ada86611776565b15610b705750600295945050505050565b610b7d83610ada8661178d565b15610b8e5750600395945050505050565b50600895945050505050565b3330818114610bcf5760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050306001600160a01b03821603610bfa576040516304eb9a0360e31b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f58b9023fe926532b1c6a397a00102fcce3ac81725a232d9d235104cd1a28e43291a250565b5f6105a6338484610c5260076117a4565b6113b2565b610c5f6122ed565b5f828152600360208181526040928390208351610200810190945280546101c0850190815260018201546101e086015260c08501908152600282015460e08601529281015461010085015260048101546101208501526005810154610140850152600681015461016085015260078101546101808501526008808201546101a0860152928452600981015490929184019160ff90911690811115610d0557610d056124c1565b6008811115610d1657610d166124c1565b815260098201546001600160a01b036101009091048116602080840191909152600a840154909116604080840191909152600b84015460608401528051808201909152600c8401548152600d90930154908301526080015292915050565b3330818114610da95760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050610db4816117d0565b5080518051600755602090810151600855810151600955604080820151600a556060820151600b556080820151600c5560a0820151600d5560c0820151600e5560e0820151600f555142907f7d096a764e5ea306d0946e3a05ca9ffd9ea0af82aecf12cf8eee26b2485f9a0c905f90a250565b5f8181526006602052604090206002810154600160a01b900460ff1615610e6157604051632bbd3b8d60e11b815260040160405180910390fd5b610e6f428260010154111590565b60018201544291610e9c57604051630d02d71b60e21b8152600481019290925260248201526044016104c9565b505060028101805460ff60a01b1916600160a01b17905560405182907fc55414f0020bbb9a6427d371f8c17b59299e683de70d4e659e061bb9ba303d9f905f90a260028101548154610f1c916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692911690611b5c565b5050565b5f5f610f2b83610a08565b90506003816008811115610f4157610f416124c1565b14610f5f5760405163b6ae35c160e01b815260040160405180910390fd5b5f83815260036020526040808220600981018054600560ff199091161790819055825163504d080b60e01b815292519193926101009091046001600160a01b03169163504d080b9160048082019286929091908290030181865afa158015610fc9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff091908101906126e5565b90505f5b8151811015611151577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682828151811061103957611039612853565b60200260200101515f01516001600160a01b03160361106b576040516304f6c78960e21b815260040160405180910390fd5b5f82828151811061107e5761107e612853565b60200260200101515f01516001600160a01b03168383815181106110a4576110a4612853565b6020026020010151602001516040516110bd9190612867565b5f604051808303815f865af19150503d805f81146110f6576040519150601f19603f3d011682016040523d82523d5f602084013e6110fb565b606091505b505090508083838151811061111257611112612853565b60200260200101515f01519061114757604051633cb8c30160e01b81526001600160a01b0390911660048201526024016104c9565b5050600101610ff4565b5060405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f905f90a2506001949350505050565b5f428203611199576104ea60106114bc565b6104ea6010836114d5565b601180545f91829190826111b78361287d565b909155506040805161020081019091526007546101c082019081526008546101e083015260c0820190815260095460e0830152600a54610100830152600b54610120830152600c54610140830152600d54610160830152600e54610180830152600f546101a08301528152909150602081015f8152602001856001600160a01b03168152602001846001600160a01b0316815260200142815260200160405180604001604052805f81526020015f81525081525060035f8381526020019081526020015f205f820151815f015f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015550506020820151816009015f6101000a81548160ff0219169083600881111561130f5761130f6124c1565b0217905550604082810151600983018054610100600160a81b0319166101006001600160a01b03938416021790556060840151600a840180546001600160a01b0319169183169190911790556080840151600b84015560a0909301518051600c84015560200151600d90920191909155519085169082907faa9a4d6243341331785569c732ffe9c81a3e9c2aafa58faab1afe4797668433f905f90a39392505050565b6001600160a01b0384165f9081526005602052604081206113d39084611b92565b506113e19050601084611b92565b5050601280545f91826113f38361287d565b91905055905060405180608001604052808581526020016114144286611c3f565b81526001600160a01b0380881660208084018290525f6040948501819052868152600682528490208551815590850151600182015584840151600290910180546060909601511515600160a01b026001600160a81b031990961691909316179390931790555182907f35572b4263de54e794ffcb886cb01a64870892fe896854fd2ca93810d5c66f7e906114ab9088815260200190565b60405180910390a395945050505050565b5f6114c682611c4a565b6001600160e01b031692915050565b5f6114df82421190565b6114fc576040516334dcb7d760e21b815260040160405180910390fd5b61150f61150883611c8e565b8490611cc2565b6001600160e01b03169392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115869186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611d63565b50505050565b5f5f5f61159885611c4a565b9050835f036115b4576001600160e01b031691508190506115ff565b5f6115be85611dcf565b90506115de6115cc42611c8e565b6115d68385612895565b889190611e02565b508290506115ec8282612895565b6001600160e01b03918216955016925050505b9250929050565b5f6104ea82600b0154835f0160020154611c3f565b5f6104ea61162883611606565b6003840154611c3f565b5f5f835f01600801545f0361164c5750600290505f6115ff565b6008840154831015611663575060019050806115ff565b5f61167f84865f0160060154670de0b6b3a76400006001611e1c565b9050805f036116955760028092509250506115ff565b838111156116ab576002600392509250506115ff565b600c850154600d8601545f916116c0916126bf565b9050818110156116d957600160049350935050506115ff565b600c8601548190036116f3575f60089350935050506115ff565b60078601545f906117179061171090670de0b6b3a76400006126bf565b6002611e67565b90505f61172f8383670de0b6b3a76400006001611e1c565b90508281111561174a576002600695509550505050506115ff565b600c8801548110611766576001600995509550505050506115ff565b505f97600a975095505050505050565b5f6104ea6117838361161b565b6004840154611c3f565b5f6104ea61179a83611776565b6005840154611c3f565b5f6104ea6117c6600584600201546117bc91906128c8565b8460030154611c3f565b8360040154611c3f565b5f60018260a0015110156117f75760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561182457604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115611851576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e0015110156118775760405163505c925360e11b815260040160405180910390fd5b8151602001516002111561189e5760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156118de576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b81515162278d00101561192057604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b6020820151603c1115611964576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b602082015162278d0010156119aa57604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b6040820151603c11156119f1576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b604082015162278d001015611a3a57604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b6060820151603c1115611a81576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b606082015162278d001015611aca57604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b6080820151603c1115611b0e576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b608082015162278d001015611b5457604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b506001919050565b6040516001600160a01b03838116602483015260448201839052611b8d91859182169063a9059cbb90606401611554565b505050565b5f5f5f611b9e85611c4a565b9050835f03611bba576001600160e01b031691508190506115ff565b5f611bc485611dcf565b90503382826001600160e01b038082169083161015611c185760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b0391821660248401521660448201526064016104c9565b505050611c31611c2742611c8e565b6115d683856128db565b508290506115ec82826128db565b5f6105a682846126bf565b80545f908015611c8657611c7083611c636001846126d2565b5f91825260209091200190565b54600160201b90046001600160e01b03166105a6565b5f9392505050565b5f63ffffffff821115611cbe576040516306dfcc6560e41b815260206004820152602481018390526044016104c9565b5090565b81545f9081816005811115611d1c575f611cdb84611e9a565b611ce590856126d2565b5f8881526020902090915081015463ffffffff9081169087161015611d0c57809150611d1a565b611d178160016126bf565b92505b505b5f611d2987878585611ff1565b90508015611d5657611d4087611c636001846126d2565b54600160201b90046001600160e01b0316611d58565b5f5b979650505050505050565b5f5f60205f8451602086015f885af180611d82576040513d5f823e3d81fd5b50505f513d91508115611d99578060011415611da6565b6001600160a01b0384163b155b1561158657604051635274afe760e01b81526001600160a01b03851660048201526024016104c9565b5f6001600160e01b03821115611cbe576040516306dfcc6560e41b815260e06004820152602481018390526044016104c9565b5f80611e0f85858561204c565b915091505b935093915050565b5f611e49611e2983612190565b8015611e4457505f8480611e3f57611e3f6128b4565b868809115b151590565b611e548686866121bc565b611e5e91906126bf565b95945050505050565b5f815f03611e7957611e796012612272565b816001840381611e8b57611e8b6128b4565b04600101831515029392505050565b5f60018211611ea7575090565b816001600160801b8210611ec05760809190911c9060401b5b680100000000000000008210611edb5760409190911c9060201b5b600160201b8210611ef15760209190911c9060101b5b620100008210611f065760109190911c9060081b5b6101008210611f1a5760089190911c9060041b5b60108210611f2d5760049190911c9060021b5b60048210611f395760011b5b600302600190811c90818581611f5157611f516128b4565b048201901c90506001818581611f6957611f696128b4565b048201901c90506001818581611f8157611f816128b4565b048201901c90506001818581611f9957611f996128b4565b048201901c90506001818581611fb157611fb16128b4565b048201901c90506001818581611fc957611fc96128b4565b048201901c9050611fe8818581611fe257611fe26128b4565b04821190565b90039392505050565b5f5b81831015612044575f6120068484612283565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120305780925061203e565b61203b8160016126bf565b93505b50611ff3565b509392505050565b82545f9081908015612138575f61206887611c636001856126d2565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156120a957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036120dc57825463ffffffff16600160201b6001600160e01b0389160217835561212a565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611e1492505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611e14565b5f60028260038111156121a5576121a56124c1565b6121af91906128fa565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f036121f0578382816121e6576121e66128b4565b04925050506105a6565b808411612207576122076003851502601118612272565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b634e487b715f52806020526024601cfd5b5f61229160028484186128c8565b6105a6908484166126bf565b6040805161014081019091525f6101008201818152610120830191909152819081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518060c0016040528061230061229d565b81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f815260200161234a60405180604001604052805f81526020015f81525090565b905290565b6001600160a01b0381168114612363575f5ffd5b50565b5f60208284031215612376575f5ffd5b81356105a68161234f565b5f60208284031215612391575f5ffd5b5035919050565b5f5f604083850312156123a9575f5ffd5b82356123b48161234f565b915060208301356123c48161234f565b809150509250929050565b5f5f604083850312156123e0575f5ffd5b82356123eb8161234f565b946020939093013593505050565b5f5f5f6060848603121561240b575f5ffd5b833592506020840135915060408401358015158114612428575f5ffd5b809150509250925092565b8051805183526020810151602084015250602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015160c083015260c081015160e083015260e08101516101008301525050565b61012081016104ea8284612433565b5f5f604083850312156124af575f5ffd5b8235915060208301356123c48161234f565b634e487b7160e01b5f52602160045260245ffd5b600981106124f157634e487b7160e01b5f52602160045260245ffd5b9052565b602081016104ea82846124d5565b5f6101e082019050612516828451612433565b60208301516125296101208401826124d5565b5060408301516001600160a01b03908116610140840152606084015116610160830152608083015161018083015260a09092015180516101a0830152602001516101c09091015290565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156125ab576125ab612573565b60405290565b6040805190810167ffffffffffffffff811182821017156125ab576125ab612573565b604051601f8201601f1916810167ffffffffffffffff811182821017156125fd576125fd612573565b604052919050565b5f81830361012081128015612618575f5ffd5b50612621612587565b604082121561262e575f5ffd5b6126366125b1565b843581526020808601358183015290825260408086013591830191909152606080860135918301919091526080808601359183019190915260a0808601359183019190915260c0808601359183019190915260e080860135918301919091526101009094013593810193909352509092915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ea576104ea6126ab565b818103818111156104ea576104ea6126ab565b5f602082840312156126f5575f5ffd5b815167ffffffffffffffff81111561270b575f5ffd5b8201601f8101841361271b575f5ffd5b805167ffffffffffffffff81111561273557612735612573565b8060051b612745602082016125d4565b91825260208184018101929081019087841115612760575f5ffd5b6020850192505b83831015611d5857825167ffffffffffffffff811115612785575f5ffd5b85016040818a03601f1901121561279a575f5ffd5b6127a26125b1565b60208201516127b08161234f565b8152604082015167ffffffffffffffff8111156127cb575f5ffd5b60208184010192505089601f8301126127e2575f5ffd5b815167ffffffffffffffff8111156127fc576127fc612573565b61280f601f8201601f19166020016125d4565b8181528b6020838601011115612823575f5ffd5b8160208501602083015e5f6020838301015280602084015250508084525050602082019150602083019250612767565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f6001820161288e5761288e6126ab565b5060010190565b6001600160e01b0381811683821601908111156104ea576104ea6126ab565b634e487b7160e01b5f52601260045260245ffd5b5f826128d6576128d66128b4565b500490565b6001600160e01b0382811682821603908111156104ea576104ea6126ab565b5f60ff83168061290c5761290c6128b4565b8060ff8416069150509291505056fea2646970667358221220fbbe44972a7112f2487e70fabc3c196bccf3d19d66b7b6cc5983d2f770b6188564736f6c634300081b0033";
3
+ */ export const GovernanceBytecode = "0x60a060405234801561000f575f5ffd5b5060405161304338038061304383398101604081905261002e916105d3565b836001600160a01b03166080816001600160a01b031681525050825f5f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508060075f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015590505061015c6007604051806101000160405290815f82016040518060400160405290815f820154815260200160018201548152505081526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815250506101c860201b60201c565b506002805460ff199081169091556001600160a01b0383165f818152600160208181526040928390208054909516909117909355519081527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a1505050506106c5565b5f60018260a0015110156101ef5760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561021c57604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115610249576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e00151101561026f5760405163505c925360e11b815260040160405180910390fd5b815160200151600211156102965760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156102db576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064015b60405180910390fd5b81515162278d00101561031d57604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016102d2565b6020820151603c1115610361576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b602082015162278d0010156103a757604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016102d2565b6040820151603c11156103ee576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b604082015162278d00101561043757604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016102d2565b6060820151603c111561047e576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b606082015162278d0010156104c757604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016102d2565b6080820151603c111561050b576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b608082015162278d00101561055157604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016102d2565b506001919050565b6001600160a01b038116811461056d575f5ffd5b50565b60405161010081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b60405290565b604080519081016001600160401b038111828210171561059f57634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f8486036101808112156105e8575f5ffd5b85516105f381610559565b602087015190955061060481610559565b604087015190945061061581610559565b9250605f1901610120811215610629575f5ffd5b610631610570565b604082121561063e575f5ffd5b6106466105a5565b60608881015182526080808a015160208085019190915292845260a0808b01519385019390935260c0808b0151604086015260e0808c0151938601939093526101008b0151918501919091526101208a015192840192909252610140890151918301919091526101609097015196810196909652509295919450929150565b6080516129516106f25f395f818161020d015281816106bf01528181610ef20152610fff01526129515ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c80637f7bc23a116100d9578063c4bf093611610093578063edb884e91161006e578063edb884e914610440578063f752f8b514610453578063fe0d94c114610466578063fe7f0e8b14610479575f5ffd5b8063c4bf093614610404578063c7f758a814610417578063da35c66414610437575f5ffd5b80637f7bc23a1461028b5780638a4fb16a146102d15780639080936f146103945780639efbc2df146103b4578063b907c0ea146103df578063c3a50515146103f2575f5ffd5b806347e7ef241161012a57806347e7ef24146101f55780634800d97f146102085780635926651d146102475780636a18ff7a1461025a5780636bd50cef1461026d57806371706cbe14610282575f5ffd5b80630126795114610171578063083b42461461019757806330eb4bdd146101ba5780633a00b7ee146101cd5780633b8f880d146101d85780633d24e054146101eb575b5f5ffd5b61018461017f366004612366565b61048c565b6040519081526020015b60405180910390f35b6101aa6101a5366004612381565b6104f0565b604051901515815260200161018e565b6101846101c8366004612398565b610586565b60025460ff166101aa565b6101846101e63660046123cf565b6105ad565b6101f36105fd565b005b6101f36102033660046123cf565b61066b565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018e565b6101f3610255366004612366565b61075d565b6101aa6102683660046123f9565b6107ee565b6102756109a1565b60405161018e919061248f565b61018460125481565b6102bc61029936600461249e565b600460209081525f92835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161018e565b6103566102df366004612381565b604080516080810182525f808252602082018190529181018290526060810191909152505f90815260066020908152604091829020825160808101845281548152600182015492810192909252600201546001600160a01b03811692820192909252600160a01b90910460ff161515606082015290565b60405161018e919081518152602080830151908201526040808301516001600160a01b03169082015260609182015115159181019190915260800190565b6103a76103a2366004612381565b610a08565b60405161018e91906124f5565b6101aa6103c2366004612366565b6001600160a01b03165f9081526001602052604090205460ff1690565b6101f36103ed366004612366565b610b9a565b5f5461022f906001600160a01b031681565b6101846104123660046123cf565b610c41565b61042a610425366004612381565b610c57565b60405161018e9190612503565b61018460115481565b6101f361044e366004612605565b610d74565b6101f3610461366004612381565b610e27565b6101aa610474366004612381565b610f20565b610184610487366004612381565b611187565b5f805433906001600160a01b03168181146104d2576040516307aa341360e31b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50505f546104ea9083906001600160a01b03166111a4565b92915050565b5f8181526003602052604081206007600982015460ff166008811115610518576105186124c1565b0361053657604051630595c07760e51b815260040160405180910390fd5b600661054184610a08565b6008811115610552576105526124c1565b14610570576040516308adbf2160e01b815260040160405180910390fd5b600901805460ff19166007179055506001919050565b6008546007545f9161059b91339185916113b2565b506105a683306111a4565b9392505050565b5f4282036105dc576001600160a01b0383165f9081526005602052604090206105d5906114bc565b90506104ea565b6001600160a01b0383165f9081526005602052604090206105a690836114d5565b33308181146106325760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506002805460ff191660011790556040517f8d67419becc56dd5daf39212ee5e2cb8d9c40cf1184863a77318db110bfc77d9905f90a1565b600254829060ff168061069557506001600160a01b0381165f9081526001602052604090205460ff165b6106b257604051636c26e61960e01b815260040160405180910390fd5b6106e76001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561151f565b6001600160a01b0383165f908152600560205260409020610708908361158c565b50610716905060108361158c565b50506040518281526001600160a01b0384169033907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629060200160405180910390a3505050565b33308181146107925760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b50506001600160a01b0381165f81815260016020818152604092839020805460ff191690921790915590519182527fc3e089fc6227e049d0e41c3d7a383d57efe69c1955c5752f7e5a9b5f1f113020910160405180910390a150565b5f5f6107f985610a08565b9050600181600881111561080f5761080f6124c1565b1461082d57604051632d85b5cb60e01b815260040160405180910390fd5b5f85815260036020526040812061085b9061084790611606565b335f908152600560205260409020906114d5565b5f878152600460209081526040808320338452909152812080546001820154939450909261088991906126bf565b61089390846126d2565b9050338188818111156108d257604051631186c4ab60e31b81526001600160a01b039093166004840152602483019190915260448201526064016104c9565b5050505f888152600360205260409020600c0186156109205787835f015f8282546108fd91906126bf565b90915550508054889082905f906109159084906126bf565b909155506109539050565b87836001015f82825461093391906126bf565b9250508190555087816001015f82825461094d91906126bf565b90915550505b604080518815158152602081018a905233918b917fcbdf6214089cba887ecbf35a0b6a734589959c9763342c756bb2a80ca2bc9f6e910160405180910390a350600198975050505050505050565b6109a961229d565b506040805161014081018252600754610100820190815260085461012083015281526009546020820152600a5491810191909152600b546060820152600c546080820152600d5460a0820152600e5460c0820152600f5460e082015290565b5f60115482108290610a30576040516320c68f5560e21b81526004016104c991815260200190565b505f8281526003602052604090206005600982015460ff166008811115610a5957610a596124c1565b1480610a7d57506007600982015460ff166008811115610a7b57610a7b6124c1565b145b15610a8f576009015460ff1692915050565b600a8101545f546001600160a01b03908116911614801590610abe5750600a8101546001600160a01b03163014155b15610acc5750600692915050565b42610adf81610ada84611606565b101590565b15610aed57505f9392505050565b610afa81610ada8461161b565b15610b09575060019392505050565b5f610b1e610b1684611606565b6010906114d5565b90505f610b2b8483611632565b5090505f816002811115610b4157610b416124c1565b14610b525750600495945050505050565b610b5f83610ada86611776565b15610b705750600295945050505050565b610b7d83610ada8661178d565b15610b8e5750600395945050505050565b50600895945050505050565b3330818114610bcf5760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050306001600160a01b03821603610bfa576040516304eb9a0360e31b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b038316908117825560405190917f58b9023fe926532b1c6a397a00102fcce3ac81725a232d9d235104cd1a28e43291a250565b5f6105a6338484610c5260076117a4565b6113b2565b610c5f6122ed565b5f828152600360208181526040928390208351610200810190945280546101c0850190815260018201546101e086015260c08501908152600282015460e08601529281015461010085015260048101546101208501526005810154610140850152600681015461016085015260078101546101808501526008808201546101a0860152928452600981015490929184019160ff90911690811115610d0557610d056124c1565b6008811115610d1657610d166124c1565b815260098201546001600160a01b036101009091048116602080840191909152600a840154909116604080840191909152600b84015460608401528051808201909152600c8401548152600d90930154908301526080015292915050565b3330818114610da95760405163f18e42a160e01b81526001600160a01b039283166004820152911660248201526044016104c9565b5050610db4816117d0565b5080518051600755602090810151600855810151600955604080820151600a556060820151600b556080820151600c5560a0820151600d5560c0820151600e5560e0820151600f555142907f7d096a764e5ea306d0946e3a05ca9ffd9ea0af82aecf12cf8eee26b2485f9a0c905f90a250565b5f8181526006602052604090206002810154600160a01b900460ff1615610e6157604051632bbd3b8d60e11b815260040160405180910390fd5b610e6f428260010154111590565b60018201544291610e9c57604051630d02d71b60e21b8152600481019290925260248201526044016104c9565b505060028101805460ff60a01b1916600160a01b17905560405182907fc55414f0020bbb9a6427d371f8c17b59299e683de70d4e659e061bb9ba303d9f905f90a260028101548154610f1c916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692911690611b5c565b5050565b5f5f610f2b83610a08565b90506003816008811115610f4157610f416124c1565b14610f5f5760405163b6ae35c160e01b815260040160405180910390fd5b5f83815260036020526040808220600981018054600560ff199091161790819055825163504d080b60e01b815292519193926101009091046001600160a01b03169163504d080b9160048082019286929091908290030181865afa158015610fc9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ff091908101906126e5565b90505f5b8151811015611151577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682828151811061103957611039612853565b60200260200101515f01516001600160a01b03160361106b576040516304f6c78960e21b815260040160405180910390fd5b5f82828151811061107e5761107e612853565b60200260200101515f01516001600160a01b03168383815181106110a4576110a4612853565b6020026020010151602001516040516110bd9190612867565b5f604051808303815f865af19150503d805f81146110f6576040519150601f19603f3d011682016040523d82523d5f602084013e6110fb565b606091505b505090508083838151811061111257611112612853565b60200260200101515f01519061114757604051633cb8c30160e01b81526001600160a01b0390911660048201526024016104c9565b5050600101610ff4565b5060405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f905f90a2506001949350505050565b5f428203611199576104ea60106114bc565b6104ea6010836114d5565b601180545f91829190826111b78361287d565b909155506040805161020081019091526007546101c082019081526008546101e083015260c0820190815260095460e0830152600a54610100830152600b54610120830152600c54610140830152600d54610160830152600e54610180830152600f546101a08301528152909150602081015f8152602001856001600160a01b03168152602001846001600160a01b0316815260200142815260200160405180604001604052805f81526020015f81525081525060035f8381526020019081526020015f205f820151815f015f820151815f015f820151815f01556020820151816001015550506020820151816002015560408201518160030155606082015181600401556080820151816005015560a0820151816006015560c0820151816007015560e0820151816008015550506020820151816009015f6101000a81548160ff0219169083600881111561130f5761130f6124c1565b0217905550604082810151600983018054610100600160a81b0319166101006001600160a01b03938416021790556060840151600a840180546001600160a01b0319169183169190911790556080840151600b84015560a0909301518051600c84015560200151600d90920191909155519085169082907faa9a4d6243341331785569c732ffe9c81a3e9c2aafa58faab1afe4797668433f905f90a39392505050565b6001600160a01b0384165f9081526005602052604081206113d39084611b92565b506113e19050601084611b92565b5050601280545f91826113f38361287d565b91905055905060405180608001604052808581526020016114144286611c3f565b81526001600160a01b0380881660208084018290525f6040948501819052868152600682528490208551815590850151600182015584840151600290910180546060909601511515600160a01b026001600160a81b031990961691909316179390931790555182907f35572b4263de54e794ffcb886cb01a64870892fe896854fd2ca93810d5c66f7e906114ab9088815260200190565b60405180910390a395945050505050565b5f6114c682611c4a565b6001600160e01b031692915050565b5f6114df82421190565b6114fc576040516334dcb7d760e21b815260040160405180910390fd5b61150f61150883611c8e565b8490611cc2565b6001600160e01b03169392505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115869186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611d63565b50505050565b5f5f5f61159885611c4a565b9050835f036115b4576001600160e01b031691508190506115ff565b5f6115be85611dcf565b90506115de6115cc42611c8e565b6115d68385612895565b889190611e02565b508290506115ec8282612895565b6001600160e01b03918216955016925050505b9250929050565b5f6104ea82600b0154835f0160020154611c3f565b5f6104ea61162883611606565b6003840154611c3f565b5f5f835f01600801545f0361164c5750600290505f6115ff565b6008840154831015611663575060019050806115ff565b5f61167f84865f0160060154670de0b6b3a76400006001611e1c565b9050805f036116955760028092509250506115ff565b838111156116ab576002600392509250506115ff565b600c850154600d8601545f916116c0916126bf565b9050818110156116d957600160049350935050506115ff565b600c8601548190036116f3575f60089350935050506115ff565b60078601545f906117179061171090670de0b6b3a76400006126bf565b6002611e67565b90505f61172f8383670de0b6b3a76400006001611e1c565b90508281111561174a576002600695509550505050506115ff565b600c8801548110611766576001600995509550505050506115ff565b505f97600a975095505050505050565b5f6104ea6117838361161b565b6004840154611c3f565b5f6104ea61179a83611776565b6005840154611c3f565b5f6104ea6117c6600584600201546117bc91906128c8565b8460030154611c3f565b8360040154611c3f565b5f60018260a0015110156117f75760405163245ca84960e11b815260040160405180910390fd5b670de0b6b3a76400008260a00151111561182457604051637a9fd76760e11b815260040160405180910390fd5b670de0b6b3a76400008260c001511115611851576040516323bdbbbb60e01b815260040160405180910390fd5b60018260e0015110156118775760405163505c925360e11b815260040160405180910390fd5b8151602001516002111561189e5760405163ec4abc2f60e01b815260040160405180910390fd5b815151603c11156118de576040516302b2633f60e21b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b81515162278d00101561192057604051637ac6b2f960e11b81526020600482015260096024820152684c6f636b44656c617960b81b60448201526064016104c9565b6020820151603c1115611964576040516302b2633f60e21b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b602082015162278d0010156119aa57604051637ac6b2f960e11b815260206004820152600b60248201526a566f74696e6744656c617960a81b60448201526064016104c9565b6040820151603c11156119f1576040516302b2633f60e21b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b604082015162278d001015611a3a57604051637ac6b2f960e11b815260206004820152600e60248201526d2b37ba34b733a23ab930ba34b7b760911b60448201526064016104c9565b6060820151603c1115611a81576040516302b2633f60e21b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b606082015162278d001015611aca57604051637ac6b2f960e11b815260206004820152600e60248201526d457865637574696f6e44656c617960901b60448201526064016104c9565b6080820151603c1115611b0e576040516302b2633f60e21b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b608082015162278d001015611b5457604051637ac6b2f960e11b815260206004820152600b60248201526a11dc9858d954195c9a5bd960aa1b60448201526064016104c9565b506001919050565b6040516001600160a01b03838116602483015260448201839052611b8d91859182169063a9059cbb90606401611554565b505050565b5f5f5f611b9e85611c4a565b9050835f03611bba576001600160e01b031691508190506115ff565b5f611bc485611dcf565b90503382826001600160e01b038082169083161015611c185760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b0391821660248401521660448201526064016104c9565b505050611c31611c2742611c8e565b6115d683856128db565b508290506115ec82826128db565b5f6105a682846126bf565b80545f908015611c8657611c7083611c636001846126d2565b5f91825260209091200190565b54600160201b90046001600160e01b03166105a6565b5f9392505050565b5f63ffffffff821115611cbe576040516306dfcc6560e41b815260206004820152602481018390526044016104c9565b5090565b81545f9081816005811115611d1c575f611cdb84611e9a565b611ce590856126d2565b5f8881526020902090915081015463ffffffff9081169087161015611d0c57809150611d1a565b611d178160016126bf565b92505b505b5f611d2987878585611ff1565b90508015611d5657611d4087611c636001846126d2565b54600160201b90046001600160e01b0316611d58565b5f5b979650505050505050565b5f5f60205f8451602086015f885af180611d82576040513d5f823e3d81fd5b50505f513d91508115611d99578060011415611da6565b6001600160a01b0384163b155b1561158657604051635274afe760e01b81526001600160a01b03851660048201526024016104c9565b5f6001600160e01b03821115611cbe576040516306dfcc6560e41b815260e06004820152602481018390526044016104c9565b5f80611e0f85858561204c565b915091505b935093915050565b5f611e49611e2983612190565b8015611e4457505f8480611e3f57611e3f6128b4565b868809115b151590565b611e548686866121bc565b611e5e91906126bf565b95945050505050565b5f815f03611e7957611e796012612272565b816001840381611e8b57611e8b6128b4565b04600101831515029392505050565b5f60018211611ea7575090565b816001600160801b8210611ec05760809190911c9060401b5b680100000000000000008210611edb5760409190911c9060201b5b600160201b8210611ef15760209190911c9060101b5b620100008210611f065760109190911c9060081b5b6101008210611f1a5760089190911c9060041b5b60108210611f2d5760049190911c9060021b5b60048210611f395760011b5b600302600190811c90818581611f5157611f516128b4565b048201901c90506001818581611f6957611f696128b4565b048201901c90506001818581611f8157611f816128b4565b048201901c90506001818581611f9957611f996128b4565b048201901c90506001818581611fb157611fb16128b4565b048201901c90506001818581611fc957611fc96128b4565b048201901c9050611fe8818581611fe257611fe26128b4565b04821190565b90039392505050565b5f5b81831015612044575f6120068484612283565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120305780925061203e565b61203b8160016126bf565b93505b50611ff3565b509392505050565b82545f9081908015612138575f61206887611c636001856126d2565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156120a957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036120dc57825463ffffffff16600160201b6001600160e01b0389160217835561212a565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611e1492505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611e14565b5f60028260038111156121a5576121a56124c1565b6121af91906128fa565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f036121f0578382816121e6576121e66128b4565b04925050506105a6565b808411612207576122076003851502601118612272565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b634e487b715f52806020526024601cfd5b5f61229160028484186128c8565b6105a6908484166126bf565b6040805161014081019091525f6101008201818152610120830191909152819081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518060c0016040528061230061229d565b81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f815260200161234a60405180604001604052805f81526020015f81525090565b905290565b6001600160a01b0381168114612363575f5ffd5b50565b5f60208284031215612376575f5ffd5b81356105a68161234f565b5f60208284031215612391575f5ffd5b5035919050565b5f5f604083850312156123a9575f5ffd5b82356123b48161234f565b915060208301356123c48161234f565b809150509250929050565b5f5f604083850312156123e0575f5ffd5b82356123eb8161234f565b946020939093013593505050565b5f5f5f6060848603121561240b575f5ffd5b833592506020840135915060408401358015158114612428575f5ffd5b809150509250925092565b8051805183526020810151602084015250602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015160c083015260c081015160e083015260e08101516101008301525050565b61012081016104ea8284612433565b5f5f604083850312156124af575f5ffd5b8235915060208301356123c48161234f565b634e487b7160e01b5f52602160045260245ffd5b600981106124f157634e487b7160e01b5f52602160045260245ffd5b9052565b602081016104ea82846124d5565b5f6101e082019050612516828451612433565b60208301516125296101208401826124d5565b5060408301516001600160a01b03908116610140840152606084015116610160830152608083015161018083015260a09092015180516101a0830152602001516101c09091015290565b634e487b7160e01b5f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156125ab576125ab612573565b60405290565b6040805190810167ffffffffffffffff811182821017156125ab576125ab612573565b604051601f8201601f1916810167ffffffffffffffff811182821017156125fd576125fd612573565b604052919050565b5f81830361012081128015612618575f5ffd5b50612621612587565b604082121561262e575f5ffd5b6126366125b1565b843581526020808601358183015290825260408086013591830191909152606080860135918301919091526080808601359183019190915260a0808601359183019190915260c0808601359183019190915260e080860135918301919091526101009094013593810193909352509092915050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ea576104ea6126ab565b818103818111156104ea576104ea6126ab565b5f602082840312156126f5575f5ffd5b815167ffffffffffffffff81111561270b575f5ffd5b8201601f8101841361271b575f5ffd5b805167ffffffffffffffff81111561273557612735612573565b8060051b612745602082016125d4565b91825260208184018101929081019087841115612760575f5ffd5b6020850192505b83831015611d5857825167ffffffffffffffff811115612785575f5ffd5b85016040818a03601f1901121561279a575f5ffd5b6127a26125b1565b60208201516127b08161234f565b8152604082015167ffffffffffffffff8111156127cb575f5ffd5b60208184010192505089601f8301126127e2575f5ffd5b815167ffffffffffffffff8111156127fc576127fc612573565b61280f601f8201601f19166020016125d4565b8181528b6020838601011115612823575f5ffd5b8160208501602083015e5f6020838301015280602084015250508084525050602082019150602083019250612767565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f6001820161288e5761288e6126ab565b5060010190565b6001600160e01b0381811683821601908111156104ea576104ea6126ab565b634e487b7160e01b5f52601260045260245ffd5b5f826128d6576128d66128b4565b500490565b6001600160e01b0382811682821603908111156104ea576104ea6126ab565b5f60ff83168061290c5761290c6128b4565b8060ff8416069150509291505056fea26469706673582212207c27c146e4443e4c06ac3433d3d2a2cdaf96448a39a31f324deb62d02534314064736f6c634300081b0033";
4
4
  /**
5
5
  * Governance link references.
6
6
  */ export const GovernanceLinkReferences = {};
@@ -142,6 +142,18 @@ export declare const GovernanceProposerAbi: readonly [{
142
142
  readonly type: "address";
143
143
  readonly internalType: "address";
144
144
  }];
145
+ }, {
146
+ readonly type: "error";
147
+ readonly name: "GSE__CannotChangePublicKeys";
148
+ readonly inputs: readonly [{
149
+ readonly name: "existingPk1x";
150
+ readonly type: "uint256";
151
+ readonly internalType: "uint256";
152
+ }, {
153
+ readonly name: "existingPk1y";
154
+ readonly type: "uint256";
155
+ readonly internalType: "uint256";
156
+ }];
145
157
  }, {
146
158
  readonly type: "error";
147
159
  readonly name: "GSE__FailedToRemove";
@@ -182,6 +194,10 @@ export declare const GovernanceProposerAbi: readonly [{
182
194
  readonly type: "uint256";
183
195
  readonly internalType: "uint256";
184
196
  }];
197
+ }, {
198
+ readonly type: "error";
199
+ readonly name: "GSE__InvalidProofOfPossession";
200
+ readonly inputs: readonly [];
185
201
  }, {
186
202
  readonly type: "error";
187
203
  readonly name: "GSE__InvalidRollupAddress";
@@ -238,6 +254,14 @@ export declare const GovernanceProposerAbi: readonly [{
238
254
  readonly type: "uint256";
239
255
  readonly internalType: "uint256";
240
256
  }];
257
+ }, {
258
+ readonly type: "error";
259
+ readonly name: "GSE__ProofOfPossessionAlreadySeen";
260
+ readonly inputs: readonly [{
261
+ readonly name: "hashedPK1";
262
+ readonly type: "bytes32";
263
+ readonly internalType: "bytes32";
264
+ }];
241
265
  }, {
242
266
  readonly type: "error";
243
267
  readonly name: "GSE__RollupAlreadyRegistered";
@@ -378,6 +402,22 @@ export declare const GovernanceProposerAbi: readonly [{
378
402
  readonly type: "uint256";
379
403
  readonly internalType: "Slot";
380
404
  }];
405
+ }, {
406
+ readonly type: "error";
407
+ readonly name: "Governance__BlsKeyInvalidG1Point";
408
+ readonly inputs: readonly [{
409
+ readonly name: "";
410
+ readonly type: "uint256[2]";
411
+ readonly internalType: "uint256[2]";
412
+ }];
413
+ }, {
414
+ readonly type: "error";
415
+ readonly name: "Governance__BlsKeyInvalidG2Point";
416
+ readonly inputs: readonly [{
417
+ readonly name: "";
418
+ readonly type: "uint256[4]";
419
+ readonly internalType: "uint256[4]";
420
+ }];
381
421
  }, {
382
422
  readonly type: "error";
383
423
  readonly name: "Governance__CallFailed";