@aztec/l1-artifacts 3.0.0-nightly.20250908 → 3.0.0-nightly.20250910
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.
- package/dest/EmpireSlasherDeploymentExtLibBytecode.d.ts +1 -1
- package/dest/EmpireSlasherDeploymentExtLibBytecode.js +1 -1
- package/dest/EmpireSlashingProposerBytecode.d.ts +1 -1
- package/dest/EmpireSlashingProposerBytecode.js +1 -1
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.js +1 -1
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +234 -200
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +332 -288
- package/dest/RollupBytecode.d.ts +24 -24
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +24 -24
- package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
- package/dest/RollupOperationsExtLibBytecode.d.ts.map +1 -1
- package/dest/RollupOperationsExtLibBytecode.js +1 -1
- package/dest/RollupStorage.d.ts +3 -3
- package/dest/RollupStorage.js +3 -3
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
- package/dest/StakingAssetHandlerBytecode.js +1 -1
- package/dest/TallySlasherDeploymentExtLibBytecode.d.ts +1 -1
- package/dest/TallySlasherDeploymentExtLibBytecode.js +1 -1
- package/dest/TallySlashingProposerBytecode.d.ts +1 -1
- package/dest/TallySlashingProposerBytecode.js +1 -1
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.d.ts +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.js +1 -1
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GovernanceProposer bytecode.
|
|
3
|
-
*/ export const GovernanceProposerBytecode = "0x610220604052348015610010575f5ffd5b5060405161286c38038061286c83398101604081905261002f91610292565b818160055f6040518060400160405280600a815260200169456d706972654261736560b01b815250604051806040016040528060018152602001603160f81b8152506100845f8361020c60201b90919060201c565b6101205261009381600161020c565b61014052815160208084019190912060e052815190820120610100524660a05261011f60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526101608490526101808390526101a08290526101c081905261014b6002846102d7565b61016051610180519091821161018257604051632e4b8e9960e01b8152600481019290925260248201526044015b60405180910390fd5b5050610180516101605190808211156101b757604051633f53066760e01b815260048101929092526024820152604401610179565b50506101c0516101a051908082116101eb576040516301a3e19960e21b815260048101929092526024820152604401610179565b505050506001600160a01b039586166101e0525050505016610200526104a0565b5f602083511015610227576102208361023e565b9050610238565b81610232848261038e565b5060ff90505b92915050565b5f5f829050601f81511115610268578260405163305a27a960e01b81526004016101799190610448565b80516102738261047d565b179392505050565b6001600160a01b038116811461028f575f5ffd5b50565b5f5f5f5f608085870312156102a5575f5ffd5b84516102b08161027b565b60208601519094506102c18161027b565b6040860151606090960151949790965092505050565b5f826102f157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061031e57607f821691505b60208210810361033c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038957805f5260205f20601f840160051c810160208510156103675750805b601f840160051c820191505b81811015610386575f8155600101610373565b50505b505050565b81516001600160401b038111156103a7576103a76102f6565b6103bb816103b5845461030a565b84610342565b6020601f8211600181146103ed575f83156103d65750848201515b5f19600385901b1c1916600184901b178455610386565b5f84815260208120601f198516915b8281101561041c57878501518255602094850194600190920191016103fc565b508482101561043957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8051602080830151919081101561033c575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161230061056c5f395f818161030e0152610db501525f818161012501528181610426015281816109570152610dd601525f818161036f01526105d001525f8181610335015261062901525f818161022c015261092f01525f8181610276015281816107230152610cee01525f610d8a01525f610d5e01525f61111001525f6110e801525f61104301525f61106d01525f61109701526123005ff3fe608060405234801561000f575f5ffd5b506004361061011c575f3560e01c806384b0196e116100a9578063a97f36a81161006e578063a97f36a814610330578063b2406d9414610357578063bf2ba5521461036a578063d11eb2b214610391578063de7b5d14146103a4575f5ffd5b806384b0196e146102c057806398252dda146102db5780639e9d26bf146102ee578063a32bf59714610301578063a636c83d14610309575f5ffd5b8063289b3c0d116100ef578063289b3c0d1461021f5780635413330714610227578063552b836f1461024e5780635cb165a0146102715780635f90af2a14610298575f5ffd5b806306433b1b14610120578063117395381461016457806316af8be1146101b857806320d88ca8146101f8575b5f5ffd5b6101477f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101aa6101723660046113cc565b6001600160a01b038084165f908152600260209081526040808320868452825280832093851683526001909301905220549392505050565b60405190815260200161015b565b6101cb6101c636600461140b565b6103ac565b60408051825181526020808401516001600160a01b0316908201529181015115159082015260600161015b565b6101aa7fdec0bfc6a67146d790874e4994d7a4662b60c6400491f3d945793c73ea05ebb781565b610147610423565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b61026161025c366004611435565b6104a9565b604051901515815260200161015b565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b6101476102a6366004611450565b5f908152600360205260409020546001600160a01b031690565b6102c86104cf565b60405161015b9796959493929190611495565b6102616102e9366004611450565b610511565b6101aa6102fc36600461140b565b610822565b6101aa61089f565b6101477f000000000000000000000000000000000000000000000000000000000000000081565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b61026161036536600461152b565b61091e565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b6101aa61039f366004611450565b610929565b610147610954565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03868116825260028452848220868352845290849020845192830185525463ffffffff81168352600160201b810490911692820192909252600160c01b90910460ff161515918101919091525b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610480573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a491906115c2565b905090565b604080516060810182525f8082526020820181905291810182905261041d9083906109b1565b5f6060805f5f5f60606104e0610d57565b6104e8610d83565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f5f61051b610954565b9050806001600160a01b0381163b61055757604051635fa9262560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610599573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd91906115dd565b90505f6105c982610929565b90506105f57f0000000000000000000000000000000000000000000000000000000000000000876115f4565b8111868290916106215760405163f9f743cd60e01b81526004810192909252602482015260440161054e565b5061064e90507f0000000000000000000000000000000000000000000000000000000000000000876115f4565b8111158682909161067b5760405163b1efde5b60e01b81526004810192909252602482015260440161054e565b50506001600160a01b0384165f908152600260209081526040808320898452909152902080548790600160c01b900460ff16156106ce57604051633c468a0360e21b815260040161054e91815260200190565b508054600160201b90046001600160a01b03166106fe5760405163fe2ec21760e01b815260040160405180910390fd5b8054600160201b90046001600160a01b03165f908152600182016020526040902054807f00000000000000000000000000000000000000000000000000000000000000008082101561076c57604051632135657760e01b81526004810192909252602482015260440161054e565b5050815460ff60c01b1916600160c01b1780835560405189916001600160a01b03600160201b90910416907f524a107cd762fc6fd9e34b29c33d17a2292ae9869be3743c11a155b87664af9c905f90a381546107d790600160201b90046001600160a01b0316610db0565b8254600160201b90046001600160a01b0316906108135760405163bfa6b08560e01b81526001600160a01b03909116600482015260240161054e565b50600198975050505050505050565b5f6108987fdec0bfc6a67146d790874e4994d7a4662b60c6400491f3d945793c73ea05ebb78484610851610954565b6040805160208101959095526001600160a01b0393841690850152606084019190915216608082015260a00160405160208183030381529060405280519060200120610eef565b9392505050565b5f5f6108a9610954565b90505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090c91906115dd565b905061091781610929565b9250505090565b5f61089883836109b1565b5f61041d7f000000000000000000000000000000000000000000000000000000000000000083611613565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610480573d5f5f3e3d5ffd5b5f5f6109bb610954565b9050806001600160a01b0381163b6109f257604051635fa9262560e01b81526001600160a01b03909116600482015260240161054e565b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5891906115dd565b90505f610a6482610929565b6001600160a01b0385165f908152600260209081526040808320848452909152902080549192509063ffffffff1683118390610ab6576040516349d1a39560e01b815260040161054e91815260200190565b50610ac083610f1b565b815f015f6101000a81548163ffffffff021916908363ffffffff1602179055505f846001600160a01b0316633b10244b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610b1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4291906115c2565b9050610b50885160ff161590565b15610b9a5733816001600160a01b0381168214610b935760405163a1a6486d60e01b81526001600160a01b0392831660048201529116602482015260440161054e565b5050610bea565b5f610ba58a86610822565b9050610bb2898383610f25565b33839091610be65760405163a1a6486d60e01b81526001600160a01b0392831660048201529116602482015260440161054e565b5050505b6001600160a01b0389165f908152600183810160205260408220805491929091610c159084906115f4565b909155505081546001600160a01b038a8116600160201b9092041614801590610c68575081546001600160a01b03600160201b90910481165f90815260018401602052604080822054928c168252902054115b15610c91578154640100000000600160c01b031916600160201b6001600160a01b038b16021782555b806001600160a01b0316838a6001600160a01b03167f2df1cd192fdb24be652b19858ee33f7fc0aff1a85485e3a44d29d1ef79472f6560405160405180910390a46001600160a01b0389165f9081526001830160205260409020547f000000000000000000000000000000000000000000000000000000000000000090036108135760405183906001600160a01b038b16907f7670d106b4e42706ce2c68f6e6cf69db532abb05014051816a275fa4622ee340905f90a350600198975050505050505050565b60606104a47f00000000000000000000000000000000000000000000000000000000000000005f610f8e565b60606104a47f00000000000000000000000000000000000000000000000000000000000000006001610f8e565b5f5f827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051610e01906113a8565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103905ff080158015610e3a573d5f5f3e3d5ffd5b5090505f610e46610423565b604051630126795160e01b81526001600160a01b03848116600483015291909116906301267951906024016020604051808303815f875af1158015610e8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb191906115dd565b9050610ebb610954565b5f9182526003602052604090912080546001600160a01b0319166001600160a01b0390921691909117905550600192915050565b5f61041d610efb611037565b8360405161190160f01b8152600281019290925260228201526042902090565b5f61041d82611160565b5f5f610f3e83865f015187602001518860400151611194565b905083816001600160a01b0382811690821614610f8157604051633672eb9b60e21b81526001600160a01b0392831660048201529116602482015260440161054e565b5060019695505050505050565b606060ff8314610fa857610fa1836111c0565b905061041d565b818054610fb490611632565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe090611632565b801561102b5780601f106110025761010080835404028352916020019161102b565b820191905f5260205f20905b81548152906001019060200180831161100e57829003601f168201915b5050505050905061041d565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561108f57507f000000000000000000000000000000000000000000000000000000000000000046145b156110b957507f000000000000000000000000000000000000000000000000000000000000000090565b6104a4604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f63ffffffff821115611190576040516306dfcc6560e41b8152602060048201526024810183905260440161054e565b5090565b5f5f5f5f6111a4888888886111fd565b9250925092506111b482826112c5565b50909695505050505050565b60605f6111cc83611381565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561123657505f915060039050826112bb565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611287573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166112b257505f9250600191508290506112bb565b92505f91508190505b9450945094915050565b5f8260038111156112d8576112d861166a565b036112e1575050565b60018260038111156112f5576112f561166a565b036113135760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156113275761132761166a565b036113485760405163fce698f760e01b81526004810182905260240161054e565b600382600381111561135c5761135c61166a565b0361137d576040516335e2f38360e21b81526004810182905260240161054e565b5050565b5f60ff8216601f81111561041d57604051632cd44ac360e21b815260040160405180910390fd5b610c4c8061167f83390190565b6001600160a01b03811681146113c9575f5ffd5b50565b5f5f5f606084860312156113de575f5ffd5b83356113e9816113b5565b9250602084013591506040840135611400816113b5565b809150509250925092565b5f5f6040838503121561141c575f5ffd5b8235611427816113b5565b946020939093013593505050565b5f60208284031215611445575f5ffd5b8135610898816113b5565b5f60208284031215611460575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f6114b360e0830189611467565b82810360408401526114c58189611467565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561151a5783518352602093840193909201916001016114fc565b50909b9a5050505050505050505050565b5f5f828403608081121561153d575f5ffd5b8335611548816113b5565b92506060601f198201121561155b575f5ffd5b506040516060810181811067ffffffffffffffff8211171561158b57634e487b7160e01b5f52604160045260245ffd5b604052602084013560ff811681146115a1575f5ffd5b81526040848101356020830152606090940135938101939093525092909150565b5f602082840312156115d2575f5ffd5b8151610898816113b5565b5f602082840312156115ed575f5ffd5b5051919050565b8082018082111561041d57634e487b7160e01b5f52601160045260245ffd5b5f8261162d57634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061164657607f821691505b60208210810361166457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfe60e060405234801561000f575f5ffd5b50604051610c4c380380610c4c83398101604081905261002e91610062565b6001600160a01b0392831660805290821660a0521660c0526100ac565b6001600160a01b038116811461005f575f5ffd5b50565b5f5f5f60608486031215610074575f5ffd5b835161007f8161004b565b60208501519093506100908161004b565b60408501519092506100a18161004b565b809150509250925092565b60805160a05160c051610b386101145f395f81816083015261031d01525f8181610109015281816103a001528181610445015281816104c80152818161056a01526105f201525f818161012d015281816101560152818161017d01526106ad0152610b385ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637754305c116100585780637754305c146100ef578063a636c83d14610104578063ad9c74b51461012b578063c262e61d14610151575f5ffd5b806306433b1b1461007e578063504d080b146100c2578063675d628a146100d7575b5f5ffd5b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100ca610178565b6040516100b99190610760565b6100df610319565b60405190151581526020016100b9565b6100f76106a9565b6040516100b991906107e3565b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006100a5565b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663504d080b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156101d6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101fd91908101906108da565b90505f8151600161020e9190610a20565b67ffffffffffffffff811115610226576102266107fc565b60405190808252806020026020018201604052801561026b57816020015b604080518082019091525f8152606060208201528152602001906001900390816102445790505b5090505f5b82518110156102b85782818151811061028b5761028b610a39565b60200260200101518282815181106102a5576102a5610a39565b6020908102919091010152600101610270565b5060408051808201825230815281516004815260248101909252602082810180516001600160e01b03166333aeb14560e11b17905281019190915282518251839190811061030857610308610a39565b602090810291909101015292915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610377573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039b9190610a4d565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b35186a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190610a4d565b9050806001600160a01b0316826001600160a01b0316146104425760019250505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c39190610a68565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639f6bc70c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610522573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105469190610a4d565b604051631890039360e21b81526001600160a01b0380831660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906362400e4c90602401602060405180830381865afa1580156105af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d39190610a68565b604051631890039360e21b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000016906362400e4c90602401602060405180830381865afa158015610637573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b9190610a68565b6106659190610a20565b90506003610674846002610a7f565b61067e9190610a96565b811161069d576040516324b6d5bf60e21b815260040160405180910390fd5b60019550505050505090565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637754305c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610706573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072d9190810190610ab5565b905090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156107d757868503603f19018452815180516001600160a01b031686526020908101516040918701829052906107c190870182610732565b9550506020938401939190910190600101610786565b50929695505050505050565b602081525f6107f56020830184610732565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715610833576108336107fc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610862576108626107fc565b604052919050565b6001600160a01b038116811461087e575f5ffd5b50565b5f5f67ffffffffffffffff84111561089b5761089b6107fc565b50601f8301601f19166020016108b081610839565b9150508281528383830111156108c4575f5ffd5b8282602083015e5f602084830101529392505050565b5f602082840312156108ea575f5ffd5b815167ffffffffffffffff811115610900575f5ffd5b8201601f81018413610910575f5ffd5b805167ffffffffffffffff81111561092a5761092a6107fc565b8060051b61093a60208201610839565b91825260208184018101929081019087841115610955575f5ffd5b6020850192505b83831015610a0157825167ffffffffffffffff81111561097a575f5ffd5b85016040818a03601f1901121561098f575f5ffd5b610997610810565b60208201516109a58161086a565b8152604082015167ffffffffffffffff8111156109c0575f5ffd5b60208184010192505089601f8301126109d7575f5ffd5b6109e68a835160208501610881565b6020820152808452505060208201915060208301925061095c565b979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a3357610a33610a0c565b92915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610a5d575f5ffd5b81516107f58161086a565b5f60208284031215610a78575f5ffd5b5051919050565b8082028115828204841417610a3357610a33610a0c565b5f82610ab057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610ac5575f5ffd5b815167ffffffffffffffff811115610adb575f5ffd5b8201601f81018413610aeb575f5ffd5b610afa84825160208401610881565b94935050505056fea26469706673582212205590283c9f99b8a092e6ddce46a77c5e39974dd0a58b314cb7bcc76b18d17e5e64736f6c634300081b0033a26469706673582212200ae9f272abe896a5c4b725af45f3a64ab6c6243409f22e6917f75ca8e1fc604e64736f6c634300081b0033";
|
|
3
|
+
*/ export const GovernanceProposerBytecode = "0x610220604052348015610010575f5ffd5b5060405161286c38038061286c83398101604081905261002f91610292565b818160055f6040518060400160405280600a815260200169456d706972654261736560b01b815250604051806040016040528060018152602001603160f81b8152506100845f8361020c60201b90919060201c565b6101205261009381600161020c565b61014052815160208084019190912060e052815190820120610100524660a05261011f60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526101608490526101808390526101a08290526101c081905261014b6002846102d7565b61016051610180519091821161018257604051632e4b8e9960e01b8152600481019290925260248201526044015b60405180910390fd5b5050610180516101605190808211156101b757604051633f53066760e01b815260048101929092526024820152604401610179565b50506101c0516101a051908082116101eb576040516301a3e19960e21b815260048101929092526024820152604401610179565b505050506001600160a01b039586166101e0525050505016610200526104a0565b5f602083511015610227576102208361023e565b9050610238565b81610232848261038e565b5060ff90505b92915050565b5f5f829050601f81511115610268578260405163305a27a960e01b81526004016101799190610448565b80516102738261047d565b179392505050565b6001600160a01b038116811461028f575f5ffd5b50565b5f5f5f5f608085870312156102a5575f5ffd5b84516102b08161027b565b60208601519094506102c18161027b565b6040860151606090960151949790965092505050565b5f826102f157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061031e57607f821691505b60208210810361033c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038957805f5260205f20601f840160051c810160208510156103675750805b601f840160051c820191505b81811015610386575f8155600101610373565b50505b505050565b81516001600160401b038111156103a7576103a76102f6565b6103bb816103b5845461030a565b84610342565b6020601f8211600181146103ed575f83156103d65750848201515b5f19600385901b1c1916600184901b178455610386565b5f84815260208120601f198516915b8281101561041c57878501518255602094850194600190920191016103fc565b508482101561043957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8051602080830151919081101561033c575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161230061056c5f395f818161030e0152610db501525f818161012501528181610426015281816109570152610dd601525f818161036f01526105d001525f8181610335015261062901525f818161022c015261092f01525f8181610276015281816107230152610cee01525f610d8a01525f610d5e01525f61111001525f6110e801525f61104301525f61106d01525f61109701526123005ff3fe608060405234801561000f575f5ffd5b506004361061011c575f3560e01c806384b0196e116100a9578063a97f36a81161006e578063a97f36a814610330578063b2406d9414610357578063bf2ba5521461036a578063d11eb2b214610391578063de7b5d14146103a4575f5ffd5b806384b0196e146102c057806398252dda146102db5780639e9d26bf146102ee578063a32bf59714610301578063a636c83d14610309575f5ffd5b8063289b3c0d116100ef578063289b3c0d1461021f5780635413330714610227578063552b836f1461024e5780635cb165a0146102715780635f90af2a14610298575f5ffd5b806306433b1b14610120578063117395381461016457806316af8be1146101b857806320d88ca8146101f8575b5f5ffd5b6101477f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101aa6101723660046113cc565b6001600160a01b038084165f908152600260209081526040808320868452825280832093851683526001909301905220549392505050565b60405190815260200161015b565b6101cb6101c636600461140b565b6103ac565b60408051825181526020808401516001600160a01b0316908201529181015115159082015260600161015b565b6101aa7fdec0bfc6a67146d790874e4994d7a4662b60c6400491f3d945793c73ea05ebb781565b610147610423565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b61026161025c366004611435565b6104a9565b604051901515815260200161015b565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b6101476102a6366004611450565b5f908152600360205260409020546001600160a01b031690565b6102c86104cf565b60405161015b9796959493929190611495565b6102616102e9366004611450565b610511565b6101aa6102fc36600461140b565b610822565b6101aa61089f565b6101477f000000000000000000000000000000000000000000000000000000000000000081565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b61026161036536600461152b565b61091e565b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b6101aa61039f366004611450565b610929565b610147610954565b60408051606080820183525f80835260208084018290529284018190526001600160a01b03868116825260028452848220868352845290849020845192830185525463ffffffff81168352600160201b810490911692820192909252600160c01b90910460ff161515918101919091525b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610480573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a491906115c2565b905090565b604080516060810182525f8082526020820181905291810182905261041d9083906109b1565b5f6060805f5f5f60606104e0610d57565b6104e8610d83565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f5f61051b610954565b9050806001600160a01b0381163b61055757604051635fa9262560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610599573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd91906115dd565b90505f6105c982610929565b90506105f57f0000000000000000000000000000000000000000000000000000000000000000876115f4565b8111868290916106215760405163f9f743cd60e01b81526004810192909252602482015260440161054e565b5061064e90507f0000000000000000000000000000000000000000000000000000000000000000876115f4565b8111158682909161067b5760405163b1efde5b60e01b81526004810192909252602482015260440161054e565b50506001600160a01b0384165f908152600260209081526040808320898452909152902080548790600160c01b900460ff16156106ce57604051633c468a0360e21b815260040161054e91815260200190565b508054600160201b90046001600160a01b03166106fe5760405163fe2ec21760e01b815260040160405180910390fd5b8054600160201b90046001600160a01b03165f908152600182016020526040902054807f00000000000000000000000000000000000000000000000000000000000000008082101561076c57604051632135657760e01b81526004810192909252602482015260440161054e565b5050815460ff60c01b1916600160c01b1780835560405189916001600160a01b03600160201b90910416907f524a107cd762fc6fd9e34b29c33d17a2292ae9869be3743c11a155b87664af9c905f90a381546107d790600160201b90046001600160a01b0316610db0565b8254600160201b90046001600160a01b0316906108135760405163bfa6b08560e01b81526001600160a01b03909116600482015260240161054e565b50600198975050505050505050565b5f6108987fdec0bfc6a67146d790874e4994d7a4662b60c6400491f3d945793c73ea05ebb78484610851610954565b6040805160208101959095526001600160a01b0393841690850152606084019190915216608082015260a00160405160208183030381529060405280519060200120610eef565b9392505050565b5f5f6108a9610954565b90505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090c91906115dd565b905061091781610929565b9250505090565b5f61089883836109b1565b5f61041d7f000000000000000000000000000000000000000000000000000000000000000083611613565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610480573d5f5f3e3d5ffd5b5f5f6109bb610954565b9050806001600160a01b0381163b6109f257604051635fa9262560e01b81526001600160a01b03909116600482015260240161054e565b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5891906115dd565b90505f610a6482610929565b6001600160a01b0385165f908152600260209081526040808320848452909152902080549192509063ffffffff1683118390610ab6576040516349d1a39560e01b815260040161054e91815260200190565b50610ac083610f1b565b815f015f6101000a81548163ffffffff021916908363ffffffff1602179055505f846001600160a01b0316633b10244b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610b1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4291906115c2565b9050610b50885160ff161590565b15610b9a5733816001600160a01b0381168214610b935760405163a1a6486d60e01b81526001600160a01b0392831660048201529116602482015260440161054e565b5050610bea565b5f610ba58a86610822565b9050610bb2898383610f25565b33839091610be65760405163a1a6486d60e01b81526001600160a01b0392831660048201529116602482015260440161054e565b5050505b6001600160a01b0389165f908152600183810160205260408220805491929091610c159084906115f4565b909155505081546001600160a01b038a8116600160201b9092041614801590610c68575081546001600160a01b03600160201b90910481165f90815260018401602052604080822054928c168252902054115b15610c91578154640100000000600160c01b031916600160201b6001600160a01b038b16021782555b806001600160a01b0316838a6001600160a01b03167f2df1cd192fdb24be652b19858ee33f7fc0aff1a85485e3a44d29d1ef79472f6560405160405180910390a46001600160a01b0389165f9081526001830160205260409020547f000000000000000000000000000000000000000000000000000000000000000090036108135760405183906001600160a01b038b16907f7670d106b4e42706ce2c68f6e6cf69db532abb05014051816a275fa4622ee340905f90a350600198975050505050505050565b60606104a47f00000000000000000000000000000000000000000000000000000000000000005f610f8e565b60606104a47f00000000000000000000000000000000000000000000000000000000000000006001610f8e565b5f5f827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051610e01906113a8565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103905ff080158015610e3a573d5f5f3e3d5ffd5b5090505f610e46610423565b604051630126795160e01b81526001600160a01b03848116600483015291909116906301267951906024016020604051808303815f875af1158015610e8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb191906115dd565b9050610ebb610954565b5f9182526003602052604090912080546001600160a01b0319166001600160a01b0390921691909117905550600192915050565b5f61041d610efb611037565b8360405161190160f01b8152600281019290925260228201526042902090565b5f61041d82611160565b5f5f610f3e83865f015187602001518860400151611194565b905083816001600160a01b0382811690821614610f8157604051633672eb9b60e21b81526001600160a01b0392831660048201529116602482015260440161054e565b5060019695505050505050565b606060ff8314610fa857610fa1836111c0565b905061041d565b818054610fb490611632565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe090611632565b801561102b5780601f106110025761010080835404028352916020019161102b565b820191905f5260205f20905b81548152906001019060200180831161100e57829003601f168201915b5050505050905061041d565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561108f57507f000000000000000000000000000000000000000000000000000000000000000046145b156110b957507f000000000000000000000000000000000000000000000000000000000000000090565b6104a4604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f63ffffffff821115611190576040516306dfcc6560e41b8152602060048201526024810183905260440161054e565b5090565b5f5f5f5f6111a4888888886111fd565b9250925092506111b482826112c5565b50909695505050505050565b60605f6111cc83611381565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561123657505f915060039050826112bb565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611287573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166112b257505f9250600191508290506112bb565b92505f91508190505b9450945094915050565b5f8260038111156112d8576112d861166a565b036112e1575050565b60018260038111156112f5576112f561166a565b036113135760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156113275761132761166a565b036113485760405163fce698f760e01b81526004810182905260240161054e565b600382600381111561135c5761135c61166a565b0361137d576040516335e2f38360e21b81526004810182905260240161054e565b5050565b5f60ff8216601f81111561041d57604051632cd44ac360e21b815260040160405180910390fd5b610c4c8061167f83390190565b6001600160a01b03811681146113c9575f5ffd5b50565b5f5f5f606084860312156113de575f5ffd5b83356113e9816113b5565b9250602084013591506040840135611400816113b5565b809150509250925092565b5f5f6040838503121561141c575f5ffd5b8235611427816113b5565b946020939093013593505050565b5f60208284031215611445575f5ffd5b8135610898816113b5565b5f60208284031215611460575f5ffd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f6114b360e0830189611467565b82810360408401526114c58189611467565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561151a5783518352602093840193909201916001016114fc565b50909b9a5050505050505050505050565b5f5f828403608081121561153d575f5ffd5b8335611548816113b5565b92506060601f198201121561155b575f5ffd5b506040516060810181811067ffffffffffffffff8211171561158b57634e487b7160e01b5f52604160045260245ffd5b604052602084013560ff811681146115a1575f5ffd5b81526040848101356020830152606090940135938101939093525092909150565b5f602082840312156115d2575f5ffd5b8151610898816113b5565b5f602082840312156115ed575f5ffd5b5051919050565b8082018082111561041d57634e487b7160e01b5f52601160045260245ffd5b5f8261162d57634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061164657607f821691505b60208210810361166457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfe60e060405234801561000f575f5ffd5b50604051610c4c380380610c4c83398101604081905261002e91610062565b6001600160a01b0392831660805290821660a0521660c0526100ac565b6001600160a01b038116811461005f575f5ffd5b50565b5f5f5f60608486031215610074575f5ffd5b835161007f8161004b565b60208501519093506100908161004b565b60408501519092506100a18161004b565b809150509250925092565b60805160a05160c051610b386101145f395f81816083015261031d01525f8181610109015281816103a001528181610445015281816104c80152818161056a01526105f201525f818161012d015281816101560152818161017d01526106ad0152610b385ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637754305c116100585780637754305c146100ef578063a636c83d14610104578063ad9c74b51461012b578063c262e61d14610151575f5ffd5b806306433b1b1461007e578063504d080b146100c2578063675d628a146100d7575b5f5ffd5b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100ca610178565b6040516100b99190610760565b6100df610319565b60405190151581526020016100b9565b6100f76106a9565b6040516100b991906107e3565b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006100a5565b6100a57f000000000000000000000000000000000000000000000000000000000000000081565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663504d080b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156101d6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101fd91908101906108da565b90505f8151600161020e9190610a20565b67ffffffffffffffff811115610226576102266107fc565b60405190808252806020026020018201604052801561026b57816020015b604080518082019091525f8152606060208201528152602001906001900390816102445790505b5090505f5b82518110156102b85782818151811061028b5761028b610a39565b60200260200101518282815181106102a5576102a5610a39565b6020908102919091010152600101610270565b5060408051808201825230815281516004815260248101909252602082810180516001600160e01b03166333aeb14560e11b17905281019190915282518251839190811061030857610308610a39565b602090810291909101015292915050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610377573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039b9190610a4d565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b35186a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041e9190610a4d565b9050806001600160a01b0316826001600160a01b0316146104425760019250505090565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c39190610a68565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639f6bc70c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610522573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105469190610a4d565b604051631890039360e21b81526001600160a01b0380831660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906362400e4c90602401602060405180830381865afa1580156105af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d39190610a68565b604051631890039360e21b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000016906362400e4c90602401602060405180830381865afa158015610637573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b9190610a68565b6106659190610a20565b90506003610674846002610a7f565b61067e9190610a96565b811161069d576040516324b6d5bf60e21b815260040160405180910390fd5b60019550505050505090565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637754305c6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610706573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072d9190810190610ab5565b905090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156107d757868503603f19018452815180516001600160a01b031686526020908101516040918701829052906107c190870182610732565b9550506020938401939190910190600101610786565b50929695505050505050565b602081525f6107f56020830184610732565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715610833576108336107fc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610862576108626107fc565b604052919050565b6001600160a01b038116811461087e575f5ffd5b50565b5f5f67ffffffffffffffff84111561089b5761089b6107fc565b50601f8301601f19166020016108b081610839565b9150508281528383830111156108c4575f5ffd5b8282602083015e5f602084830101529392505050565b5f602082840312156108ea575f5ffd5b815167ffffffffffffffff811115610900575f5ffd5b8201601f81018413610910575f5ffd5b805167ffffffffffffffff81111561092a5761092a6107fc565b8060051b61093a60208201610839565b91825260208184018101929081019087841115610955575f5ffd5b6020850192505b83831015610a0157825167ffffffffffffffff81111561097a575f5ffd5b85016040818a03601f1901121561098f575f5ffd5b610997610810565b60208201516109a58161086a565b8152604082015167ffffffffffffffff8111156109c0575f5ffd5b60208184010192505089601f8301126109d7575f5ffd5b6109e68a835160208501610881565b6020820152808452505060208201915060208301925061095c565b979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a3357610a33610a0c565b92915050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610a5d575f5ffd5b81516107f58161086a565b5f60208284031215610a78575f5ffd5b5051919050565b8082028115828204841417610a3357610a33610a0c565b5f82610ab057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610ac5575f5ffd5b815167ffffffffffffffff811115610adb575f5ffd5b8201601f81018413610aeb575f5ffd5b610afa84825160208401610881565b94935050505056fea26469706673582212205590283c9f99b8a092e6ddce46a77c5e39974dd0a58b314cb7bcc76b18d17e5e64736f6c634300081b0033a26469706673582212207765c94fd6d91663c005edd7a19416582dd70494a971f7340a3dcf416417c3fa64736f6c634300081b0033";
|
|
4
4
|
/**
|
|
5
5
|
* GovernanceProposer link references.
|
|
6
6
|
*/ export const GovernanceProposerLinkReferences = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f27b76d01cc1ea78ae0c8cf3225eb613b0d972a52d3a043786ec39610b786aef160c05260ae60e05260805160a05160c05160e051615ada6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5b01525f5050615ada5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156fe565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d6565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d6565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ed565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d6565b905060016102a96008856157d6565b6102b391906157d6565b6102bd9082615800565b90506102cb600160296157d6565b6102d59082615800565b905060026102e46001856157ed565b6102ee91906157d6565b6102f89082615800565b90506103056001846157d6565b61030f9082615800565b905061031c6002806157d6565b6103269082615800565b9050610333601082615800565b9392505050565b610342615206565b61034a61175b565b905090565b610357615390565b5f805b60108110156103b957610386868387610374602083615800565b9261038193929190615813565b612096565b835182601081106103995761039961583a565b6020020181815250506020826103af9190615800565b915060010161035a565b506103dd8582866103cb604083615800565b926103d893929190615813565b6120a9565b60208301526103ed604082615800565b90506104008582866103cb604083615800565b6040808401919091526104139082615800565b90506104268582866103cb604083615800565b6060830152610436604082615800565b90506104498582866103cb604083615800565b60c0830152610459604082615800565b905061046c8582866103cb604083615800565b60e083015261047c604082615800565b905061048f8582866103cb604083615800565b608083015261049f604082615800565b90506104b28582866103cb604083615800565b6101008301526104c3604082615800565b90506104d68582866103cb604083615800565b60a08301526104e6604082615800565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615800565b84610120015183601c81106105255761052561583a565b6020020151826008811061053b5761053b61583a565b6020020181815250506020836105519190615800565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615800565b83610140015182602981106105985761059861583a565b6020020181815250506020826105ae9190615800565b9150600101610567565b505f5b6105c66001856157ed565b81101561060f576105de8683876103cb604083615800565b83610160015182601b81106105f5576105f561583a565b6020020152610605604083615800565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615800565b83610180015182601c81106106425761064261583a565b6020020181815250506020826106589190615800565b9150600101610612565b506106748582866103cb604083615800565b6101a0830152610685604082615800565b90506106988582866103cb604083615800565b6101c0830152509392505050565b6106ae615440565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461232c565b604084019190915290506106f58882856123bb565b60608401919091529050610709888261248f565b6080840191909152905061071e88828561251a565b60a0840191909152905061073388828561268e565b60c084019190915290506107478882612752565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615800565b61278f565b6127a7565b6127c2565b90505f6107a38761079e8a61077b6107768b6001615800565b6127db565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561083f575f6107fc8c83815181106107ef576107ef61583a565b6020026020010151612803565b905061080c8661077b86846127c2565b955061081c8561077b85846127c2565b9450610828848b6127c2565b9350610834838b6127db565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583a565b602002015190506108738661077b86846127c2565b95506108838561077b85846127c2565b945061088f848b6127c2565b935061089b838b6127db565b925050600101610842565b506108b18484612818565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583a565b602002015190505f6109178286612826565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583a565b6020020151905061095f8382612846565b9550610986886040015185601c811061097a5761097a61583a565b602002015186836129f5565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a20565b90508281145b9695505050505050565b5f6109c9615499565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a99565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615800565b610a31906002615800565b6001600160401b03811115610a4857610a4861584e565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615800565b610aab906002615800565b6001600160401b03811115610ac257610ac261584e565b604051908082528060200260200182016040528015610afb57816020015b610ae8615509565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583a565b60200260200101516127db565b612b62565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583a565b60200260200101516127c2565b610140850181905261012085015160c0880151610b829261078091906127a7565b845260a0860151610bb290610b9690612b62565b61077b86610120015161079e8a60c001518961014001516127a7565b6020850152815160019083905f90610bcc57610bcc61583a565b602002602001018181525050876101a00151815f81518110610bf057610bf061583a565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd2565b60408501526020840151610c2690612bd2565b606085015260015b60248111610cd157610c4885604001518660a001516127a7565b838281518110610c5a57610c5a61583a565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ed565b60298110610c9457610c9461583a565b60200201518860a001516127a7565b60c086015260a08501516080880151610cbc91906127a7565b60a0860152610cca81615862565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615800565b90505f610cf7602484615800565b9050610d28858381518110610d0e57610d0e61583a565b602002602001015161078089606001518a60a001516127a7565b858381518110610d3a57610d3a61583a565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583a565b60200201518a60a001516127a7565b60c088015260a087015160808a0151610d9091906127a7565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583a565b6020026020010181905250866080015181600281518110610ddb57610ddb61583a565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583a565b60200260200101819052508660c0015181600481518110610e2157610e2161583a565b60200260200101819052508660e0015181600581518110610e4457610e4461583a565b602002602001018190525086610100015181600681518110610e6857610e6861583a565b602002602001018190525086610120015181600781518110610e8c57610e8c61583a565b602002602001018190525086610140015181600881518110610eb057610eb061583a565b602002602001018190525086610160015181600981518110610ed457610ed461583a565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583a565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583a565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583a565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583a565b602002602001018190525086610200015181600e81518110610f8857610f8861583a565b602002602001018190525086610220015181600f81518110610fac57610fac61583a565b602002602001018190525086610240015181601081518110610fd057610fd061583a565b602002602001018190525086610260015181601181518110610ff457610ff461583a565b6020026020010181905250866102800151816012815181106110185761101861583a565b6020026020010181905250866102a001518160138151811061103c5761103c61583a565b6020026020010181905250866102c00151816014815181106110605761106061583a565b6020026020010181905250866102e00151816015815181106110845761108461583a565b6020026020010181905250866103000151816016815181106110a8576110a861583a565b6020026020010181905250866103200151816017815181106110cc576110cc61583a565b6020026020010181905250866103400151816018815181106110f0576110f061583a565b6020026020010181905250866103600151816019815181106111145761111461583a565b602002602001018190525086610380015181601a815181106111385761113861583a565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583a565b6020026020010181905250866103c0015181601c815181106111805761118061583a565b6020026020010181905250876020015181601d815181106111a3576111a361583a565b6020026020010181905250876040015181601e815181106111c6576111c661583a565b6020026020010181905250876060015181601f815181106111e9576111e961583a565b602002602001018190525087608001518160208151811061120c5761120c61583a565b60200260200101819052508760a001518160218151811061122f5761122f61583a565b6020026020010181905250876101000151816022815181106112535761125361583a565b60200260200101819052508760c00151816023815181106112765761127661583a565b60200260200101819052508760e00151816024815181106112995761129961583a565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be4565b9050611309815f815181106112f6576112f661583a565b60200260200101518661012001516127a7565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a7565b8861014001516127a7565b608086015260c087015161134d90612d42565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561157c576113af610b288960e001518784600161139f9190615800565b81518110610b1b57610b1b61583a565b61012087015260e08801516113de90610b2890876113ce856001615800565b81518110610b5457610b5461583a565b61014087015260a08601516101208701516113f991906127a7565b61016087015260a086015160c089015161142191611416916127a7565b8761014001516127a7565b61018087018190526114449061143690612bd2565b610780886101600151612bd2565b848261145260246001615800565b61145c9190615800565b8151811061146c5761146c61583a565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615800565b601c81106114a5576114a561583a565b60200201516127a7565b90506114e981610780896101600151868660016114cc9190615800565b815181106114dc576114dc61583a565b60200260200101516127a7565b90506114f98760800151826127c2565b608088015260a087015160c08a015161151f91611515916127a7565b8a60c001516127a7565b60a08801526101608b015182601b811061153b5761153b61583a565b6020020151848361154e60246001615800565b6115589190615800565b815181106115685761156861583a565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615800565b815181106115ce576115ce61583a565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615800565b8151811061161a5761161a61583a565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615800565b611663906001615800565b815181106116735761167361583a565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615800565b6116ba906001615800565b815181106116ca576116ca61583a565b6020026020010181815250505f6116e18486612d4d565b90505f6116ed83612e5d565b90505f6116fe8d5f01518484612ea3565b90505f5f61170e8f5f0151612f19565b9150915061171b82612fda565b61172481612fda565b61172f858385613079565b945061173c848285613079565b9350611748858561309f565b9f9e505050505050505050505050505050565b611763615206565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a7a72ab9c84ba85f7ce248d1e95b0301cf033b758bd8698a46f42bfe080c2281527f026797cc7f4108e8a73b79af8afdf37a8a248ea568a0a73af5552415ab1654f5818301526060830152825180840184527f2955230171649b265519608f34cd6493ce24270b068dbb0ecadf423e1ceb197f81527f2aae76193862c0eb16aefa9e9c19c145f027d2782300bb15de6f490b4dfb8921818301526080830152825180840184527f293f2002fb518146b8b4126c58d6eab1c0bd92dc1aa9836548df4b2b84fd63fa81527f0e428717bcb646448cb750da71236a418cc62134862b2900241189fc310eaef18183015260a0830152825180840184527f01769432c893e80a29ba5b1cc058a9941ea87737cfb0f23e2987573aa16b33d381527f21c127a4f597cbdae9e3970781eff9da45aff9e62e053293771af654f12a0b498183015260c0830152825180840184527f2af347c8f9b40f82a2cb7fd3e6b96e53c18ab2253fc3915b8be72c3bae177d1c81527f0bde59fa4bf2a21e94a0cc0e8ee5377496f9827c04c1e7819a147e318a2ae0b38183015260e0830152825180840184527f2953162287652ce150786cfffba3a968b4e5d378f5ec5e0d9e8274797e14de0881527f20cd82ffa9d903fc21a1c1fe28abfa5673ccef0c8a5aa59df119e0805efdfc3d81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f15dcbe0db3d034c82c80400ac7f3aa53a42e5d1dedbd0704ce11bc4d71e9895981527f1bc74a76a98e11deccb2bce4eee40f9e73b3b30454e5db4d6476c55126acce2181830152610140830152825180840184527f0871168649cbc0441f1234995e5353f04b724ad2a8b0755dd802cd879043c16981527f302c06c3fe3aee1157d48876d8b12e06c0f849d66438c03fa6cabc8756ba284781830152610160830152825180840184527f29f7acf34b95134f31724e86315a45176f8f8e8a0d98e09e78ce53f3175bcb7181527f18c048e35e4d5443a9a5c6d8688d640f4b4b413548d377cd5c8b9f5ed67f8d3081830152610180830152825180840184527f12ca84fbf9f5c8283e0007c1c44eef4769f180606b248e4e441662be57a65ae081527f0f3b92564b6a4235346bef1407f901c64b45ac0aeee560f87113dcea9fe04b3f818301526101a0830152825180840184527f08660ce1208402729f1946036ac74322a052c4eb2f2fa87ee1924ae3987c268781527f129c97fef6c35c522a19f0e249d5fbdcff853c008b3f1f1205f63fdc46e32e89818301526101c0830152825180840184527f0ea3262373e20232c5d6a21dc2a4531361fd912dc91f0ece8b457495d368607081527f29152a83b2e1a9df18312a8ca62cebb78eec479741bbdbad019c774c2b2edf6d818301526101e0830152825180840184527f06e149274cf33818b12d07803a7148c574bfdade407e0f0342e225f7ab1ce7ca81527f243d93cc233615be9cc6ee05a5dff4d4f4b6a04675115764a12b857fb33b4af481830152610200830152825180840184527f28523d76ae8dd9f19edb5766cac5f959b4495ea1a5b2af3e885a59d0b746974e81527f16bb162ffeb0fd1dbd92eb082c0c404627629df624f118c11c29909b0d91c26081830152610220830152825180840184527f1c2ec4d7f9d65b8aacd953e0cc0a62bc1121cd5e41ea445394298d1f30cefead81527f24a7128bd403b543cb8b64a1b8b5bd81a4ea5309722bbf352624cf76844f4e8f81830152610240830152825180840184527f07196b86b0b3bf50024c6eac810fe07444033e33ab9f8c9a0cf9dec88316fb5d81527f2b3d64053f1b282f649893b4e42fcf7cb3fa38703f68871e355c29c02ab380c581830152610260830152825180840184527f0b1af30b3dd63ae4616f72b0372f938bd06ad5ba9a0f9c2fb46ccab8a9f16ab381527f286d5d8510c8d044701ec5f03621a131636a6e29384624ecf91ec4d92e0ede9d81830152610280830152825180840184527ebe0277c5bcaaa1e0bca92f1a2aa4dcdd36f41fbdb2698046ad0aa896c6852381527f30071c99b0ddf3463adbfab2aeb1424ff3f179114bbc63a04c02141223d25080818301526102a0830152825180840184527f18feb8b9442ea3cefee50d6393936678e2ed825ea2719956c68c94d79563defe81527f238c1be2d6bd7fd7c24912ac29b73389a3ba43113d0b93e7648ab46e6faca63d818301526102c0830152825180840184527f16f8ef9cd9196f016ee08c94814ebacefdabbb226d658d9afca44053b5bcb93b81527f249ebd3951a4677df874b8425fdda032ae309f9884e5fa4f8540a03082742c2c818301526102e0830152825180840184527f2b6a8fb05374f12129a2ab44aa31da8fdb3738502d8d3b3d5b520b7174a4410b81527f1654d0d283ce14dac4a7a763cd36788e5ade3b281b970552480cac0013aadf1881830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f19d2fe7fafa2b39b777720b870d7ad825dabf6f520a462e65a7d7385a60b36e983527f089d0b1ec26396c39d17274a132ac640da654fb818ae72bd30185240dec588d9908301526103c081019190915290565b5f6103336120a4838561587a565b612803565b6120b1615509565b60408051808201909152805f516020615a9a5f395f51905f526120d760205f8789615813565b6120e09161587a565b6120ea91906158ab565b81526020908101905f516020615a9a5f395f51905f529061210f906040908789615813565b6121189161587a565b61212291906158ab565b90529392505050565b612133615521565b5f6121418888888888613293565b6040860191909152602085019190915290835292506121608389613590565b6080850191909152606084019190915291989197509095505050505050565b612187615551565b5f612190615570565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016158be565b60405160208183030381529060405280519060200120612803565b91506121fe82613617565b6020850152835260015b60026122166001601c6157ed565b61222091906158f1565b8110156122a05761223d836040516020016121d891815260200190565b925061224883613617565b856122548460026157d6565b601b81106122645761226461583a565b60200201866122748560026157d6565b61227f906001615800565b601b811061228f5761228f61583a565b602002019190915252600101612208565b506122ad6001601c6157ed565b60011660011480156122ca575060026122c86001601c6157ed565b115b15612324576122e5826040516020016121d891815260200190565b91505f6122f183613617565b8560016122ff81601c6157ed565b61230991906157ed565b601b81106123195761231961583a565b602002019190915250505b509250929050565b61233461558e565b5f61234b846040516020016121d891815260200190565b935061235684613617565b50825260015b838110156123b357612394836123736001846157ed565b601c81106123835761238361583a565b6020020151846114956001856157ed565b8382601c81106123a6576123a661583a565b602002015260010161235c565b509093915050565b6123c361558e565b5f805b83811015612485576123d66155ad565b8581525f5b600881101561243f5787610120015183601c81106123fb576123fb61583a565b602002015181600881106124115761241161583a565b602002015182612422836001615800565b600981106124325761243261583a565b60200201526001016123db565b50612454816040516020016121d89190615904565b95505f61246087613617565b8685601c81106124725761247261583a565b60200201919091525050506001016123c6565b5090949293505050565b5f5f6124996155cc565b8381525f5b60298110156124ec5785610140015181602981106124be576124be61583a565b6020020151826124cf836001615800565b602a81106124df576124df61583a565b602002015260010161249e565b50612501816040516020016121d89190615938565b91505f61250d83613617565b5096929550919350505050565b5f80806125286001856157ed565b6125339060026157d6565b61253e906001615800565b6001600160401b038111156125555761255561584e565b60405190808252806020026020018201604052801561257e578160200160208202803683370190505b50905084815f815181106125945761259461583a565b60209081029190910101525f5b6125ac6001866157ed565b81101561265f5786610160015181601b81106125ca576125ca61583a565b602002015151826125dc8360026157d6565b6125e7906001615800565b815181106125f7576125f761583a565b60200260200101818152505086610160015181601b811061261a5761261a61583a565b6020020151602001518282600261263191906157d6565b61263c906002615800565b8151811061264c5761264c61583a565b60209081029190910101526001016125a1565b50612674816040516020016121d8919061596c565b91505f61268083613617565b509792965091945050505050565b5f808061269c846001615800565b6001600160401b038111156126b3576126b361584e565b6040519080825280602002602001820160405280156126dc578160200160208202803683370190505b50905084815f815181106126f2576126f261583a565b60209081029190910101525f5b8481101561265f5786610180015181601c811061271e5761271e61583a565b60200201518261272f836001615800565b8151811061273f5761273f61583a565b60209081029190910101526001016126ff565b5f5f61275c6155eb565b8381526101a08501805151602080840191909152905181015160408084019190915251612501916121d8918491016159a1565b5f5f516020615aba5f395f51905f52825b0692915050565b5f5f516020615aba5f395f51905f5282840990505b92915050565b5f5f516020615aba5f395f51905f528284089392505050565b5f5f516020615aba5f395f51905f52825f516020615aba5f395f51905f520384089392505050565b5f5f516020615aba5f395f51905f52826127a0565b5f6103338361077b84612b62565b815160208301515f91829161283b91906127c2565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292d576129238261077b87846127db565b915060010161290c565b50612936615609565b5f5b6008811015612997575f8482600881106129545761295461583a565b602002015190506129698161077b89856127db565b905061297481612b62565b9050808383600881106129895761298961583a565b602002015250600101612938565b505f5b60088110156129ea575f8782600881106129b6576129b661583a565b602002015190506129d3818484600881106114a5576114a561583a565b90506129df86826127c2565b95505060010161299a565b506109b684836127a7565b5f5f612a0b60016107808561077b8960016127db565b9050612a1784826127a7565b95945050505050565b5f612a2961558e565b612a34868285613647565b612a40868683866137f3565b612a4c868683866139df565b612a57868285613c0a565b612a62868285613dfe565b612a6e86868386614147565b612a798682856145f3565b612a84868285614a05565b612a8f868285614dc6565b6109b681856150c6565b60605f826001600160401b03811115612ab457612ab461584e565b604051908082528060200260200182016040528015612add578160200160208202803683370190505b50905083815f81518110612af357612af361583a565b602090810291909101015260015b83811015612b5a57612b3582612b186001846157ed565b81518110612b2857612b2861583a565b6020026020010151612d42565b828281518110612b4757612b4761583a565b6020908102919091010152600101612b01565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615aba5f395f51905f520360808201525f516020615aba5f395f51905f5260a082015260205f60c08360055afa80612bbe575f5ffd5b505f51608091909101604052949350505050565b5f516020615aba5f395f51905f520390565b60605f826001600160401b03811115612bff57612bff61584e565b604051908082528060200260200182016040528015612c28578160200160208202803683370190505b509050825b8015612d37575f85612c406001846157ed565b81518110612c5057612c5061583a565b602002602001015190505f89600184612c6991906157ed565b601c8110612c7957612c7961583a565b602002015190505f612cd4612c98612c91858d6127a7565b60026127a7565b61079e8b612ca76001896157ed565b601c8110612cb757612cb761583a565b602002015161077b612cce8861077b60018a6127db565b876127db565b9050612cf58161077b610b28612cef8761077b6001896127db565b866127c2565b99508990508085612d076001876157ed565b81518110612d1757612d1761583a565b60200260200101818152505050505080612d30906159d4565b9050612c2d565b509695505050505050565b5f6127bc82836127a7565b612d55615509565b5f612d817f00000000000000000000000000000000000000000000000000000000000000006024615800565b612d8c906002615800565b90505f5b81811015612dc257612dba858281518110612dad57612dad61583a565b6020026020010151612fda565b600101612d90565b50604051600190815b60018401811015612e275760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcb565b5080518452602081015160208501525080612e55576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e65615509565b5f516020615a9a5f395f51905f5282602001515f516020615a9a5f395f51905f52612e9091906157ed565b612e9a91906158ab565b60208301525090565b5f5f5f612eaf86612f19565b91509150612ebb615609565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0e916121d8918491016159e9565b979650505050505050565b612f21615509565b612f29615509565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9a5f395f51905f528380095f516020615a9a5f395f51905f5260035f516020615a9a5f395f51905f52838709085f516020615a9a5f395f51905f5284850914915050806130735760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613081615509565b613089615509565b613093838661511f565b9050612a178185615175565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132359190615a1d565b5f60405180830381855afa9150503d805f811461326d576040519150601f19603f3d011682016040523d82523d5f602084013e613272565b606091505b50915091508180156109b65750808060200190518101906109b69190615a33565b5f808080806132a3866001615800565b6132ae906006615800565b6001600160401b038111156132c5576132c561584e565b6040519080825280602002602001820160405280156132ee578160200160208202803683370190505b509050865f1b815f815181106133065761330661583a565b60209081029190910101525f5b61331e6010886157ed565b81101561336f578989828181106133375761333761583a565b905060200201358282600161334c9190615800565b8151811061335c5761335c61583a565b6020908102919091010152600101613313565b505f5b60108110156133e0578a5161339a9082601081106133925761339261583a565b602002015190565b828260106133a98b6001615800565b6133b391906157ed565b6133bd9190615800565b815181106133cd576133cd61583a565b6020908102919091010152600101613372565b5060208a015151816133f3886001615800565b815181106134035761340361583a565b6020908102919091018101919091528a810151015181613424886001615800565b61342f906001615800565b8151811061343f5761343f61583a565b602090810291909101015260408a0151518161345c886001615800565b613467906002615800565b815181106134775761347761583a565b60209081029190910181019190915260408b0151015181613499886001615800565b6134a4906003615800565b815181106134b4576134b461583a565b602090810291909101015260608a015151816134d1886001615800565b6134dc906004615800565b815181106134ec576134ec61583a565b60209081029190910181019190915260608b015101518161350e886001615800565b613519906005615800565b815181106135295761352961583a565b602002602001018181525050613549816040516020016121d8919061596c565b915061355482613617565b604080516020810186905292975090955061356f91016121d8565b91505f61357b83613617565b50959b949a5094985090965091945050505050565b5f5f5f61359b615628565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fd916121d891849101615a52565b915061360882613617565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363282612803565b945061363d81612803565b9350505050915091565b5f6136538460076151d6565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b46136ae6136888560036127db565b61077b6136a36136988b5f6151d6565b61077b8c601d6151d6565b61077b8b601c6151d6565b836127a7565b905061373561372a6137116136f86136df856107806136d48d60026151d6565b61077b8e601c6151d6565b6107806136ed8c60036151d6565b61077b8d601d6151d6565b6107806137068b60046151d6565b61077b8c601e6151d6565b61078061371f8a60056151d6565b61077b8b601f6151d6565b6107808860016151d6565b9050613754816107806137498660016127db565b61077b8a60276151d6565b905061376081846127a7565b905061376c81856127a7565b8552505f90506137a661379c61379161378688601c6151d6565b61078089601f6151d6565b61079e8860246151d6565b610780875f6151d6565b90506137b78161077b8460026127db565b90506137c88161077b8460016127db565b90506137d481836127a7565b90506137e081846127a7565b9050808460015b60200201525050505050565b5f5f5f61382961381f61380789601c6151d6565b6107806138158b60126151d6565b8a606001516127a7565b87608001516127c2565b90506138628161077b6138586138408b601d6151d6565b61078061384e8d60136151d6565b8c606001516127a7565b89608001516127c2565b90506138878161077b6138586138798b601e6151d6565b61078061384e8d60146151d6565b90506138ac8161077b61385861389e8b601f6151d6565b61078061384e8d60156151d6565b92505f90506138d061381f6138c289601c6151d6565b6107806138158b600e6151d6565b90506138f58161077b6138586138e78b601d6151d6565b61078061384e8d600f6151d6565b905061391a8161077b61385861390c8b601e6151d6565b61078061384e8d60106151d6565b905061393f8161077b6138586139318b601f6151d6565b61078061384e8d60116151d6565b91505f90506139666139606139558960206151d6565b6107808a601a6151d6565b846127a7565b905061399b8161079e61399561397d8b60286151d6565b61078061398b8d601b6151d6565b8c60a001516127a7565b856127a7565b90506139a781856127a7565b6040860152505f6139ca6139956139bf89601b6151d6565b61077b8a60286151d6565b9050808560035b602002015250505050505050565b5f5f613a3d613a25613a0d6139f86138588a60166151d6565b610780613a068b60176151d6565b8a516127a7565b610780613a1b8a60186151d6565b89602001516127a7565b610780613a338960196151d6565b88604001516127a7565b91505f613a74613a5b613a5189601c6151d6565b88608001516127c2565b610780613a698a60036151d6565b61077b8b60246151d6565b90505f613a9d613a8589601d6151d6565b610780613a928b5f6151d6565b61077b8c60256151d6565b90505f613ac7613aae8a601e6151d6565b610780613abc8c60016151d6565b61077b8d60266151d6565b9050613b06613aee613ae085610780868d5f01516127a7565b610780848c602001516127a7565b610780613afc8c60046151d6565b8b604001516127a7565b93505050505f613b1a6139608860216151d6565b90505f613b2b6139608960216151d6565b90505f613b63613b4a613b3f8b60236151d6565b6107808c60066151d6565b61079e613b588c60236151d6565b61077b8d60066151d6565b90505f613b87613b81613b7687896127a7565b61077b8d60216151d6565b836127db565b9050613b9381886127a7565b90505f613bbb613bad613ba78d60066151d6565b876127a7565b61079e613ba78e60226151d6565b90505f613bc98c60236151d6565b90505f613bd9613b8183846127a7565b60808c0185905260a08c018490529050613bf3818b6127a7565b8b6006602002015250505050505050505050505050565b5f613c165f60016127db565b90505f613c245f60026127db565b90505f613c325f60036127db565b90505f613c4e613c4388601d6151d6565b61079e89601c6151d6565b90505f613c6a613c5f89601e6151d6565b61079e8a601d6151d6565b90505f613c86613c7b8a601f6151d6565b61079e8b601e6151d6565b90505f613ca2613c978b60246151d6565b61079e8c601f6151d6565b905083613cb38161077b818b6127c2565b9050613cc38161077b878a6127c2565b9050613cd38161077b87896127c2565b9050613ce48161077b8d60086151d6565b9050613cf0818a6127a7565b60e08b01525082613d058161077b818b6127c2565b9050613d158161077b868a6127c2565b9050613d258161077b86896127c2565b9050613d368161077b8d60086151d6565b9050613d42818a6127a7565b6101008b01525081613d588161077b818b6127c2565b9050613d688161077b858a6127c2565b9050613d788161077b85896127c2565b9050613d898161077b8d60086151d6565b9050613d95818a6127a7565b6101208b01525080613dab8161077b818b6127c2565b9050613dbb8161077b848a6127c2565b9050613dcb8161077b84896127c2565b9050613ddc8161077b8d60086151d6565b9050613de8818a6127a7565b610140909a019990995250505050505050505050565b613e376040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4284601d6151d6565b8152613e4f84601e6151d6565b6020820152613e5f8460246151d6565b6040820152613e6f8460276151d6565b6060820152613e7f8460266151d6565b6080820152613e8f8460256151d6565b60a08201525f613ea08560026151d6565b90505f613ead865f6151d6565b90505f613ec18460400151855f01516127db565b90505f613ed6856020015186602001516127a7565b606086015190915086905f90613eec90806127a7565b90505f613f0a613f0489602001518a606001516127a7565b886127a7565b90505f613f29613f228a60a001518b604001516127c2565b8a516127c2565b9050613f38613ba782886127a7565b9050613f5f613f59613f53613f4d84876127db565b886127db565b846127c2565b836127c2565b9050613f87613f7c613f7183876127a7565b61077b8f60096151d6565b61077b60018a6127db565b6101608c015250505050602085015160808601515f91613fa6916127c2565b90505f613fc4613fba8860600151886127a7565b88602001516127db565b90505f613fe8613fd484876127a7565b6107806139958b60a001518c5f01516127db565b9050614010614005613ffa838c6127a7565b61077b8e60096151d6565b61077b6001896127db565b6101808b0152505f9150614031905061402a8360116127c2565b87516127a7565b90505f61403e83846127c2565b905061404a81826127c2565b90505f6140588360096127a7565b905061408161407b6139606140748b60a001518c5f01516127c2565b8b516127c2565b826127db565b60c089018190525f9061409c90613f0490613f71908d6127a7565b90506140af8b600b6020020151826127c2565b6101608c0152505086515f92506140d6915061402a906140cf90806127c2565b88516127c2565b90505f6141166140f18361077b8a5f01518b60a001516127db565b602089015161079e9061410490806127c2565b61077b8b602001518c608001516127c2565b905061413389600c6020020151610780613f04613f71858d6127a7565b89600c602002015250505050505050505050565b6141b1604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141c96141bf86601e6151d6565b85604001516127a7565b8082526141e8906107806141de88601d6151d6565b87602001516127a7565b8082526141fd9061078061402a88601c6151d6565b80825261420f906107808760016151d6565b808252602082018190526142289061079e87601f6151d6565b81526142436142388660246151d6565b61079e87601c6151d6565b60808201526142616142568660276151d6565b61079e87601f6151d6565b6060820152608081015161427a9061077b8160016127db565b6101c082015260808101516142ba906142b0906142a99061077b60015f516020615aba5f395f51905f526157ed565b60016127c2565b82606001516127a7565b60a082018190526142f0906142e29061077b6142d78960026151d6565b61077b8a60036151d6565b61077b61399588600a6151d6565b83600e60200201526101c0810151614314906142e29061077b6142d78960026151d6565b6101e084015280516143399061077b61432e8860026151d6565b61077b8960036151d6565b6101208201525f61435861434e87601f6151d6565b83602001516127db565b90506143698161077b8360016127db565b60e083015261438661437c8760266151d6565b86604001516127a7565b604083018190526143a99061078061439f8960256151d6565b88602001516127a7565b604083018190526143c9906107806143c28960246151d6565b88516127a7565b60408301526143e66143dc8760276151d6565b83604001516127db565b60408301525f6144056143fa8860266151d6565b61079e89601e6151d6565b90506144576144326136ae6142a9866080015160015f516020615aba5f395f51905f5261077b91906157ed565b61077b6142a9866040015160015f516020615aba5f395f51905f5261077b91906157ed565b60c084015260408301516144799061446f90806127a7565b84604001516127db565b61010084015260c08301516144a5906144979061077b8a60046151d6565b61077b613ba78a600a6151d6565b6102008601526101c08301516144c4906144979061077b8a60046151d6565b6102208601526101008301516144e3906144979061077b8a60046151d6565b61024086015260e08301516144fd9061077b8960046151d6565b61014084015261451c6145118860256151d6565b61079e89601d6151d6565b610160840152608083015161455a906143fa9061454f906142a99061077b60015f516020615aba5f395f51905f526157ed565b8561016001516127a7565b61018084018190526101208401516101a08501819052614591916107809061077b6145868c60056151d6565b61077b8d60026151d6565b6101a0840181905283516145b191906107809061077b6145868c5f6151d6565b6101a084018190526101408401516145c991906127c2565b6101a084018190526145e39061077b613ba78a600a6151d6565b6101a0840181905285600d6139d1565b61462c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466161464861463d86601c6151d6565b61077b8760256151d6565b6107806146568760246151d6565b61077b88601d6151d6565b81526146a661469b61468261467787601c6151d6565b61077b88601f6151d6565b61078061469088601d6151d6565b61077b89601e6151d6565b61079e8660266151d6565b604082018190526146bb90600160441b6127a7565b604082018190526146d19061079e8660276151d6565b6040820181905281516146e491906127c2565b604082018190526146fa9061077b8660056151d6565b6040820152805161470f90600160441b6127a7565b80825261472f906107806147248760246151d6565b61077b8860256151d6565b808252602082018190526147569061079e61474b87601e6151d6565b61078088601f6151d6565b6020820181905261476c9061077b8660046151d6565b60208201528051606082018190526147899061078086601f6151d6565b606082018190526147ad9061079e6147a28760266151d6565b6107808860276151d6565b606082018190526147c29061077b865f6151d6565b8160600181815250505f6147eb6147e1836020015184604001516127c2565b83606001516127c2565b90506147fc8161077b8760036151d6565b905061481461480c8660256151d6565b6140006127a7565b6080830181905261482a906107808760246151d6565b6080830181905261483d906140006127a7565b608083018190526148539061078087601e6151d6565b60808301819052614866906140006127a7565b6080830181905261487c9061078087601d6151d6565b6080830181905261488f906140006127a7565b608083018190526148a59061078087601c6151d6565b608083018190526148bb9061079e87601f6151d6565b608083018190526148d19061077b8760056151d6565b60808301526148e461480c8660266151d6565b60a083018190526148fa906107808760256151d6565b60a0830181905261490d906140006127a7565b60a08301819052614923906107808760246151d6565b60a08301819052614936906140006127a7565b60a0830181905261494c9061078087601f6151d6565b60a0830181905261495f906140006127a7565b60a083018190526149759061078087601e6151d6565b60a0830181905261498b9061079e8760276151d6565b60a083018190526149a09061077b875f6151d6565b60a0830181905260808301515f916149b891906127c2565b90506149c98161077b8860046151d6565b90506149d582826127c2565b60c084018190526149ee9061077b613ba789600b6151d6565b60c084018190528560136020020152505050505050565b614a7b6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a94614a8985601c6151d6565b6107808660026151d6565b8152614aaf614aa485601d6151d6565b6107808660036151d6565b6020820152614acd614ac285601e6151d6565b6107808660046151d6565b6040820152614aeb614ae085601f6151d6565b6107808660056151d6565b60608201528051614b1d90614b1690614b0f90614b0890806127a7565b84516127a7565b83516127a7565b82516127a7565b60808201526020810151614b5b90614b5190614b4790614b3d90806127a7565b84602001516127a7565b83602001516127a7565b82602001516127a7565b60a08201526040810151614b9990614b8f90614b8590614b7b90806127a7565b84604001516127a7565b83604001516127a7565b82604001516127a7565b60c08201526060810151614bcd906142b090614bc390614bb990806127a7565b84606001516127a7565b83606001516127a7565b60e0820152608081015160a0820151614be691906127c2565b61010082015260c081015160e0820151614c0091906127c2565b61012082015260a0810151614c2490614c1990806127c2565b8261012001516127c2565b61014082015260e0810151614c4890614c3d90806127c2565b8261010001516127c2565b610160820152610120810151614c5e90806127c2565b6101e08201819052614c7f90614c7490806127c2565b8261016001516127c2565b6101e0820152610100810151614c9590806127c2565b6101a08201819052614cb690614cab90806127c2565b8261014001516127c2565b6101a08201819052610160820151614ccd916127c2565b6101808201526101408101516101e0820151614ce991906127c2565b6101c0820152614cfd6136ae85600c6151d6565b6102008201819052610280840151610180830151614d28926107809161077b9061079e8a60246151d6565b8360146020020152614d58836015602002015161078083610200015161077b856101a0015161079e8a60256151d6565b8360156020020152614d88836016602002015161078083610200015161077b856101c0015161079e8a60266151d6565b8360166020020152614db8836017602002015161078083610200015161077b856101e0015161079e8a60276151d6565b836017602002015250505050565b614e186040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4d7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278f565b8152602001614e7b7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278f565b8152602001614ea87e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278f565b8152602001614ed67f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278f565b90529050614ef3614ee886601c6151d6565b6107808760026151d6565b6101208301819052614f3290614f2790614f1c90614f1190806127a7565b8561012001516127a7565b8461012001516127a7565b8361012001516127a7565b8252614f3f85601d6151d6565b6020830152614f4f85601e6151d6565b6040830152614f5f85601f6151d6565b606083015281516020830151614f87916147e191614f7d91906127c2565b84604001516127c2565b6080830152614f9a61396086600d6151d6565b6101408301528151614fbb90614fb190835f6114a5565b83608001516127c2565b60a0830152614fe7846018602002015161078084610140015161077b8660a0015161079e8b60246151d6565b610300850152602082015161500290614fb1908360016114a5565b60c083015261502e846019602002015161078084610140015161077b8660c0015161079e8b60256151d6565b610320850152604082015161504990614fb1908360026114a5565b60e083015261507584601a602002015161078084610140015161077b8660e0015161079e8b60266151d6565b610340850152606082015161509090614fb1908360036114a5565b6101008301526150be84601b602002015161078084610140015161077b86610100015161079e8b60276151d6565b84601b6137e7565b815160015b601c8110156151185761510e826107808684601c81106150ed576150ed61583a565b6020020151866150fe6001876157ed565b601b81106114a5576114a561583a565b91506001016150cb565b5092915050565b615127615509565b61512f615509565b604051835181526020840151602082015284604082015260408160608360075afa80615159575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517d615509565b615185615509565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151ba575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ea576151ea615a85565b602981106151fa576151fa61583a565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522c615509565b8152602001615239615509565b8152602001615246615509565b8152602001615253615509565b8152602001615260615509565b815260200161526d615509565b815260200161527a615509565b8152602001615287615509565b8152602001615294615509565b81526020016152a1615509565b81526020016152ae615509565b81526020016152bb615509565b81526020016152c8615509565b81526020016152d5615509565b81526020016152e2615509565b81526020016152ef615509565b81526020016152fc615509565b8152602001615309615509565b8152602001615316615509565b8152602001615323615509565b8152602001615330615509565b815260200161533d615509565b815260200161534a615509565b8152602001615357615509565b8152602001615364615509565b8152602001615371615509565b815260200161537e615509565b815260200161538b615509565b905290565b604051806101e001604052806153a4615646565b81526020016153b1615509565b81526020016153be615509565b81526020016153cb615509565b81526020016153d8615509565b81526020016153e5615509565b81526020016153f2615509565b81526020016153ff615509565b815260200161540c615509565b8152602001615419615665565b8152602001615426615693565b81526020016154336156b2565b815260200161537161558e565b604051806101000160405280615454615521565b8152602001615461615551565b815260200161546e61558e565b815260200161547b61558e565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d76156e0565b81526020016154e46156e0565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567d615609565b8152602001906001900390816156755790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156ca615509565b8152602001906001900390816156c25790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615711575f5ffd5b84356001600160401b03811115615726575f5ffd5b8501601f81018713615736575f5ffd5b80356001600160401b0381111561574b575f5ffd5b87602082840101111561575c575f5ffd5b6020918201955093508501356001600160401b0381111561577b575f5ffd5b8501601f8101871361578b575f5ffd5b80356001600160401b038111156157a0575f5ffd5b8760208260051b84010111156157b4575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bc576127bc6157c2565b818103818111156127bc576127bc6157c2565b808201808211156127bc576127bc6157c2565b5f5f85851115615821575f5ffd5b8386111561582d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615873576158736157c2565b5060010190565b803560208310156127bc575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158b9576158b9615897565b500690565b5f8183825b60058110156158e25781518352602092830192909101906001016158c3565b50505060a08201905092915050565b5f826158ff576158ff615897565b500490565b5f8183825b6009811015615928578151835260209283019290910190600101615909565b5050506101208201905092915050565b5f8183825b602a81101561595c57815183526020928301929091019060010161593d565b5050506105408201905092915050565b81515f90829060208501835b82811015615996578151845260209384019390910190600101615978565b509195945050505050565b5f8183825b60038110156159c55781518352602092830192909101906001016159a6565b50505060608201905092915050565b5f816159e2576159e26157c2565b505f190190565b5f8183825b6008811015615a0d5781518352602092830192909101906001016159ee565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a43575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a76578151835260209283019290910190600101615a57565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f21181792f6a1438a78b4483c74ebad1e2c887b84245fedfdc5695dc401dfee4b60c05260ae60e05260805160a05160c05160e051615ada6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5b01525f5050615ada5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156fe565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d6565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d6565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ed565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d6565b905060016102a96008856157d6565b6102b391906157d6565b6102bd9082615800565b90506102cb600160296157d6565b6102d59082615800565b905060026102e46001856157ed565b6102ee91906157d6565b6102f89082615800565b90506103056001846157d6565b61030f9082615800565b905061031c6002806157d6565b6103269082615800565b9050610333601082615800565b9392505050565b610342615206565b61034a61175b565b905090565b610357615390565b5f805b60108110156103b957610386868387610374602083615800565b9261038193929190615813565b612096565b835182601081106103995761039961583a565b6020020181815250506020826103af9190615800565b915060010161035a565b506103dd8582866103cb604083615800565b926103d893929190615813565b6120a9565b60208301526103ed604082615800565b90506104008582866103cb604083615800565b6040808401919091526104139082615800565b90506104268582866103cb604083615800565b6060830152610436604082615800565b90506104498582866103cb604083615800565b60c0830152610459604082615800565b905061046c8582866103cb604083615800565b60e083015261047c604082615800565b905061048f8582866103cb604083615800565b608083015261049f604082615800565b90506104b28582866103cb604083615800565b6101008301526104c3604082615800565b90506104d68582866103cb604083615800565b60a08301526104e6604082615800565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615800565b84610120015183601c81106105255761052561583a565b6020020151826008811061053b5761053b61583a565b6020020181815250506020836105519190615800565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615800565b83610140015182602981106105985761059861583a565b6020020181815250506020826105ae9190615800565b9150600101610567565b505f5b6105c66001856157ed565b81101561060f576105de8683876103cb604083615800565b83610160015182601b81106105f5576105f561583a565b6020020152610605604083615800565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615800565b83610180015182601c81106106425761064261583a565b6020020181815250506020826106589190615800565b9150600101610612565b506106748582866103cb604083615800565b6101a0830152610685604082615800565b90506106988582866103cb604083615800565b6101c0830152509392505050565b6106ae615440565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461232c565b604084019190915290506106f58882856123bb565b60608401919091529050610709888261248f565b6080840191909152905061071e88828561251a565b60a0840191909152905061073388828561268e565b60c084019190915290506107478882612752565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615800565b61278f565b6127a7565b6127c2565b90505f6107a38761079e8a61077b6107768b6001615800565b6127db565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561083f575f6107fc8c83815181106107ef576107ef61583a565b6020026020010151612803565b905061080c8661077b86846127c2565b955061081c8561077b85846127c2565b9450610828848b6127c2565b9350610834838b6127db565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583a565b602002015190506108738661077b86846127c2565b95506108838561077b85846127c2565b945061088f848b6127c2565b935061089b838b6127db565b925050600101610842565b506108b18484612818565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583a565b602002015190505f6109178286612826565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583a565b6020020151905061095f8382612846565b9550610986886040015185601c811061097a5761097a61583a565b602002015186836129f5565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a20565b90508281145b9695505050505050565b5f6109c9615499565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a99565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615800565b610a31906002615800565b6001600160401b03811115610a4857610a4861584e565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615800565b610aab906002615800565b6001600160401b03811115610ac257610ac261584e565b604051908082528060200260200182016040528015610afb57816020015b610ae8615509565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583a565b60200260200101516127db565b612b62565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583a565b60200260200101516127c2565b610140850181905261012085015160c0880151610b829261078091906127a7565b845260a0860151610bb290610b9690612b62565b61077b86610120015161079e8a60c001518961014001516127a7565b6020850152815160019083905f90610bcc57610bcc61583a565b602002602001018181525050876101a00151815f81518110610bf057610bf061583a565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd2565b60408501526020840151610c2690612bd2565b606085015260015b60248111610cd157610c4885604001518660a001516127a7565b838281518110610c5a57610c5a61583a565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ed565b60298110610c9457610c9461583a565b60200201518860a001516127a7565b60c086015260a08501516080880151610cbc91906127a7565b60a0860152610cca81615862565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615800565b90505f610cf7602484615800565b9050610d28858381518110610d0e57610d0e61583a565b602002602001015161078089606001518a60a001516127a7565b858381518110610d3a57610d3a61583a565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583a565b60200201518a60a001516127a7565b60c088015260a087015160808a0151610d9091906127a7565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583a565b6020026020010181905250866080015181600281518110610ddb57610ddb61583a565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583a565b60200260200101819052508660c0015181600481518110610e2157610e2161583a565b60200260200101819052508660e0015181600581518110610e4457610e4461583a565b602002602001018190525086610100015181600681518110610e6857610e6861583a565b602002602001018190525086610120015181600781518110610e8c57610e8c61583a565b602002602001018190525086610140015181600881518110610eb057610eb061583a565b602002602001018190525086610160015181600981518110610ed457610ed461583a565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583a565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583a565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583a565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583a565b602002602001018190525086610200015181600e81518110610f8857610f8861583a565b602002602001018190525086610220015181600f81518110610fac57610fac61583a565b602002602001018190525086610240015181601081518110610fd057610fd061583a565b602002602001018190525086610260015181601181518110610ff457610ff461583a565b6020026020010181905250866102800151816012815181106110185761101861583a565b6020026020010181905250866102a001518160138151811061103c5761103c61583a565b6020026020010181905250866102c00151816014815181106110605761106061583a565b6020026020010181905250866102e00151816015815181106110845761108461583a565b6020026020010181905250866103000151816016815181106110a8576110a861583a565b6020026020010181905250866103200151816017815181106110cc576110cc61583a565b6020026020010181905250866103400151816018815181106110f0576110f061583a565b6020026020010181905250866103600151816019815181106111145761111461583a565b602002602001018190525086610380015181601a815181106111385761113861583a565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583a565b6020026020010181905250866103c0015181601c815181106111805761118061583a565b6020026020010181905250876020015181601d815181106111a3576111a361583a565b6020026020010181905250876040015181601e815181106111c6576111c661583a565b6020026020010181905250876060015181601f815181106111e9576111e961583a565b602002602001018190525087608001518160208151811061120c5761120c61583a565b60200260200101819052508760a001518160218151811061122f5761122f61583a565b6020026020010181905250876101000151816022815181106112535761125361583a565b60200260200101819052508760c00151816023815181106112765761127661583a565b60200260200101819052508760e00151816024815181106112995761129961583a565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be4565b9050611309815f815181106112f6576112f661583a565b60200260200101518661012001516127a7565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a7565b8861014001516127a7565b608086015260c087015161134d90612d42565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561157c576113af610b288960e001518784600161139f9190615800565b81518110610b1b57610b1b61583a565b61012087015260e08801516113de90610b2890876113ce856001615800565b81518110610b5457610b5461583a565b61014087015260a08601516101208701516113f991906127a7565b61016087015260a086015160c089015161142191611416916127a7565b8761014001516127a7565b61018087018190526114449061143690612bd2565b610780886101600151612bd2565b848261145260246001615800565b61145c9190615800565b8151811061146c5761146c61583a565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615800565b601c81106114a5576114a561583a565b60200201516127a7565b90506114e981610780896101600151868660016114cc9190615800565b815181106114dc576114dc61583a565b60200260200101516127a7565b90506114f98760800151826127c2565b608088015260a087015160c08a015161151f91611515916127a7565b8a60c001516127a7565b60a08801526101608b015182601b811061153b5761153b61583a565b6020020151848361154e60246001615800565b6115589190615800565b815181106115685761156861583a565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615800565b815181106115ce576115ce61583a565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615800565b8151811061161a5761161a61583a565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615800565b611663906001615800565b815181106116735761167361583a565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615800565b6116ba906001615800565b815181106116ca576116ca61583a565b6020026020010181815250505f6116e18486612d4d565b90505f6116ed83612e5d565b90505f6116fe8d5f01518484612ea3565b90505f5f61170e8f5f0151612f19565b9150915061171b82612fda565b61172481612fda565b61172f858385613079565b945061173c848285613079565b9350611748858561309f565b9f9e505050505050505050505050505050565b611763615206565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f020040769b48ad4fcbeab3fb1eae5db371af77b10203aedbebb2793986d85aaf81527f1be8296926e8c198245b7d4c3a554cd58503c0f25d8048dc27e5eb22f22ca51a818301526060830152825180840184527f2ea6fb6c84c2cecbff84ef6d01ac91a5230a0debb8dcfb212a5f238151f3a88481527f2b507df2ea833109ef98d66805d70badf529dad92e93b32af209bf68e865ef3a818301526080830152825180840184527f1238a641fd741be804cbdc9099934baa0bede5c8da507e112689fe0f74cd596181527f0e3ca91ab9f9fe21237434ab8c9bc63cc5f67d57d97e69c9f82e6f7ef77b3e7d8183015260a0830152825180840184527f0c84cc09907b9243a349d35b91b074db925e53cd096653e1d802be99c054950481527f0812df86afe3d4d4e0d931e59248dec99c7a6c404c65ed9503843094b87163f28183015260c0830152825180840184527f28f3941b291225648c69ad7315bd68607fcf281b60ba7060e67c25e06c08355d81527e712c867e92ca7b373d31451236f13d918b0bf69a0adcebd6c853ec1a88e8ed8183015260e0830152825180840184527f12d705d12e4d32b8912344f8bfab702261603b0ea4be1439882aee46a265675f81527f2498a61e8f21cb53ec40385ab1ae03e5fe2a9684cfa3f84e02243211b22e10ba81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f2dd7781b36db7871316c63a082be31784f4e49a7a47c33a933688bd734b9d7b081527f241ea92c79a9fb99730b723a12a25be7a0c4852a92c5c489265fdcb252474fbf81830152610140830152825180840184527f255768ddc9a655367502c7de58c96ca266c4c40b6c13b9f95c37ff0430cc295e81527f1c7448a1424daa4b878c65703cc9f6b18279c723079893c74ad7157acf2afb1981830152610160830152825180840184527f1f2a8909ecae50271ce74cf7235ae12cb1238bc11fc4c7b00c061a526b38c77181527f2fff9263ebf7f001dd5a8c55e5db2e221792862109b54133e2b4f88f4b1595d081830152610180830152825180840184527f23fb970c89fc645ac5e8a1f6bdcf55741a6b8061fa4dc5f55fcb5e3ce58acdb881527f1aeb96fde4abc69b24582f37e9602ee3c0988e7bc7f925c7c71abca43292a293818301526101a0830152825180840184527f0b083c8139a44cbaf48d32dfa9201fdc99ae26cc7533ea27fb2911de02b1c9db81527f1f4cbdbdd0ab7679c53de66e271ad102d9f28704701c08e6f8a1f7e6ae36237b818301526101c0830152825180840184527f1799c8d9155ffdee526d828336c0ec28a2245deef25451336922136dd05bc11581527f1d2474bbc07dfd2c42339431858b1c4924827246688a3570e4d8f4ec58c4618b818301526101e0830152825180840184527f1371861c4ade6c52911dff510fc20fcf341fcf8c303c858b337c2171a9b8650d81527f02c5a7310122f62f08b807ef13885a3f9bc7a382410dae3f2aadcd26e82aed1181830152610200830152825180840184527f2456915a011d1201142f48e34ea4dcb8b465b04e318c74a533aed0f8c6f5024a81527f16dc7330445a1479939f266dca12e43004bec6c8732675cce7c88e6311037a0c81830152610220830152825180840184527f07ba374d3287def272fc85a684a070cfe4b7a577a9de435b16d345ba7491b32081527f15217b7189d406456165f9ed179877e59afdeddc495d922206108b4bed34829281830152610240830152825180840184527f0379e80852b118b3856655566b8c76d85407b72921d28778c2c6d6b7716aee5b81527f176a0ceb9682d6e293a24554a80b2094c28917eb45cf6334908c86ac77686b2f81830152610260830152825180840184527f25c3dde9c3faf29481f3587b8c79dc309904ce920bf8ab9d92226e7fd39f8ad481527f1bb1a8a66943d72d127e07978e5d59275bb54770e9a9404e80180f9bd3edf46681830152610280830152825180840184527f1c39f091eb8b9e3260654070e2ef0ef7bd91cb68cecce7b30e65fce41b95735f81527f1cea773389f749036b6da7d54e9379af091c160dc5651b96f1a8827db36ddb33818301526102a0830152825180840184527f0601b0a1c9d3f3354cc01744f541d81860ee3911842efb5c7839f0350dfa6d6881527f1396e06f7d0366466ea328e70370b01907aa6b4b64e376e6a7877fd68d0c6521818301526102c0830152825180840184527f2ea4698fccc8e4e1d75405759165f8bac319d3a053be469827c26bac4e3a998981527f03899943c5be0ac6bd1d8ae8063d11c7944c9a3b1db9626d8f01241f8d31273a818301526102e0830152825180840184527f0ba5babd77a87444ed467057d0eb2575028ebf92c810647b119f76eb9f8b6d0281527f0cb58895bce6aed8d960dbe2eaea424acf2008732f70c6fabbd0f3384af1c79781830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f27a35252f29a4044baab7ffc07ac2e80e560621ad55ff81f44177883b7b2f19d83527f24c99a5512742bdf3fe52ba28901832b635579be874eddebdc5eceabfa926cd8908301526103c081019190915290565b5f6103336120a4838561587a565b612803565b6120b1615509565b60408051808201909152805f516020615a9a5f395f51905f526120d760205f8789615813565b6120e09161587a565b6120ea91906158ab565b81526020908101905f516020615a9a5f395f51905f529061210f906040908789615813565b6121189161587a565b61212291906158ab565b90529392505050565b612133615521565b5f6121418888888888613293565b6040860191909152602085019190915290835292506121608389613590565b6080850191909152606084019190915291989197509095505050505050565b612187615551565b5f612190615570565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016158be565b60405160208183030381529060405280519060200120612803565b91506121fe82613617565b6020850152835260015b60026122166001601c6157ed565b61222091906158f1565b8110156122a05761223d836040516020016121d891815260200190565b925061224883613617565b856122548460026157d6565b601b81106122645761226461583a565b60200201866122748560026157d6565b61227f906001615800565b601b811061228f5761228f61583a565b602002019190915252600101612208565b506122ad6001601c6157ed565b60011660011480156122ca575060026122c86001601c6157ed565b115b15612324576122e5826040516020016121d891815260200190565b91505f6122f183613617565b8560016122ff81601c6157ed565b61230991906157ed565b601b81106123195761231961583a565b602002019190915250505b509250929050565b61233461558e565b5f61234b846040516020016121d891815260200190565b935061235684613617565b50825260015b838110156123b357612394836123736001846157ed565b601c81106123835761238361583a565b6020020151846114956001856157ed565b8382601c81106123a6576123a661583a565b602002015260010161235c565b509093915050565b6123c361558e565b5f805b83811015612485576123d66155ad565b8581525f5b600881101561243f5787610120015183601c81106123fb576123fb61583a565b602002015181600881106124115761241161583a565b602002015182612422836001615800565b600981106124325761243261583a565b60200201526001016123db565b50612454816040516020016121d89190615904565b95505f61246087613617565b8685601c81106124725761247261583a565b60200201919091525050506001016123c6565b5090949293505050565b5f5f6124996155cc565b8381525f5b60298110156124ec5785610140015181602981106124be576124be61583a565b6020020151826124cf836001615800565b602a81106124df576124df61583a565b602002015260010161249e565b50612501816040516020016121d89190615938565b91505f61250d83613617565b5096929550919350505050565b5f80806125286001856157ed565b6125339060026157d6565b61253e906001615800565b6001600160401b038111156125555761255561584e565b60405190808252806020026020018201604052801561257e578160200160208202803683370190505b50905084815f815181106125945761259461583a565b60209081029190910101525f5b6125ac6001866157ed565b81101561265f5786610160015181601b81106125ca576125ca61583a565b602002015151826125dc8360026157d6565b6125e7906001615800565b815181106125f7576125f761583a565b60200260200101818152505086610160015181601b811061261a5761261a61583a565b6020020151602001518282600261263191906157d6565b61263c906002615800565b8151811061264c5761264c61583a565b60209081029190910101526001016125a1565b50612674816040516020016121d8919061596c565b91505f61268083613617565b509792965091945050505050565b5f808061269c846001615800565b6001600160401b038111156126b3576126b361584e565b6040519080825280602002602001820160405280156126dc578160200160208202803683370190505b50905084815f815181106126f2576126f261583a565b60209081029190910101525f5b8481101561265f5786610180015181601c811061271e5761271e61583a565b60200201518261272f836001615800565b8151811061273f5761273f61583a565b60209081029190910101526001016126ff565b5f5f61275c6155eb565b8381526101a08501805151602080840191909152905181015160408084019190915251612501916121d8918491016159a1565b5f5f516020615aba5f395f51905f52825b0692915050565b5f5f516020615aba5f395f51905f5282840990505b92915050565b5f5f516020615aba5f395f51905f528284089392505050565b5f5f516020615aba5f395f51905f52825f516020615aba5f395f51905f520384089392505050565b5f5f516020615aba5f395f51905f52826127a0565b5f6103338361077b84612b62565b815160208301515f91829161283b91906127c2565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292d576129238261077b87846127db565b915060010161290c565b50612936615609565b5f5b6008811015612997575f8482600881106129545761295461583a565b602002015190506129698161077b89856127db565b905061297481612b62565b9050808383600881106129895761298961583a565b602002015250600101612938565b505f5b60088110156129ea575f8782600881106129b6576129b661583a565b602002015190506129d3818484600881106114a5576114a561583a565b90506129df86826127c2565b95505060010161299a565b506109b684836127a7565b5f5f612a0b60016107808561077b8960016127db565b9050612a1784826127a7565b95945050505050565b5f612a2961558e565b612a34868285613647565b612a40868683866137f3565b612a4c868683866139df565b612a57868285613c0a565b612a62868285613dfe565b612a6e86868386614147565b612a798682856145f3565b612a84868285614a05565b612a8f868285614dc6565b6109b681856150c6565b60605f826001600160401b03811115612ab457612ab461584e565b604051908082528060200260200182016040528015612add578160200160208202803683370190505b50905083815f81518110612af357612af361583a565b602090810291909101015260015b83811015612b5a57612b3582612b186001846157ed565b81518110612b2857612b2861583a565b6020026020010151612d42565b828281518110612b4757612b4761583a565b6020908102919091010152600101612b01565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615aba5f395f51905f520360808201525f516020615aba5f395f51905f5260a082015260205f60c08360055afa80612bbe575f5ffd5b505f51608091909101604052949350505050565b5f516020615aba5f395f51905f520390565b60605f826001600160401b03811115612bff57612bff61584e565b604051908082528060200260200182016040528015612c28578160200160208202803683370190505b509050825b8015612d37575f85612c406001846157ed565b81518110612c5057612c5061583a565b602002602001015190505f89600184612c6991906157ed565b601c8110612c7957612c7961583a565b602002015190505f612cd4612c98612c91858d6127a7565b60026127a7565b61079e8b612ca76001896157ed565b601c8110612cb757612cb761583a565b602002015161077b612cce8861077b60018a6127db565b876127db565b9050612cf58161077b610b28612cef8761077b6001896127db565b866127c2565b99508990508085612d076001876157ed565b81518110612d1757612d1761583a565b60200260200101818152505050505080612d30906159d4565b9050612c2d565b509695505050505050565b5f6127bc82836127a7565b612d55615509565b5f612d817f00000000000000000000000000000000000000000000000000000000000000006024615800565b612d8c906002615800565b90505f5b81811015612dc257612dba858281518110612dad57612dad61583a565b6020026020010151612fda565b600101612d90565b50604051600190815b60018401811015612e275760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcb565b5080518452602081015160208501525080612e55576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e65615509565b5f516020615a9a5f395f51905f5282602001515f516020615a9a5f395f51905f52612e9091906157ed565b612e9a91906158ab565b60208301525090565b5f5f5f612eaf86612f19565b91509150612ebb615609565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0e916121d8918491016159e9565b979650505050505050565b612f21615509565b612f29615509565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9a5f395f51905f528380095f516020615a9a5f395f51905f5260035f516020615a9a5f395f51905f52838709085f516020615a9a5f395f51905f5284850914915050806130735760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613081615509565b613089615509565b613093838661511f565b9050612a178185615175565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132359190615a1d565b5f60405180830381855afa9150503d805f811461326d576040519150601f19603f3d011682016040523d82523d5f602084013e613272565b606091505b50915091508180156109b65750808060200190518101906109b69190615a33565b5f808080806132a3866001615800565b6132ae906006615800565b6001600160401b038111156132c5576132c561584e565b6040519080825280602002602001820160405280156132ee578160200160208202803683370190505b509050865f1b815f815181106133065761330661583a565b60209081029190910101525f5b61331e6010886157ed565b81101561336f578989828181106133375761333761583a565b905060200201358282600161334c9190615800565b8151811061335c5761335c61583a565b6020908102919091010152600101613313565b505f5b60108110156133e0578a5161339a9082601081106133925761339261583a565b602002015190565b828260106133a98b6001615800565b6133b391906157ed565b6133bd9190615800565b815181106133cd576133cd61583a565b6020908102919091010152600101613372565b5060208a015151816133f3886001615800565b815181106134035761340361583a565b6020908102919091018101919091528a810151015181613424886001615800565b61342f906001615800565b8151811061343f5761343f61583a565b602090810291909101015260408a0151518161345c886001615800565b613467906002615800565b815181106134775761347761583a565b60209081029190910181019190915260408b0151015181613499886001615800565b6134a4906003615800565b815181106134b4576134b461583a565b602090810291909101015260608a015151816134d1886001615800565b6134dc906004615800565b815181106134ec576134ec61583a565b60209081029190910181019190915260608b015101518161350e886001615800565b613519906005615800565b815181106135295761352961583a565b602002602001018181525050613549816040516020016121d8919061596c565b915061355482613617565b604080516020810186905292975090955061356f91016121d8565b91505f61357b83613617565b50959b949a5094985090965091945050505050565b5f5f5f61359b615628565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fd916121d891849101615a52565b915061360882613617565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363282612803565b945061363d81612803565b9350505050915091565b5f6136538460076151d6565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b46136ae6136888560036127db565b61077b6136a36136988b5f6151d6565b61077b8c601d6151d6565b61077b8b601c6151d6565b836127a7565b905061373561372a6137116136f86136df856107806136d48d60026151d6565b61077b8e601c6151d6565b6107806136ed8c60036151d6565b61077b8d601d6151d6565b6107806137068b60046151d6565b61077b8c601e6151d6565b61078061371f8a60056151d6565b61077b8b601f6151d6565b6107808860016151d6565b9050613754816107806137498660016127db565b61077b8a60276151d6565b905061376081846127a7565b905061376c81856127a7565b8552505f90506137a661379c61379161378688601c6151d6565b61078089601f6151d6565b61079e8860246151d6565b610780875f6151d6565b90506137b78161077b8460026127db565b90506137c88161077b8460016127db565b90506137d481836127a7565b90506137e081846127a7565b9050808460015b60200201525050505050565b5f5f5f61382961381f61380789601c6151d6565b6107806138158b60126151d6565b8a606001516127a7565b87608001516127c2565b90506138628161077b6138586138408b601d6151d6565b61078061384e8d60136151d6565b8c606001516127a7565b89608001516127c2565b90506138878161077b6138586138798b601e6151d6565b61078061384e8d60146151d6565b90506138ac8161077b61385861389e8b601f6151d6565b61078061384e8d60156151d6565b92505f90506138d061381f6138c289601c6151d6565b6107806138158b600e6151d6565b90506138f58161077b6138586138e78b601d6151d6565b61078061384e8d600f6151d6565b905061391a8161077b61385861390c8b601e6151d6565b61078061384e8d60106151d6565b905061393f8161077b6138586139318b601f6151d6565b61078061384e8d60116151d6565b91505f90506139666139606139558960206151d6565b6107808a601a6151d6565b846127a7565b905061399b8161079e61399561397d8b60286151d6565b61078061398b8d601b6151d6565b8c60a001516127a7565b856127a7565b90506139a781856127a7565b6040860152505f6139ca6139956139bf89601b6151d6565b61077b8a60286151d6565b9050808560035b602002015250505050505050565b5f5f613a3d613a25613a0d6139f86138588a60166151d6565b610780613a068b60176151d6565b8a516127a7565b610780613a1b8a60186151d6565b89602001516127a7565b610780613a338960196151d6565b88604001516127a7565b91505f613a74613a5b613a5189601c6151d6565b88608001516127c2565b610780613a698a60036151d6565b61077b8b60246151d6565b90505f613a9d613a8589601d6151d6565b610780613a928b5f6151d6565b61077b8c60256151d6565b90505f613ac7613aae8a601e6151d6565b610780613abc8c60016151d6565b61077b8d60266151d6565b9050613b06613aee613ae085610780868d5f01516127a7565b610780848c602001516127a7565b610780613afc8c60046151d6565b8b604001516127a7565b93505050505f613b1a6139608860216151d6565b90505f613b2b6139608960216151d6565b90505f613b63613b4a613b3f8b60236151d6565b6107808c60066151d6565b61079e613b588c60236151d6565b61077b8d60066151d6565b90505f613b87613b81613b7687896127a7565b61077b8d60216151d6565b836127db565b9050613b9381886127a7565b90505f613bbb613bad613ba78d60066151d6565b876127a7565b61079e613ba78e60226151d6565b90505f613bc98c60236151d6565b90505f613bd9613b8183846127a7565b60808c0185905260a08c018490529050613bf3818b6127a7565b8b6006602002015250505050505050505050505050565b5f613c165f60016127db565b90505f613c245f60026127db565b90505f613c325f60036127db565b90505f613c4e613c4388601d6151d6565b61079e89601c6151d6565b90505f613c6a613c5f89601e6151d6565b61079e8a601d6151d6565b90505f613c86613c7b8a601f6151d6565b61079e8b601e6151d6565b90505f613ca2613c978b60246151d6565b61079e8c601f6151d6565b905083613cb38161077b818b6127c2565b9050613cc38161077b878a6127c2565b9050613cd38161077b87896127c2565b9050613ce48161077b8d60086151d6565b9050613cf0818a6127a7565b60e08b01525082613d058161077b818b6127c2565b9050613d158161077b868a6127c2565b9050613d258161077b86896127c2565b9050613d368161077b8d60086151d6565b9050613d42818a6127a7565b6101008b01525081613d588161077b818b6127c2565b9050613d688161077b858a6127c2565b9050613d788161077b85896127c2565b9050613d898161077b8d60086151d6565b9050613d95818a6127a7565b6101208b01525080613dab8161077b818b6127c2565b9050613dbb8161077b848a6127c2565b9050613dcb8161077b84896127c2565b9050613ddc8161077b8d60086151d6565b9050613de8818a6127a7565b610140909a019990995250505050505050505050565b613e376040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4284601d6151d6565b8152613e4f84601e6151d6565b6020820152613e5f8460246151d6565b6040820152613e6f8460276151d6565b6060820152613e7f8460266151d6565b6080820152613e8f8460256151d6565b60a08201525f613ea08560026151d6565b90505f613ead865f6151d6565b90505f613ec18460400151855f01516127db565b90505f613ed6856020015186602001516127a7565b606086015190915086905f90613eec90806127a7565b90505f613f0a613f0489602001518a606001516127a7565b886127a7565b90505f613f29613f228a60a001518b604001516127c2565b8a516127c2565b9050613f38613ba782886127a7565b9050613f5f613f59613f53613f4d84876127db565b886127db565b846127c2565b836127c2565b9050613f87613f7c613f7183876127a7565b61077b8f60096151d6565b61077b60018a6127db565b6101608c015250505050602085015160808601515f91613fa6916127c2565b90505f613fc4613fba8860600151886127a7565b88602001516127db565b90505f613fe8613fd484876127a7565b6107806139958b60a001518c5f01516127db565b9050614010614005613ffa838c6127a7565b61077b8e60096151d6565b61077b6001896127db565b6101808b0152505f9150614031905061402a8360116127c2565b87516127a7565b90505f61403e83846127c2565b905061404a81826127c2565b90505f6140588360096127a7565b905061408161407b6139606140748b60a001518c5f01516127c2565b8b516127c2565b826127db565b60c089018190525f9061409c90613f0490613f71908d6127a7565b90506140af8b600b6020020151826127c2565b6101608c0152505086515f92506140d6915061402a906140cf90806127c2565b88516127c2565b90505f6141166140f18361077b8a5f01518b60a001516127db565b602089015161079e9061410490806127c2565b61077b8b602001518c608001516127c2565b905061413389600c6020020151610780613f04613f71858d6127a7565b89600c602002015250505050505050505050565b6141b1604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141c96141bf86601e6151d6565b85604001516127a7565b8082526141e8906107806141de88601d6151d6565b87602001516127a7565b8082526141fd9061078061402a88601c6151d6565b80825261420f906107808760016151d6565b808252602082018190526142289061079e87601f6151d6565b81526142436142388660246151d6565b61079e87601c6151d6565b60808201526142616142568660276151d6565b61079e87601f6151d6565b6060820152608081015161427a9061077b8160016127db565b6101c082015260808101516142ba906142b0906142a99061077b60015f516020615aba5f395f51905f526157ed565b60016127c2565b82606001516127a7565b60a082018190526142f0906142e29061077b6142d78960026151d6565b61077b8a60036151d6565b61077b61399588600a6151d6565b83600e60200201526101c0810151614314906142e29061077b6142d78960026151d6565b6101e084015280516143399061077b61432e8860026151d6565b61077b8960036151d6565b6101208201525f61435861434e87601f6151d6565b83602001516127db565b90506143698161077b8360016127db565b60e083015261438661437c8760266151d6565b86604001516127a7565b604083018190526143a99061078061439f8960256151d6565b88602001516127a7565b604083018190526143c9906107806143c28960246151d6565b88516127a7565b60408301526143e66143dc8760276151d6565b83604001516127db565b60408301525f6144056143fa8860266151d6565b61079e89601e6151d6565b90506144576144326136ae6142a9866080015160015f516020615aba5f395f51905f5261077b91906157ed565b61077b6142a9866040015160015f516020615aba5f395f51905f5261077b91906157ed565b60c084015260408301516144799061446f90806127a7565b84604001516127db565b61010084015260c08301516144a5906144979061077b8a60046151d6565b61077b613ba78a600a6151d6565b6102008601526101c08301516144c4906144979061077b8a60046151d6565b6102208601526101008301516144e3906144979061077b8a60046151d6565b61024086015260e08301516144fd9061077b8960046151d6565b61014084015261451c6145118860256151d6565b61079e89601d6151d6565b610160840152608083015161455a906143fa9061454f906142a99061077b60015f516020615aba5f395f51905f526157ed565b8561016001516127a7565b61018084018190526101208401516101a08501819052614591916107809061077b6145868c60056151d6565b61077b8d60026151d6565b6101a0840181905283516145b191906107809061077b6145868c5f6151d6565b6101a084018190526101408401516145c991906127c2565b6101a084018190526145e39061077b613ba78a600a6151d6565b6101a0840181905285600d6139d1565b61462c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466161464861463d86601c6151d6565b61077b8760256151d6565b6107806146568760246151d6565b61077b88601d6151d6565b81526146a661469b61468261467787601c6151d6565b61077b88601f6151d6565b61078061469088601d6151d6565b61077b89601e6151d6565b61079e8660266151d6565b604082018190526146bb90600160441b6127a7565b604082018190526146d19061079e8660276151d6565b6040820181905281516146e491906127c2565b604082018190526146fa9061077b8660056151d6565b6040820152805161470f90600160441b6127a7565b80825261472f906107806147248760246151d6565b61077b8860256151d6565b808252602082018190526147569061079e61474b87601e6151d6565b61078088601f6151d6565b6020820181905261476c9061077b8660046151d6565b60208201528051606082018190526147899061078086601f6151d6565b606082018190526147ad9061079e6147a28760266151d6565b6107808860276151d6565b606082018190526147c29061077b865f6151d6565b8160600181815250505f6147eb6147e1836020015184604001516127c2565b83606001516127c2565b90506147fc8161077b8760036151d6565b905061481461480c8660256151d6565b6140006127a7565b6080830181905261482a906107808760246151d6565b6080830181905261483d906140006127a7565b608083018190526148539061078087601e6151d6565b60808301819052614866906140006127a7565b6080830181905261487c9061078087601d6151d6565b6080830181905261488f906140006127a7565b608083018190526148a59061078087601c6151d6565b608083018190526148bb9061079e87601f6151d6565b608083018190526148d19061077b8760056151d6565b60808301526148e461480c8660266151d6565b60a083018190526148fa906107808760256151d6565b60a0830181905261490d906140006127a7565b60a08301819052614923906107808760246151d6565b60a08301819052614936906140006127a7565b60a0830181905261494c9061078087601f6151d6565b60a0830181905261495f906140006127a7565b60a083018190526149759061078087601e6151d6565b60a0830181905261498b9061079e8760276151d6565b60a083018190526149a09061077b875f6151d6565b60a0830181905260808301515f916149b891906127c2565b90506149c98161077b8860046151d6565b90506149d582826127c2565b60c084018190526149ee9061077b613ba789600b6151d6565b60c084018190528560136020020152505050505050565b614a7b6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a94614a8985601c6151d6565b6107808660026151d6565b8152614aaf614aa485601d6151d6565b6107808660036151d6565b6020820152614acd614ac285601e6151d6565b6107808660046151d6565b6040820152614aeb614ae085601f6151d6565b6107808660056151d6565b60608201528051614b1d90614b1690614b0f90614b0890806127a7565b84516127a7565b83516127a7565b82516127a7565b60808201526020810151614b5b90614b5190614b4790614b3d90806127a7565b84602001516127a7565b83602001516127a7565b82602001516127a7565b60a08201526040810151614b9990614b8f90614b8590614b7b90806127a7565b84604001516127a7565b83604001516127a7565b82604001516127a7565b60c08201526060810151614bcd906142b090614bc390614bb990806127a7565b84606001516127a7565b83606001516127a7565b60e0820152608081015160a0820151614be691906127c2565b61010082015260c081015160e0820151614c0091906127c2565b61012082015260a0810151614c2490614c1990806127c2565b8261012001516127c2565b61014082015260e0810151614c4890614c3d90806127c2565b8261010001516127c2565b610160820152610120810151614c5e90806127c2565b6101e08201819052614c7f90614c7490806127c2565b8261016001516127c2565b6101e0820152610100810151614c9590806127c2565b6101a08201819052614cb690614cab90806127c2565b8261014001516127c2565b6101a08201819052610160820151614ccd916127c2565b6101808201526101408101516101e0820151614ce991906127c2565b6101c0820152614cfd6136ae85600c6151d6565b6102008201819052610280840151610180830151614d28926107809161077b9061079e8a60246151d6565b8360146020020152614d58836015602002015161078083610200015161077b856101a0015161079e8a60256151d6565b8360156020020152614d88836016602002015161078083610200015161077b856101c0015161079e8a60266151d6565b8360166020020152614db8836017602002015161078083610200015161077b856101e0015161079e8a60276151d6565b836017602002015250505050565b614e186040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4d7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278f565b8152602001614e7b7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278f565b8152602001614ea87e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278f565b8152602001614ed67f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278f565b90529050614ef3614ee886601c6151d6565b6107808760026151d6565b6101208301819052614f3290614f2790614f1c90614f1190806127a7565b8561012001516127a7565b8461012001516127a7565b8361012001516127a7565b8252614f3f85601d6151d6565b6020830152614f4f85601e6151d6565b6040830152614f5f85601f6151d6565b606083015281516020830151614f87916147e191614f7d91906127c2565b84604001516127c2565b6080830152614f9a61396086600d6151d6565b6101408301528151614fbb90614fb190835f6114a5565b83608001516127c2565b60a0830152614fe7846018602002015161078084610140015161077b8660a0015161079e8b60246151d6565b610300850152602082015161500290614fb1908360016114a5565b60c083015261502e846019602002015161078084610140015161077b8660c0015161079e8b60256151d6565b610320850152604082015161504990614fb1908360026114a5565b60e083015261507584601a602002015161078084610140015161077b8660e0015161079e8b60266151d6565b610340850152606082015161509090614fb1908360036114a5565b6101008301526150be84601b602002015161078084610140015161077b86610100015161079e8b60276151d6565b84601b6137e7565b815160015b601c8110156151185761510e826107808684601c81106150ed576150ed61583a565b6020020151866150fe6001876157ed565b601b81106114a5576114a561583a565b91506001016150cb565b5092915050565b615127615509565b61512f615509565b604051835181526020840151602082015284604082015260408160608360075afa80615159575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517d615509565b615185615509565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151ba575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ea576151ea615a85565b602981106151fa576151fa61583a565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522c615509565b8152602001615239615509565b8152602001615246615509565b8152602001615253615509565b8152602001615260615509565b815260200161526d615509565b815260200161527a615509565b8152602001615287615509565b8152602001615294615509565b81526020016152a1615509565b81526020016152ae615509565b81526020016152bb615509565b81526020016152c8615509565b81526020016152d5615509565b81526020016152e2615509565b81526020016152ef615509565b81526020016152fc615509565b8152602001615309615509565b8152602001615316615509565b8152602001615323615509565b8152602001615330615509565b815260200161533d615509565b815260200161534a615509565b8152602001615357615509565b8152602001615364615509565b8152602001615371615509565b815260200161537e615509565b815260200161538b615509565b905290565b604051806101e001604052806153a4615646565b81526020016153b1615509565b81526020016153be615509565b81526020016153cb615509565b81526020016153d8615509565b81526020016153e5615509565b81526020016153f2615509565b81526020016153ff615509565b815260200161540c615509565b8152602001615419615665565b8152602001615426615693565b81526020016154336156b2565b815260200161537161558e565b604051806101000160405280615454615521565b8152602001615461615551565b815260200161546e61558e565b815260200161547b61558e565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d76156e0565b81526020016154e46156e0565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567d615609565b8152602001906001900390816156755790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156ca615509565b8152602001906001900390816156c25790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615711575f5ffd5b84356001600160401b03811115615726575f5ffd5b8501601f81018713615736575f5ffd5b80356001600160401b0381111561574b575f5ffd5b87602082840101111561575c575f5ffd5b6020918201955093508501356001600160401b0381111561577b575f5ffd5b8501601f8101871361578b575f5ffd5b80356001600160401b038111156157a0575f5ffd5b8760208260051b84010111156157b4575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bc576127bc6157c2565b818103818111156127bc576127bc6157c2565b808201808211156127bc576127bc6157c2565b5f5f85851115615821575f5ffd5b8386111561582d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615873576158736157c2565b5060010190565b803560208310156127bc575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158b9576158b9615897565b500690565b5f8183825b60058110156158e25781518352602092830192909101906001016158c3565b50505060a08201905092915050565b5f826158ff576158ff615897565b500490565b5f8183825b6009811015615928578151835260209283019290910190600101615909565b5050506101208201905092915050565b5f8183825b602a81101561595c57815183526020928301929091019060010161593d565b5050506105408201905092915050565b81515f90829060208501835b82811015615996578151845260209384019390910190600101615978565b509195945050505050565b5f8183825b60038110156159c55781518352602092830192909101906001016159a6565b50505060608201905092915050565b5f816159e2576159e26157c2565b505f190190565b5f8183825b6008811015615a0d5781518352602092830192909101906001016159ee565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a43575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a76578151835260209283019290910190600101615a57565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f27b76d01cc1ea78ae0c8cf3225eb613b0d972a52d3a043786ec39610b786aef160c05260ae60e05260805160a05160c05160e051615ada6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5b01525f5050615ada5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156fe565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d6565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d6565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ed565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d6565b905060016102a96008856157d6565b6102b391906157d6565b6102bd9082615800565b90506102cb600160296157d6565b6102d59082615800565b905060026102e46001856157ed565b6102ee91906157d6565b6102f89082615800565b90506103056001846157d6565b61030f9082615800565b905061031c6002806157d6565b6103269082615800565b9050610333601082615800565b9392505050565b610342615206565b61034a61175b565b905090565b610357615390565b5f805b60108110156103b957610386868387610374602083615800565b9261038193929190615813565b612096565b835182601081106103995761039961583a565b6020020181815250506020826103af9190615800565b915060010161035a565b506103dd8582866103cb604083615800565b926103d893929190615813565b6120a9565b60208301526103ed604082615800565b90506104008582866103cb604083615800565b6040808401919091526104139082615800565b90506104268582866103cb604083615800565b6060830152610436604082615800565b90506104498582866103cb604083615800565b60c0830152610459604082615800565b905061046c8582866103cb604083615800565b60e083015261047c604082615800565b905061048f8582866103cb604083615800565b608083015261049f604082615800565b90506104b28582866103cb604083615800565b6101008301526104c3604082615800565b90506104d68582866103cb604083615800565b60a08301526104e6604082615800565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615800565b84610120015183601c81106105255761052561583a565b6020020151826008811061053b5761053b61583a565b6020020181815250506020836105519190615800565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615800565b83610140015182602981106105985761059861583a565b6020020181815250506020826105ae9190615800565b9150600101610567565b505f5b6105c66001856157ed565b81101561060f576105de8683876103cb604083615800565b83610160015182601b81106105f5576105f561583a565b6020020152610605604083615800565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615800565b83610180015182601c81106106425761064261583a565b6020020181815250506020826106589190615800565b9150600101610612565b506106748582866103cb604083615800565b6101a0830152610685604082615800565b90506106988582866103cb604083615800565b6101c0830152509392505050565b6106ae615440565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461232c565b604084019190915290506106f58882856123bb565b60608401919091529050610709888261248f565b6080840191909152905061071e88828561251a565b60a0840191909152905061073388828561268e565b60c084019190915290506107478882612752565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615800565b61278f565b6127a7565b6127c2565b90505f6107a38761079e8a61077b6107768b6001615800565b6127db565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561083f575f6107fc8c83815181106107ef576107ef61583a565b6020026020010151612803565b905061080c8661077b86846127c2565b955061081c8561077b85846127c2565b9450610828848b6127c2565b9350610834838b6127db565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583a565b602002015190506108738661077b86846127c2565b95506108838561077b85846127c2565b945061088f848b6127c2565b935061089b838b6127db565b925050600101610842565b506108b18484612818565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583a565b602002015190505f6109178286612826565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583a565b6020020151905061095f8382612846565b9550610986886040015185601c811061097a5761097a61583a565b602002015186836129f5565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a20565b90508281145b9695505050505050565b5f6109c9615499565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a99565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615800565b610a31906002615800565b6001600160401b03811115610a4857610a4861584e565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615800565b610aab906002615800565b6001600160401b03811115610ac257610ac261584e565b604051908082528060200260200182016040528015610afb57816020015b610ae8615509565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583a565b60200260200101516127db565b612b62565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583a565b60200260200101516127c2565b610140850181905261012085015160c0880151610b829261078091906127a7565b845260a0860151610bb290610b9690612b62565b61077b86610120015161079e8a60c001518961014001516127a7565b6020850152815160019083905f90610bcc57610bcc61583a565b602002602001018181525050876101a00151815f81518110610bf057610bf061583a565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd2565b60408501526020840151610c2690612bd2565b606085015260015b60248111610cd157610c4885604001518660a001516127a7565b838281518110610c5a57610c5a61583a565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ed565b60298110610c9457610c9461583a565b60200201518860a001516127a7565b60c086015260a08501516080880151610cbc91906127a7565b60a0860152610cca81615862565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615800565b90505f610cf7602484615800565b9050610d28858381518110610d0e57610d0e61583a565b602002602001015161078089606001518a60a001516127a7565b858381518110610d3a57610d3a61583a565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583a565b60200201518a60a001516127a7565b60c088015260a087015160808a0151610d9091906127a7565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583a565b6020026020010181905250866080015181600281518110610ddb57610ddb61583a565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583a565b60200260200101819052508660c0015181600481518110610e2157610e2161583a565b60200260200101819052508660e0015181600581518110610e4457610e4461583a565b602002602001018190525086610100015181600681518110610e6857610e6861583a565b602002602001018190525086610120015181600781518110610e8c57610e8c61583a565b602002602001018190525086610140015181600881518110610eb057610eb061583a565b602002602001018190525086610160015181600981518110610ed457610ed461583a565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583a565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583a565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583a565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583a565b602002602001018190525086610200015181600e81518110610f8857610f8861583a565b602002602001018190525086610220015181600f81518110610fac57610fac61583a565b602002602001018190525086610240015181601081518110610fd057610fd061583a565b602002602001018190525086610260015181601181518110610ff457610ff461583a565b6020026020010181905250866102800151816012815181106110185761101861583a565b6020026020010181905250866102a001518160138151811061103c5761103c61583a565b6020026020010181905250866102c00151816014815181106110605761106061583a565b6020026020010181905250866102e00151816015815181106110845761108461583a565b6020026020010181905250866103000151816016815181106110a8576110a861583a565b6020026020010181905250866103200151816017815181106110cc576110cc61583a565b6020026020010181905250866103400151816018815181106110f0576110f061583a565b6020026020010181905250866103600151816019815181106111145761111461583a565b602002602001018190525086610380015181601a815181106111385761113861583a565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583a565b6020026020010181905250866103c0015181601c815181106111805761118061583a565b6020026020010181905250876020015181601d815181106111a3576111a361583a565b6020026020010181905250876040015181601e815181106111c6576111c661583a565b6020026020010181905250876060015181601f815181106111e9576111e961583a565b602002602001018190525087608001518160208151811061120c5761120c61583a565b60200260200101819052508760a001518160218151811061122f5761122f61583a565b6020026020010181905250876101000151816022815181106112535761125361583a565b60200260200101819052508760c00151816023815181106112765761127661583a565b60200260200101819052508760e00151816024815181106112995761129961583a565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be4565b9050611309815f815181106112f6576112f661583a565b60200260200101518661012001516127a7565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a7565b8861014001516127a7565b608086015260c087015161134d90612d42565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561157c576113af610b288960e001518784600161139f9190615800565b81518110610b1b57610b1b61583a565b61012087015260e08801516113de90610b2890876113ce856001615800565b81518110610b5457610b5461583a565b61014087015260a08601516101208701516113f991906127a7565b61016087015260a086015160c089015161142191611416916127a7565b8761014001516127a7565b61018087018190526114449061143690612bd2565b610780886101600151612bd2565b848261145260246001615800565b61145c9190615800565b8151811061146c5761146c61583a565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615800565b601c81106114a5576114a561583a565b60200201516127a7565b90506114e981610780896101600151868660016114cc9190615800565b815181106114dc576114dc61583a565b60200260200101516127a7565b90506114f98760800151826127c2565b608088015260a087015160c08a015161151f91611515916127a7565b8a60c001516127a7565b60a08801526101608b015182601b811061153b5761153b61583a565b6020020151848361154e60246001615800565b6115589190615800565b815181106115685761156861583a565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615800565b815181106115ce576115ce61583a565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615800565b8151811061161a5761161a61583a565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615800565b611663906001615800565b815181106116735761167361583a565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615800565b6116ba906001615800565b815181106116ca576116ca61583a565b6020026020010181815250505f6116e18486612d4d565b90505f6116ed83612e5d565b90505f6116fe8d5f01518484612ea3565b90505f5f61170e8f5f0151612f19565b9150915061171b82612fda565b61172481612fda565b61172f858385613079565b945061173c848285613079565b9350611748858561309f565b9f9e505050505050505050505050505050565b611763615206565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f11a7a72ab9c84ba85f7ce248d1e95b0301cf033b758bd8698a46f42bfe080c2281527f026797cc7f4108e8a73b79af8afdf37a8a248ea568a0a73af5552415ab1654f5818301526060830152825180840184527f2955230171649b265519608f34cd6493ce24270b068dbb0ecadf423e1ceb197f81527f2aae76193862c0eb16aefa9e9c19c145f027d2782300bb15de6f490b4dfb8921818301526080830152825180840184527f293f2002fb518146b8b4126c58d6eab1c0bd92dc1aa9836548df4b2b84fd63fa81527f0e428717bcb646448cb750da71236a418cc62134862b2900241189fc310eaef18183015260a0830152825180840184527f01769432c893e80a29ba5b1cc058a9941ea87737cfb0f23e2987573aa16b33d381527f21c127a4f597cbdae9e3970781eff9da45aff9e62e053293771af654f12a0b498183015260c0830152825180840184527f2af347c8f9b40f82a2cb7fd3e6b96e53c18ab2253fc3915b8be72c3bae177d1c81527f0bde59fa4bf2a21e94a0cc0e8ee5377496f9827c04c1e7819a147e318a2ae0b38183015260e0830152825180840184527f2953162287652ce150786cfffba3a968b4e5d378f5ec5e0d9e8274797e14de0881527f20cd82ffa9d903fc21a1c1fe28abfa5673ccef0c8a5aa59df119e0805efdfc3d81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f15dcbe0db3d034c82c80400ac7f3aa53a42e5d1dedbd0704ce11bc4d71e9895981527f1bc74a76a98e11deccb2bce4eee40f9e73b3b30454e5db4d6476c55126acce2181830152610140830152825180840184527f0871168649cbc0441f1234995e5353f04b724ad2a8b0755dd802cd879043c16981527f302c06c3fe3aee1157d48876d8b12e06c0f849d66438c03fa6cabc8756ba284781830152610160830152825180840184527f29f7acf34b95134f31724e86315a45176f8f8e8a0d98e09e78ce53f3175bcb7181527f18c048e35e4d5443a9a5c6d8688d640f4b4b413548d377cd5c8b9f5ed67f8d3081830152610180830152825180840184527f12ca84fbf9f5c8283e0007c1c44eef4769f180606b248e4e441662be57a65ae081527f0f3b92564b6a4235346bef1407f901c64b45ac0aeee560f87113dcea9fe04b3f818301526101a0830152825180840184527f08660ce1208402729f1946036ac74322a052c4eb2f2fa87ee1924ae3987c268781527f129c97fef6c35c522a19f0e249d5fbdcff853c008b3f1f1205f63fdc46e32e89818301526101c0830152825180840184527f0ea3262373e20232c5d6a21dc2a4531361fd912dc91f0ece8b457495d368607081527f29152a83b2e1a9df18312a8ca62cebb78eec479741bbdbad019c774c2b2edf6d818301526101e0830152825180840184527f06e149274cf33818b12d07803a7148c574bfdade407e0f0342e225f7ab1ce7ca81527f243d93cc233615be9cc6ee05a5dff4d4f4b6a04675115764a12b857fb33b4af481830152610200830152825180840184527f28523d76ae8dd9f19edb5766cac5f959b4495ea1a5b2af3e885a59d0b746974e81527f16bb162ffeb0fd1dbd92eb082c0c404627629df624f118c11c29909b0d91c26081830152610220830152825180840184527f1c2ec4d7f9d65b8aacd953e0cc0a62bc1121cd5e41ea445394298d1f30cefead81527f24a7128bd403b543cb8b64a1b8b5bd81a4ea5309722bbf352624cf76844f4e8f81830152610240830152825180840184527f07196b86b0b3bf50024c6eac810fe07444033e33ab9f8c9a0cf9dec88316fb5d81527f2b3d64053f1b282f649893b4e42fcf7cb3fa38703f68871e355c29c02ab380c581830152610260830152825180840184527f0b1af30b3dd63ae4616f72b0372f938bd06ad5ba9a0f9c2fb46ccab8a9f16ab381527f286d5d8510c8d044701ec5f03621a131636a6e29384624ecf91ec4d92e0ede9d81830152610280830152825180840184527ebe0277c5bcaaa1e0bca92f1a2aa4dcdd36f41fbdb2698046ad0aa896c6852381527f30071c99b0ddf3463adbfab2aeb1424ff3f179114bbc63a04c02141223d25080818301526102a0830152825180840184527f18feb8b9442ea3cefee50d6393936678e2ed825ea2719956c68c94d79563defe81527f238c1be2d6bd7fd7c24912ac29b73389a3ba43113d0b93e7648ab46e6faca63d818301526102c0830152825180840184527f16f8ef9cd9196f016ee08c94814ebacefdabbb226d658d9afca44053b5bcb93b81527f249ebd3951a4677df874b8425fdda032ae309f9884e5fa4f8540a03082742c2c818301526102e0830152825180840184527f2b6a8fb05374f12129a2ab44aa31da8fdb3738502d8d3b3d5b520b7174a4410b81527f1654d0d283ce14dac4a7a763cd36788e5ade3b281b970552480cac0013aadf1881830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f19d2fe7fafa2b39b777720b870d7ad825dabf6f520a462e65a7d7385a60b36e983527f089d0b1ec26396c39d17274a132ac640da654fb818ae72bd30185240dec588d9908301526103c081019190915290565b5f6103336120a4838561587a565b612803565b6120b1615509565b60408051808201909152805f516020615a9a5f395f51905f526120d760205f8789615813565b6120e09161587a565b6120ea91906158ab565b81526020908101905f516020615a9a5f395f51905f529061210f906040908789615813565b6121189161587a565b61212291906158ab565b90529392505050565b612133615521565b5f6121418888888888613293565b6040860191909152602085019190915290835292506121608389613590565b6080850191909152606084019190915291989197509095505050505050565b612187615551565b5f612190615570565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016158be565b60405160208183030381529060405280519060200120612803565b91506121fe82613617565b6020850152835260015b60026122166001601c6157ed565b61222091906158f1565b8110156122a05761223d836040516020016121d891815260200190565b925061224883613617565b856122548460026157d6565b601b81106122645761226461583a565b60200201866122748560026157d6565b61227f906001615800565b601b811061228f5761228f61583a565b602002019190915252600101612208565b506122ad6001601c6157ed565b60011660011480156122ca575060026122c86001601c6157ed565b115b15612324576122e5826040516020016121d891815260200190565b91505f6122f183613617565b8560016122ff81601c6157ed565b61230991906157ed565b601b81106123195761231961583a565b602002019190915250505b509250929050565b61233461558e565b5f61234b846040516020016121d891815260200190565b935061235684613617565b50825260015b838110156123b357612394836123736001846157ed565b601c81106123835761238361583a565b6020020151846114956001856157ed565b8382601c81106123a6576123a661583a565b602002015260010161235c565b509093915050565b6123c361558e565b5f805b83811015612485576123d66155ad565b8581525f5b600881101561243f5787610120015183601c81106123fb576123fb61583a565b602002015181600881106124115761241161583a565b602002015182612422836001615800565b600981106124325761243261583a565b60200201526001016123db565b50612454816040516020016121d89190615904565b95505f61246087613617565b8685601c81106124725761247261583a565b60200201919091525050506001016123c6565b5090949293505050565b5f5f6124996155cc565b8381525f5b60298110156124ec5785610140015181602981106124be576124be61583a565b6020020151826124cf836001615800565b602a81106124df576124df61583a565b602002015260010161249e565b50612501816040516020016121d89190615938565b91505f61250d83613617565b5096929550919350505050565b5f80806125286001856157ed565b6125339060026157d6565b61253e906001615800565b6001600160401b038111156125555761255561584e565b60405190808252806020026020018201604052801561257e578160200160208202803683370190505b50905084815f815181106125945761259461583a565b60209081029190910101525f5b6125ac6001866157ed565b81101561265f5786610160015181601b81106125ca576125ca61583a565b602002015151826125dc8360026157d6565b6125e7906001615800565b815181106125f7576125f761583a565b60200260200101818152505086610160015181601b811061261a5761261a61583a565b6020020151602001518282600261263191906157d6565b61263c906002615800565b8151811061264c5761264c61583a565b60209081029190910101526001016125a1565b50612674816040516020016121d8919061596c565b91505f61268083613617565b509792965091945050505050565b5f808061269c846001615800565b6001600160401b038111156126b3576126b361584e565b6040519080825280602002602001820160405280156126dc578160200160208202803683370190505b50905084815f815181106126f2576126f261583a565b60209081029190910101525f5b8481101561265f5786610180015181601c811061271e5761271e61583a565b60200201518261272f836001615800565b8151811061273f5761273f61583a565b60209081029190910101526001016126ff565b5f5f61275c6155eb565b8381526101a08501805151602080840191909152905181015160408084019190915251612501916121d8918491016159a1565b5f5f516020615aba5f395f51905f52825b0692915050565b5f5f516020615aba5f395f51905f5282840990505b92915050565b5f5f516020615aba5f395f51905f528284089392505050565b5f5f516020615aba5f395f51905f52825f516020615aba5f395f51905f520384089392505050565b5f5f516020615aba5f395f51905f52826127a0565b5f6103338361077b84612b62565b815160208301515f91829161283b91906127c2565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292d576129238261077b87846127db565b915060010161290c565b50612936615609565b5f5b6008811015612997575f8482600881106129545761295461583a565b602002015190506129698161077b89856127db565b905061297481612b62565b9050808383600881106129895761298961583a565b602002015250600101612938565b505f5b60088110156129ea575f8782600881106129b6576129b661583a565b602002015190506129d3818484600881106114a5576114a561583a565b90506129df86826127c2565b95505060010161299a565b506109b684836127a7565b5f5f612a0b60016107808561077b8960016127db565b9050612a1784826127a7565b95945050505050565b5f612a2961558e565b612a34868285613647565b612a40868683866137f3565b612a4c868683866139df565b612a57868285613c0a565b612a62868285613dfe565b612a6e86868386614147565b612a798682856145f3565b612a84868285614a05565b612a8f868285614dc6565b6109b681856150c6565b60605f826001600160401b03811115612ab457612ab461584e565b604051908082528060200260200182016040528015612add578160200160208202803683370190505b50905083815f81518110612af357612af361583a565b602090810291909101015260015b83811015612b5a57612b3582612b186001846157ed565b81518110612b2857612b2861583a565b6020026020010151612d42565b828281518110612b4757612b4761583a565b6020908102919091010152600101612b01565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615aba5f395f51905f520360808201525f516020615aba5f395f51905f5260a082015260205f60c08360055afa80612bbe575f5ffd5b505f51608091909101604052949350505050565b5f516020615aba5f395f51905f520390565b60605f826001600160401b03811115612bff57612bff61584e565b604051908082528060200260200182016040528015612c28578160200160208202803683370190505b509050825b8015612d37575f85612c406001846157ed565b81518110612c5057612c5061583a565b602002602001015190505f89600184612c6991906157ed565b601c8110612c7957612c7961583a565b602002015190505f612cd4612c98612c91858d6127a7565b60026127a7565b61079e8b612ca76001896157ed565b601c8110612cb757612cb761583a565b602002015161077b612cce8861077b60018a6127db565b876127db565b9050612cf58161077b610b28612cef8761077b6001896127db565b866127c2565b99508990508085612d076001876157ed565b81518110612d1757612d1761583a565b60200260200101818152505050505080612d30906159d4565b9050612c2d565b509695505050505050565b5f6127bc82836127a7565b612d55615509565b5f612d817f00000000000000000000000000000000000000000000000000000000000000006024615800565b612d8c906002615800565b90505f5b81811015612dc257612dba858281518110612dad57612dad61583a565b6020026020010151612fda565b600101612d90565b50604051600190815b60018401811015612e275760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcb565b5080518452602081015160208501525080612e55576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e65615509565b5f516020615a9a5f395f51905f5282602001515f516020615a9a5f395f51905f52612e9091906157ed565b612e9a91906158ab565b60208301525090565b5f5f5f612eaf86612f19565b91509150612ebb615609565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0e916121d8918491016159e9565b979650505050505050565b612f21615509565b612f29615509565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9a5f395f51905f528380095f516020615a9a5f395f51905f5260035f516020615a9a5f395f51905f52838709085f516020615a9a5f395f51905f5284850914915050806130735760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613081615509565b613089615509565b613093838661511f565b9050612a178185615175565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132359190615a1d565b5f60405180830381855afa9150503d805f811461326d576040519150601f19603f3d011682016040523d82523d5f602084013e613272565b606091505b50915091508180156109b65750808060200190518101906109b69190615a33565b5f808080806132a3866001615800565b6132ae906006615800565b6001600160401b038111156132c5576132c561584e565b6040519080825280602002602001820160405280156132ee578160200160208202803683370190505b509050865f1b815f815181106133065761330661583a565b60209081029190910101525f5b61331e6010886157ed565b81101561336f578989828181106133375761333761583a565b905060200201358282600161334c9190615800565b8151811061335c5761335c61583a565b6020908102919091010152600101613313565b505f5b60108110156133e0578a5161339a9082601081106133925761339261583a565b602002015190565b828260106133a98b6001615800565b6133b391906157ed565b6133bd9190615800565b815181106133cd576133cd61583a565b6020908102919091010152600101613372565b5060208a015151816133f3886001615800565b815181106134035761340361583a565b6020908102919091018101919091528a810151015181613424886001615800565b61342f906001615800565b8151811061343f5761343f61583a565b602090810291909101015260408a0151518161345c886001615800565b613467906002615800565b815181106134775761347761583a565b60209081029190910181019190915260408b0151015181613499886001615800565b6134a4906003615800565b815181106134b4576134b461583a565b602090810291909101015260608a015151816134d1886001615800565b6134dc906004615800565b815181106134ec576134ec61583a565b60209081029190910181019190915260608b015101518161350e886001615800565b613519906005615800565b815181106135295761352961583a565b602002602001018181525050613549816040516020016121d8919061596c565b915061355482613617565b604080516020810186905292975090955061356f91016121d8565b91505f61357b83613617565b50959b949a5094985090965091945050505050565b5f5f5f61359b615628565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fd916121d891849101615a52565b915061360882613617565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363282612803565b945061363d81612803565b9350505050915091565b5f6136538460076151d6565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b46136ae6136888560036127db565b61077b6136a36136988b5f6151d6565b61077b8c601d6151d6565b61077b8b601c6151d6565b836127a7565b905061373561372a6137116136f86136df856107806136d48d60026151d6565b61077b8e601c6151d6565b6107806136ed8c60036151d6565b61077b8d601d6151d6565b6107806137068b60046151d6565b61077b8c601e6151d6565b61078061371f8a60056151d6565b61077b8b601f6151d6565b6107808860016151d6565b9050613754816107806137498660016127db565b61077b8a60276151d6565b905061376081846127a7565b905061376c81856127a7565b8552505f90506137a661379c61379161378688601c6151d6565b61078089601f6151d6565b61079e8860246151d6565b610780875f6151d6565b90506137b78161077b8460026127db565b90506137c88161077b8460016127db565b90506137d481836127a7565b90506137e081846127a7565b9050808460015b60200201525050505050565b5f5f5f61382961381f61380789601c6151d6565b6107806138158b60126151d6565b8a606001516127a7565b87608001516127c2565b90506138628161077b6138586138408b601d6151d6565b61078061384e8d60136151d6565b8c606001516127a7565b89608001516127c2565b90506138878161077b6138586138798b601e6151d6565b61078061384e8d60146151d6565b90506138ac8161077b61385861389e8b601f6151d6565b61078061384e8d60156151d6565b92505f90506138d061381f6138c289601c6151d6565b6107806138158b600e6151d6565b90506138f58161077b6138586138e78b601d6151d6565b61078061384e8d600f6151d6565b905061391a8161077b61385861390c8b601e6151d6565b61078061384e8d60106151d6565b905061393f8161077b6138586139318b601f6151d6565b61078061384e8d60116151d6565b91505f90506139666139606139558960206151d6565b6107808a601a6151d6565b846127a7565b905061399b8161079e61399561397d8b60286151d6565b61078061398b8d601b6151d6565b8c60a001516127a7565b856127a7565b90506139a781856127a7565b6040860152505f6139ca6139956139bf89601b6151d6565b61077b8a60286151d6565b9050808560035b602002015250505050505050565b5f5f613a3d613a25613a0d6139f86138588a60166151d6565b610780613a068b60176151d6565b8a516127a7565b610780613a1b8a60186151d6565b89602001516127a7565b610780613a338960196151d6565b88604001516127a7565b91505f613a74613a5b613a5189601c6151d6565b88608001516127c2565b610780613a698a60036151d6565b61077b8b60246151d6565b90505f613a9d613a8589601d6151d6565b610780613a928b5f6151d6565b61077b8c60256151d6565b90505f613ac7613aae8a601e6151d6565b610780613abc8c60016151d6565b61077b8d60266151d6565b9050613b06613aee613ae085610780868d5f01516127a7565b610780848c602001516127a7565b610780613afc8c60046151d6565b8b604001516127a7565b93505050505f613b1a6139608860216151d6565b90505f613b2b6139608960216151d6565b90505f613b63613b4a613b3f8b60236151d6565b6107808c60066151d6565b61079e613b588c60236151d6565b61077b8d60066151d6565b90505f613b87613b81613b7687896127a7565b61077b8d60216151d6565b836127db565b9050613b9381886127a7565b90505f613bbb613bad613ba78d60066151d6565b876127a7565b61079e613ba78e60226151d6565b90505f613bc98c60236151d6565b90505f613bd9613b8183846127a7565b60808c0185905260a08c018490529050613bf3818b6127a7565b8b6006602002015250505050505050505050505050565b5f613c165f60016127db565b90505f613c245f60026127db565b90505f613c325f60036127db565b90505f613c4e613c4388601d6151d6565b61079e89601c6151d6565b90505f613c6a613c5f89601e6151d6565b61079e8a601d6151d6565b90505f613c86613c7b8a601f6151d6565b61079e8b601e6151d6565b90505f613ca2613c978b60246151d6565b61079e8c601f6151d6565b905083613cb38161077b818b6127c2565b9050613cc38161077b878a6127c2565b9050613cd38161077b87896127c2565b9050613ce48161077b8d60086151d6565b9050613cf0818a6127a7565b60e08b01525082613d058161077b818b6127c2565b9050613d158161077b868a6127c2565b9050613d258161077b86896127c2565b9050613d368161077b8d60086151d6565b9050613d42818a6127a7565b6101008b01525081613d588161077b818b6127c2565b9050613d688161077b858a6127c2565b9050613d788161077b85896127c2565b9050613d898161077b8d60086151d6565b9050613d95818a6127a7565b6101208b01525080613dab8161077b818b6127c2565b9050613dbb8161077b848a6127c2565b9050613dcb8161077b84896127c2565b9050613ddc8161077b8d60086151d6565b9050613de8818a6127a7565b610140909a019990995250505050505050505050565b613e376040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4284601d6151d6565b8152613e4f84601e6151d6565b6020820152613e5f8460246151d6565b6040820152613e6f8460276151d6565b6060820152613e7f8460266151d6565b6080820152613e8f8460256151d6565b60a08201525f613ea08560026151d6565b90505f613ead865f6151d6565b90505f613ec18460400151855f01516127db565b90505f613ed6856020015186602001516127a7565b606086015190915086905f90613eec90806127a7565b90505f613f0a613f0489602001518a606001516127a7565b886127a7565b90505f613f29613f228a60a001518b604001516127c2565b8a516127c2565b9050613f38613ba782886127a7565b9050613f5f613f59613f53613f4d84876127db565b886127db565b846127c2565b836127c2565b9050613f87613f7c613f7183876127a7565b61077b8f60096151d6565b61077b60018a6127db565b6101608c015250505050602085015160808601515f91613fa6916127c2565b90505f613fc4613fba8860600151886127a7565b88602001516127db565b90505f613fe8613fd484876127a7565b6107806139958b60a001518c5f01516127db565b9050614010614005613ffa838c6127a7565b61077b8e60096151d6565b61077b6001896127db565b6101808b0152505f9150614031905061402a8360116127c2565b87516127a7565b90505f61403e83846127c2565b905061404a81826127c2565b90505f6140588360096127a7565b905061408161407b6139606140748b60a001518c5f01516127c2565b8b516127c2565b826127db565b60c089018190525f9061409c90613f0490613f71908d6127a7565b90506140af8b600b6020020151826127c2565b6101608c0152505086515f92506140d6915061402a906140cf90806127c2565b88516127c2565b90505f6141166140f18361077b8a5f01518b60a001516127db565b602089015161079e9061410490806127c2565b61077b8b602001518c608001516127c2565b905061413389600c6020020151610780613f04613f71858d6127a7565b89600c602002015250505050505050505050565b6141b1604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141c96141bf86601e6151d6565b85604001516127a7565b8082526141e8906107806141de88601d6151d6565b87602001516127a7565b8082526141fd9061078061402a88601c6151d6565b80825261420f906107808760016151d6565b808252602082018190526142289061079e87601f6151d6565b81526142436142388660246151d6565b61079e87601c6151d6565b60808201526142616142568660276151d6565b61079e87601f6151d6565b6060820152608081015161427a9061077b8160016127db565b6101c082015260808101516142ba906142b0906142a99061077b60015f516020615aba5f395f51905f526157ed565b60016127c2565b82606001516127a7565b60a082018190526142f0906142e29061077b6142d78960026151d6565b61077b8a60036151d6565b61077b61399588600a6151d6565b83600e60200201526101c0810151614314906142e29061077b6142d78960026151d6565b6101e084015280516143399061077b61432e8860026151d6565b61077b8960036151d6565b6101208201525f61435861434e87601f6151d6565b83602001516127db565b90506143698161077b8360016127db565b60e083015261438661437c8760266151d6565b86604001516127a7565b604083018190526143a99061078061439f8960256151d6565b88602001516127a7565b604083018190526143c9906107806143c28960246151d6565b88516127a7565b60408301526143e66143dc8760276151d6565b83604001516127db565b60408301525f6144056143fa8860266151d6565b61079e89601e6151d6565b90506144576144326136ae6142a9866080015160015f516020615aba5f395f51905f5261077b91906157ed565b61077b6142a9866040015160015f516020615aba5f395f51905f5261077b91906157ed565b60c084015260408301516144799061446f90806127a7565b84604001516127db565b61010084015260c08301516144a5906144979061077b8a60046151d6565b61077b613ba78a600a6151d6565b6102008601526101c08301516144c4906144979061077b8a60046151d6565b6102208601526101008301516144e3906144979061077b8a60046151d6565b61024086015260e08301516144fd9061077b8960046151d6565b61014084015261451c6145118860256151d6565b61079e89601d6151d6565b610160840152608083015161455a906143fa9061454f906142a99061077b60015f516020615aba5f395f51905f526157ed565b8561016001516127a7565b61018084018190526101208401516101a08501819052614591916107809061077b6145868c60056151d6565b61077b8d60026151d6565b6101a0840181905283516145b191906107809061077b6145868c5f6151d6565b6101a084018190526101408401516145c991906127c2565b6101a084018190526145e39061077b613ba78a600a6151d6565b6101a0840181905285600d6139d1565b61462c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466161464861463d86601c6151d6565b61077b8760256151d6565b6107806146568760246151d6565b61077b88601d6151d6565b81526146a661469b61468261467787601c6151d6565b61077b88601f6151d6565b61078061469088601d6151d6565b61077b89601e6151d6565b61079e8660266151d6565b604082018190526146bb90600160441b6127a7565b604082018190526146d19061079e8660276151d6565b6040820181905281516146e491906127c2565b604082018190526146fa9061077b8660056151d6565b6040820152805161470f90600160441b6127a7565b80825261472f906107806147248760246151d6565b61077b8860256151d6565b808252602082018190526147569061079e61474b87601e6151d6565b61078088601f6151d6565b6020820181905261476c9061077b8660046151d6565b60208201528051606082018190526147899061078086601f6151d6565b606082018190526147ad9061079e6147a28760266151d6565b6107808860276151d6565b606082018190526147c29061077b865f6151d6565b8160600181815250505f6147eb6147e1836020015184604001516127c2565b83606001516127c2565b90506147fc8161077b8760036151d6565b905061481461480c8660256151d6565b6140006127a7565b6080830181905261482a906107808760246151d6565b6080830181905261483d906140006127a7565b608083018190526148539061078087601e6151d6565b60808301819052614866906140006127a7565b6080830181905261487c9061078087601d6151d6565b6080830181905261488f906140006127a7565b608083018190526148a59061078087601c6151d6565b608083018190526148bb9061079e87601f6151d6565b608083018190526148d19061077b8760056151d6565b60808301526148e461480c8660266151d6565b60a083018190526148fa906107808760256151d6565b60a0830181905261490d906140006127a7565b60a08301819052614923906107808760246151d6565b60a08301819052614936906140006127a7565b60a0830181905261494c9061078087601f6151d6565b60a0830181905261495f906140006127a7565b60a083018190526149759061078087601e6151d6565b60a0830181905261498b9061079e8760276151d6565b60a083018190526149a09061077b875f6151d6565b60a0830181905260808301515f916149b891906127c2565b90506149c98161077b8860046151d6565b90506149d582826127c2565b60c084018190526149ee9061077b613ba789600b6151d6565b60c084018190528560136020020152505050505050565b614a7b6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a94614a8985601c6151d6565b6107808660026151d6565b8152614aaf614aa485601d6151d6565b6107808660036151d6565b6020820152614acd614ac285601e6151d6565b6107808660046151d6565b6040820152614aeb614ae085601f6151d6565b6107808660056151d6565b60608201528051614b1d90614b1690614b0f90614b0890806127a7565b84516127a7565b83516127a7565b82516127a7565b60808201526020810151614b5b90614b5190614b4790614b3d90806127a7565b84602001516127a7565b83602001516127a7565b82602001516127a7565b60a08201526040810151614b9990614b8f90614b8590614b7b90806127a7565b84604001516127a7565b83604001516127a7565b82604001516127a7565b60c08201526060810151614bcd906142b090614bc390614bb990806127a7565b84606001516127a7565b83606001516127a7565b60e0820152608081015160a0820151614be691906127c2565b61010082015260c081015160e0820151614c0091906127c2565b61012082015260a0810151614c2490614c1990806127c2565b8261012001516127c2565b61014082015260e0810151614c4890614c3d90806127c2565b8261010001516127c2565b610160820152610120810151614c5e90806127c2565b6101e08201819052614c7f90614c7490806127c2565b8261016001516127c2565b6101e0820152610100810151614c9590806127c2565b6101a08201819052614cb690614cab90806127c2565b8261014001516127c2565b6101a08201819052610160820151614ccd916127c2565b6101808201526101408101516101e0820151614ce991906127c2565b6101c0820152614cfd6136ae85600c6151d6565b6102008201819052610280840151610180830151614d28926107809161077b9061079e8a60246151d6565b8360146020020152614d58836015602002015161078083610200015161077b856101a0015161079e8a60256151d6565b8360156020020152614d88836016602002015161078083610200015161077b856101c0015161079e8a60266151d6565b8360166020020152614db8836017602002015161078083610200015161077b856101e0015161079e8a60276151d6565b836017602002015250505050565b614e186040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4d7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278f565b8152602001614e7b7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278f565b8152602001614ea87e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278f565b8152602001614ed67f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278f565b90529050614ef3614ee886601c6151d6565b6107808760026151d6565b6101208301819052614f3290614f2790614f1c90614f1190806127a7565b8561012001516127a7565b8461012001516127a7565b8361012001516127a7565b8252614f3f85601d6151d6565b6020830152614f4f85601e6151d6565b6040830152614f5f85601f6151d6565b606083015281516020830151614f87916147e191614f7d91906127c2565b84604001516127c2565b6080830152614f9a61396086600d6151d6565b6101408301528151614fbb90614fb190835f6114a5565b83608001516127c2565b60a0830152614fe7846018602002015161078084610140015161077b8660a0015161079e8b60246151d6565b610300850152602082015161500290614fb1908360016114a5565b60c083015261502e846019602002015161078084610140015161077b8660c0015161079e8b60256151d6565b610320850152604082015161504990614fb1908360026114a5565b60e083015261507584601a602002015161078084610140015161077b8660e0015161079e8b60266151d6565b610340850152606082015161509090614fb1908360036114a5565b6101008301526150be84601b602002015161078084610140015161077b86610100015161079e8b60276151d6565b84601b6137e7565b815160015b601c8110156151185761510e826107808684601c81106150ed576150ed61583a565b6020020151866150fe6001876157ed565b601b81106114a5576114a561583a565b91506001016150cb565b5092915050565b615127615509565b61512f615509565b604051835181526020840151602082015284604082015260408160608360075afa80615159575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517d615509565b615185615509565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151ba575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ea576151ea615a85565b602981106151fa576151fa61583a565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522c615509565b8152602001615239615509565b8152602001615246615509565b8152602001615253615509565b8152602001615260615509565b815260200161526d615509565b815260200161527a615509565b8152602001615287615509565b8152602001615294615509565b81526020016152a1615509565b81526020016152ae615509565b81526020016152bb615509565b81526020016152c8615509565b81526020016152d5615509565b81526020016152e2615509565b81526020016152ef615509565b81526020016152fc615509565b8152602001615309615509565b8152602001615316615509565b8152602001615323615509565b8152602001615330615509565b815260200161533d615509565b815260200161534a615509565b8152602001615357615509565b8152602001615364615509565b8152602001615371615509565b815260200161537e615509565b815260200161538b615509565b905290565b604051806101e001604052806153a4615646565b81526020016153b1615509565b81526020016153be615509565b81526020016153cb615509565b81526020016153d8615509565b81526020016153e5615509565b81526020016153f2615509565b81526020016153ff615509565b815260200161540c615509565b8152602001615419615665565b8152602001615426615693565b81526020016154336156b2565b815260200161537161558e565b604051806101000160405280615454615521565b8152602001615461615551565b815260200161546e61558e565b815260200161547b61558e565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d76156e0565b81526020016154e46156e0565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567d615609565b8152602001906001900390816156755790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156ca615509565b8152602001906001900390816156c25790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615711575f5ffd5b84356001600160401b03811115615726575f5ffd5b8501601f81018713615736575f5ffd5b80356001600160401b0381111561574b575f5ffd5b87602082840101111561575c575f5ffd5b6020918201955093508501356001600160401b0381111561577b575f5ffd5b8501601f8101871361578b575f5ffd5b80356001600160401b038111156157a0575f5ffd5b8760208260051b84010111156157b4575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bc576127bc6157c2565b818103818111156127bc576127bc6157c2565b808201808211156127bc576127bc6157c2565b5f5f85851115615821575f5ffd5b8386111561582d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615873576158736157c2565b5060010190565b803560208310156127bc575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158b9576158b9615897565b500690565b5f8183825b60058110156158e25781518352602092830192909101906001016158c3565b50505060a08201905092915050565b5f826158ff576158ff615897565b500490565b5f8183825b6009811015615928578151835260209283019290910190600101615909565b5050506101208201905092915050565b5f8183825b602a81101561595c57815183526020928301929091019060010161593d565b5050506105408201905092915050565b81515f90829060208501835b82811015615996578151845260209384019390910190600101615978565b509195945050505050565b5f8183825b60038110156159c55781518352602092830192909101906001016159a6565b50505060608201905092915050565b5f816159e2576159e26157c2565b505f190190565b5f8183825b6008811015615a0d5781518352602092830192909101906001016159ee565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a43575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a76578151835260209283019290910190600101615a57565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f21181792f6a1438a78b4483c74ebad1e2c887b84245fedfdc5695dc401dfee4b60c05260ae60e05260805160a05160c05160e051615ada6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5b01525f5050615ada5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156fe565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d6565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d6565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ed565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d6565b905060016102a96008856157d6565b6102b391906157d6565b6102bd9082615800565b90506102cb600160296157d6565b6102d59082615800565b905060026102e46001856157ed565b6102ee91906157d6565b6102f89082615800565b90506103056001846157d6565b61030f9082615800565b905061031c6002806157d6565b6103269082615800565b9050610333601082615800565b9392505050565b610342615206565b61034a61175b565b905090565b610357615390565b5f805b60108110156103b957610386868387610374602083615800565b9261038193929190615813565b612096565b835182601081106103995761039961583a565b6020020181815250506020826103af9190615800565b915060010161035a565b506103dd8582866103cb604083615800565b926103d893929190615813565b6120a9565b60208301526103ed604082615800565b90506104008582866103cb604083615800565b6040808401919091526104139082615800565b90506104268582866103cb604083615800565b6060830152610436604082615800565b90506104498582866103cb604083615800565b60c0830152610459604082615800565b905061046c8582866103cb604083615800565b60e083015261047c604082615800565b905061048f8582866103cb604083615800565b608083015261049f604082615800565b90506104b28582866103cb604083615800565b6101008301526104c3604082615800565b90506104d68582866103cb604083615800565b60a08301526104e6604082615800565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615800565b84610120015183601c81106105255761052561583a565b6020020151826008811061053b5761053b61583a565b6020020181815250506020836105519190615800565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615800565b83610140015182602981106105985761059861583a565b6020020181815250506020826105ae9190615800565b9150600101610567565b505f5b6105c66001856157ed565b81101561060f576105de8683876103cb604083615800565b83610160015182601b81106105f5576105f561583a565b6020020152610605604083615800565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615800565b83610180015182601c81106106425761064261583a565b6020020181815250506020826106589190615800565b9150600101610612565b506106748582866103cb604083615800565b6101a0830152610685604082615800565b90506106988582866103cb604083615800565b6101c0830152509392505050565b6106ae615440565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461232c565b604084019190915290506106f58882856123bb565b60608401919091529050610709888261248f565b6080840191909152905061071e88828561251a565b60a0840191909152905061073388828561268e565b60c084019190915290506107478882612752565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615800565b61278f565b6127a7565b6127c2565b90505f6107a38761079e8a61077b6107768b6001615800565b6127db565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561083f575f6107fc8c83815181106107ef576107ef61583a565b6020026020010151612803565b905061080c8661077b86846127c2565b955061081c8561077b85846127c2565b9450610828848b6127c2565b9350610834838b6127db565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583a565b602002015190506108738661077b86846127c2565b95506108838561077b85846127c2565b945061088f848b6127c2565b935061089b838b6127db565b925050600101610842565b506108b18484612818565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583a565b602002015190505f6109178286612826565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583a565b6020020151905061095f8382612846565b9550610986886040015185601c811061097a5761097a61583a565b602002015186836129f5565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a20565b90508281145b9695505050505050565b5f6109c9615499565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a99565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615800565b610a31906002615800565b6001600160401b03811115610a4857610a4861584e565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615800565b610aab906002615800565b6001600160401b03811115610ac257610ac261584e565b604051908082528060200260200182016040528015610afb57816020015b610ae8615509565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583a565b60200260200101516127db565b612b62565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583a565b60200260200101516127c2565b610140850181905261012085015160c0880151610b829261078091906127a7565b845260a0860151610bb290610b9690612b62565b61077b86610120015161079e8a60c001518961014001516127a7565b6020850152815160019083905f90610bcc57610bcc61583a565b602002602001018181525050876101a00151815f81518110610bf057610bf061583a565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd2565b60408501526020840151610c2690612bd2565b606085015260015b60248111610cd157610c4885604001518660a001516127a7565b838281518110610c5a57610c5a61583a565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ed565b60298110610c9457610c9461583a565b60200201518860a001516127a7565b60c086015260a08501516080880151610cbc91906127a7565b60a0860152610cca81615862565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615800565b90505f610cf7602484615800565b9050610d28858381518110610d0e57610d0e61583a565b602002602001015161078089606001518a60a001516127a7565b858381518110610d3a57610d3a61583a565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583a565b60200201518a60a001516127a7565b60c088015260a087015160808a0151610d9091906127a7565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583a565b6020026020010181905250866080015181600281518110610ddb57610ddb61583a565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583a565b60200260200101819052508660c0015181600481518110610e2157610e2161583a565b60200260200101819052508660e0015181600581518110610e4457610e4461583a565b602002602001018190525086610100015181600681518110610e6857610e6861583a565b602002602001018190525086610120015181600781518110610e8c57610e8c61583a565b602002602001018190525086610140015181600881518110610eb057610eb061583a565b602002602001018190525086610160015181600981518110610ed457610ed461583a565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583a565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583a565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583a565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583a565b602002602001018190525086610200015181600e81518110610f8857610f8861583a565b602002602001018190525086610220015181600f81518110610fac57610fac61583a565b602002602001018190525086610240015181601081518110610fd057610fd061583a565b602002602001018190525086610260015181601181518110610ff457610ff461583a565b6020026020010181905250866102800151816012815181106110185761101861583a565b6020026020010181905250866102a001518160138151811061103c5761103c61583a565b6020026020010181905250866102c00151816014815181106110605761106061583a565b6020026020010181905250866102e00151816015815181106110845761108461583a565b6020026020010181905250866103000151816016815181106110a8576110a861583a565b6020026020010181905250866103200151816017815181106110cc576110cc61583a565b6020026020010181905250866103400151816018815181106110f0576110f061583a565b6020026020010181905250866103600151816019815181106111145761111461583a565b602002602001018190525086610380015181601a815181106111385761113861583a565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583a565b6020026020010181905250866103c0015181601c815181106111805761118061583a565b6020026020010181905250876020015181601d815181106111a3576111a361583a565b6020026020010181905250876040015181601e815181106111c6576111c661583a565b6020026020010181905250876060015181601f815181106111e9576111e961583a565b602002602001018190525087608001518160208151811061120c5761120c61583a565b60200260200101819052508760a001518160218151811061122f5761122f61583a565b6020026020010181905250876101000151816022815181106112535761125361583a565b60200260200101819052508760c00151816023815181106112765761127661583a565b60200260200101819052508760e00151816024815181106112995761129961583a565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be4565b9050611309815f815181106112f6576112f661583a565b60200260200101518661012001516127a7565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a7565b8861014001516127a7565b608086015260c087015161134d90612d42565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ed565b81101561157c576113af610b288960e001518784600161139f9190615800565b81518110610b1b57610b1b61583a565b61012087015260e08801516113de90610b2890876113ce856001615800565b81518110610b5457610b5461583a565b61014087015260a08601516101208701516113f991906127a7565b61016087015260a086015160c089015161142191611416916127a7565b8761014001516127a7565b61018087018190526114449061143690612bd2565b610780886101600151612bd2565b848261145260246001615800565b61145c9190615800565b8151811061146c5761146c61583a565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615800565b601c81106114a5576114a561583a565b60200201516127a7565b90506114e981610780896101600151868660016114cc9190615800565b815181106114dc576114dc61583a565b60200260200101516127a7565b90506114f98760800151826127c2565b608088015260a087015160c08a015161151f91611515916127a7565b8a60c001516127a7565b60a08801526101608b015182601b811061153b5761153b61583a565b6020020151848361154e60246001615800565b6115589190615800565b815181106115685761156861583a565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615800565b815181106115ce576115ce61583a565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615800565b8151811061161a5761161a61583a565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615800565b611663906001615800565b815181106116735761167361583a565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615800565b6116ba906001615800565b815181106116ca576116ca61583a565b6020026020010181815250505f6116e18486612d4d565b90505f6116ed83612e5d565b90505f6116fe8d5f01518484612ea3565b90505f5f61170e8f5f0151612f19565b9150915061171b82612fda565b61172481612fda565b61172f858385613079565b945061173c848285613079565b9350611748858561309f565b9f9e505050505050505050505050505050565b611763615206565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f020040769b48ad4fcbeab3fb1eae5db371af77b10203aedbebb2793986d85aaf81527f1be8296926e8c198245b7d4c3a554cd58503c0f25d8048dc27e5eb22f22ca51a818301526060830152825180840184527f2ea6fb6c84c2cecbff84ef6d01ac91a5230a0debb8dcfb212a5f238151f3a88481527f2b507df2ea833109ef98d66805d70badf529dad92e93b32af209bf68e865ef3a818301526080830152825180840184527f1238a641fd741be804cbdc9099934baa0bede5c8da507e112689fe0f74cd596181527f0e3ca91ab9f9fe21237434ab8c9bc63cc5f67d57d97e69c9f82e6f7ef77b3e7d8183015260a0830152825180840184527f0c84cc09907b9243a349d35b91b074db925e53cd096653e1d802be99c054950481527f0812df86afe3d4d4e0d931e59248dec99c7a6c404c65ed9503843094b87163f28183015260c0830152825180840184527f28f3941b291225648c69ad7315bd68607fcf281b60ba7060e67c25e06c08355d81527e712c867e92ca7b373d31451236f13d918b0bf69a0adcebd6c853ec1a88e8ed8183015260e0830152825180840184527f12d705d12e4d32b8912344f8bfab702261603b0ea4be1439882aee46a265675f81527f2498a61e8f21cb53ec40385ab1ae03e5fe2a9684cfa3f84e02243211b22e10ba81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f2dd7781b36db7871316c63a082be31784f4e49a7a47c33a933688bd734b9d7b081527f241ea92c79a9fb99730b723a12a25be7a0c4852a92c5c489265fdcb252474fbf81830152610140830152825180840184527f255768ddc9a655367502c7de58c96ca266c4c40b6c13b9f95c37ff0430cc295e81527f1c7448a1424daa4b878c65703cc9f6b18279c723079893c74ad7157acf2afb1981830152610160830152825180840184527f1f2a8909ecae50271ce74cf7235ae12cb1238bc11fc4c7b00c061a526b38c77181527f2fff9263ebf7f001dd5a8c55e5db2e221792862109b54133e2b4f88f4b1595d081830152610180830152825180840184527f23fb970c89fc645ac5e8a1f6bdcf55741a6b8061fa4dc5f55fcb5e3ce58acdb881527f1aeb96fde4abc69b24582f37e9602ee3c0988e7bc7f925c7c71abca43292a293818301526101a0830152825180840184527f0b083c8139a44cbaf48d32dfa9201fdc99ae26cc7533ea27fb2911de02b1c9db81527f1f4cbdbdd0ab7679c53de66e271ad102d9f28704701c08e6f8a1f7e6ae36237b818301526101c0830152825180840184527f1799c8d9155ffdee526d828336c0ec28a2245deef25451336922136dd05bc11581527f1d2474bbc07dfd2c42339431858b1c4924827246688a3570e4d8f4ec58c4618b818301526101e0830152825180840184527f1371861c4ade6c52911dff510fc20fcf341fcf8c303c858b337c2171a9b8650d81527f02c5a7310122f62f08b807ef13885a3f9bc7a382410dae3f2aadcd26e82aed1181830152610200830152825180840184527f2456915a011d1201142f48e34ea4dcb8b465b04e318c74a533aed0f8c6f5024a81527f16dc7330445a1479939f266dca12e43004bec6c8732675cce7c88e6311037a0c81830152610220830152825180840184527f07ba374d3287def272fc85a684a070cfe4b7a577a9de435b16d345ba7491b32081527f15217b7189d406456165f9ed179877e59afdeddc495d922206108b4bed34829281830152610240830152825180840184527f0379e80852b118b3856655566b8c76d85407b72921d28778c2c6d6b7716aee5b81527f176a0ceb9682d6e293a24554a80b2094c28917eb45cf6334908c86ac77686b2f81830152610260830152825180840184527f25c3dde9c3faf29481f3587b8c79dc309904ce920bf8ab9d92226e7fd39f8ad481527f1bb1a8a66943d72d127e07978e5d59275bb54770e9a9404e80180f9bd3edf46681830152610280830152825180840184527f1c39f091eb8b9e3260654070e2ef0ef7bd91cb68cecce7b30e65fce41b95735f81527f1cea773389f749036b6da7d54e9379af091c160dc5651b96f1a8827db36ddb33818301526102a0830152825180840184527f0601b0a1c9d3f3354cc01744f541d81860ee3911842efb5c7839f0350dfa6d6881527f1396e06f7d0366466ea328e70370b01907aa6b4b64e376e6a7877fd68d0c6521818301526102c0830152825180840184527f2ea4698fccc8e4e1d75405759165f8bac319d3a053be469827c26bac4e3a998981527f03899943c5be0ac6bd1d8ae8063d11c7944c9a3b1db9626d8f01241f8d31273a818301526102e0830152825180840184527f0ba5babd77a87444ed467057d0eb2575028ebf92c810647b119f76eb9f8b6d0281527f0cb58895bce6aed8d960dbe2eaea424acf2008732f70c6fabbd0f3384af1c79781830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f27a35252f29a4044baab7ffc07ac2e80e560621ad55ff81f44177883b7b2f19d83527f24c99a5512742bdf3fe52ba28901832b635579be874eddebdc5eceabfa926cd8908301526103c081019190915290565b5f6103336120a4838561587a565b612803565b6120b1615509565b60408051808201909152805f516020615a9a5f395f51905f526120d760205f8789615813565b6120e09161587a565b6120ea91906158ab565b81526020908101905f516020615a9a5f395f51905f529061210f906040908789615813565b6121189161587a565b61212291906158ab565b90529392505050565b612133615521565b5f6121418888888888613293565b6040860191909152602085019190915290835292506121608389613590565b6080850191909152606084019190915291989197509095505050505050565b612187615551565b5f612190615570565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016158be565b60405160208183030381529060405280519060200120612803565b91506121fe82613617565b6020850152835260015b60026122166001601c6157ed565b61222091906158f1565b8110156122a05761223d836040516020016121d891815260200190565b925061224883613617565b856122548460026157d6565b601b81106122645761226461583a565b60200201866122748560026157d6565b61227f906001615800565b601b811061228f5761228f61583a565b602002019190915252600101612208565b506122ad6001601c6157ed565b60011660011480156122ca575060026122c86001601c6157ed565b115b15612324576122e5826040516020016121d891815260200190565b91505f6122f183613617565b8560016122ff81601c6157ed565b61230991906157ed565b601b81106123195761231961583a565b602002019190915250505b509250929050565b61233461558e565b5f61234b846040516020016121d891815260200190565b935061235684613617565b50825260015b838110156123b357612394836123736001846157ed565b601c81106123835761238361583a565b6020020151846114956001856157ed565b8382601c81106123a6576123a661583a565b602002015260010161235c565b509093915050565b6123c361558e565b5f805b83811015612485576123d66155ad565b8581525f5b600881101561243f5787610120015183601c81106123fb576123fb61583a565b602002015181600881106124115761241161583a565b602002015182612422836001615800565b600981106124325761243261583a565b60200201526001016123db565b50612454816040516020016121d89190615904565b95505f61246087613617565b8685601c81106124725761247261583a565b60200201919091525050506001016123c6565b5090949293505050565b5f5f6124996155cc565b8381525f5b60298110156124ec5785610140015181602981106124be576124be61583a565b6020020151826124cf836001615800565b602a81106124df576124df61583a565b602002015260010161249e565b50612501816040516020016121d89190615938565b91505f61250d83613617565b5096929550919350505050565b5f80806125286001856157ed565b6125339060026157d6565b61253e906001615800565b6001600160401b038111156125555761255561584e565b60405190808252806020026020018201604052801561257e578160200160208202803683370190505b50905084815f815181106125945761259461583a565b60209081029190910101525f5b6125ac6001866157ed565b81101561265f5786610160015181601b81106125ca576125ca61583a565b602002015151826125dc8360026157d6565b6125e7906001615800565b815181106125f7576125f761583a565b60200260200101818152505086610160015181601b811061261a5761261a61583a565b6020020151602001518282600261263191906157d6565b61263c906002615800565b8151811061264c5761264c61583a565b60209081029190910101526001016125a1565b50612674816040516020016121d8919061596c565b91505f61268083613617565b509792965091945050505050565b5f808061269c846001615800565b6001600160401b038111156126b3576126b361584e565b6040519080825280602002602001820160405280156126dc578160200160208202803683370190505b50905084815f815181106126f2576126f261583a565b60209081029190910101525f5b8481101561265f5786610180015181601c811061271e5761271e61583a565b60200201518261272f836001615800565b8151811061273f5761273f61583a565b60209081029190910101526001016126ff565b5f5f61275c6155eb565b8381526101a08501805151602080840191909152905181015160408084019190915251612501916121d8918491016159a1565b5f5f516020615aba5f395f51905f52825b0692915050565b5f5f516020615aba5f395f51905f5282840990505b92915050565b5f5f516020615aba5f395f51905f528284089392505050565b5f5f516020615aba5f395f51905f52825f516020615aba5f395f51905f520384089392505050565b5f5f516020615aba5f395f51905f52826127a0565b5f6103338361077b84612b62565b815160208301515f91829161283b91906127c2565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292d576129238261077b87846127db565b915060010161290c565b50612936615609565b5f5b6008811015612997575f8482600881106129545761295461583a565b602002015190506129698161077b89856127db565b905061297481612b62565b9050808383600881106129895761298961583a565b602002015250600101612938565b505f5b60088110156129ea575f8782600881106129b6576129b661583a565b602002015190506129d3818484600881106114a5576114a561583a565b90506129df86826127c2565b95505060010161299a565b506109b684836127a7565b5f5f612a0b60016107808561077b8960016127db565b9050612a1784826127a7565b95945050505050565b5f612a2961558e565b612a34868285613647565b612a40868683866137f3565b612a4c868683866139df565b612a57868285613c0a565b612a62868285613dfe565b612a6e86868386614147565b612a798682856145f3565b612a84868285614a05565b612a8f868285614dc6565b6109b681856150c6565b60605f826001600160401b03811115612ab457612ab461584e565b604051908082528060200260200182016040528015612add578160200160208202803683370190505b50905083815f81518110612af357612af361583a565b602090810291909101015260015b83811015612b5a57612b3582612b186001846157ed565b81518110612b2857612b2861583a565b6020026020010151612d42565b828281518110612b4757612b4761583a565b6020908102919091010152600101612b01565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615aba5f395f51905f520360808201525f516020615aba5f395f51905f5260a082015260205f60c08360055afa80612bbe575f5ffd5b505f51608091909101604052949350505050565b5f516020615aba5f395f51905f520390565b60605f826001600160401b03811115612bff57612bff61584e565b604051908082528060200260200182016040528015612c28578160200160208202803683370190505b509050825b8015612d37575f85612c406001846157ed565b81518110612c5057612c5061583a565b602002602001015190505f89600184612c6991906157ed565b601c8110612c7957612c7961583a565b602002015190505f612cd4612c98612c91858d6127a7565b60026127a7565b61079e8b612ca76001896157ed565b601c8110612cb757612cb761583a565b602002015161077b612cce8861077b60018a6127db565b876127db565b9050612cf58161077b610b28612cef8761077b6001896127db565b866127c2565b99508990508085612d076001876157ed565b81518110612d1757612d1761583a565b60200260200101818152505050505080612d30906159d4565b9050612c2d565b509695505050505050565b5f6127bc82836127a7565b612d55615509565b5f612d817f00000000000000000000000000000000000000000000000000000000000000006024615800565b612d8c906002615800565b90505f5b81811015612dc257612dba858281518110612dad57612dad61583a565b6020026020010151612fda565b600101612d90565b50604051600190815b60018401811015612e275760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcb565b5080518452602081015160208501525080612e55576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e65615509565b5f516020615a9a5f395f51905f5282602001515f516020615a9a5f395f51905f52612e9091906157ed565b612e9a91906158ab565b60208301525090565b5f5f5f612eaf86612f19565b91509150612ebb615609565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0e916121d8918491016159e9565b979650505050505050565b612f21615509565b612f29615509565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9a5f395f51905f528380095f516020615a9a5f395f51905f5260035f516020615a9a5f395f51905f52838709085f516020615a9a5f395f51905f5284850914915050806130735760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b613081615509565b613089615509565b613093838661511f565b9050612a178185615175565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132359190615a1d565b5f60405180830381855afa9150503d805f811461326d576040519150601f19603f3d011682016040523d82523d5f602084013e613272565b606091505b50915091508180156109b65750808060200190518101906109b69190615a33565b5f808080806132a3866001615800565b6132ae906006615800565b6001600160401b038111156132c5576132c561584e565b6040519080825280602002602001820160405280156132ee578160200160208202803683370190505b509050865f1b815f815181106133065761330661583a565b60209081029190910101525f5b61331e6010886157ed565b81101561336f578989828181106133375761333761583a565b905060200201358282600161334c9190615800565b8151811061335c5761335c61583a565b6020908102919091010152600101613313565b505f5b60108110156133e0578a5161339a9082601081106133925761339261583a565b602002015190565b828260106133a98b6001615800565b6133b391906157ed565b6133bd9190615800565b815181106133cd576133cd61583a565b6020908102919091010152600101613372565b5060208a015151816133f3886001615800565b815181106134035761340361583a565b6020908102919091018101919091528a810151015181613424886001615800565b61342f906001615800565b8151811061343f5761343f61583a565b602090810291909101015260408a0151518161345c886001615800565b613467906002615800565b815181106134775761347761583a565b60209081029190910181019190915260408b0151015181613499886001615800565b6134a4906003615800565b815181106134b4576134b461583a565b602090810291909101015260608a015151816134d1886001615800565b6134dc906004615800565b815181106134ec576134ec61583a565b60209081029190910181019190915260608b015101518161350e886001615800565b613519906005615800565b815181106135295761352961583a565b602002602001018181525050613549816040516020016121d8919061596c565b915061355482613617565b604080516020810186905292975090955061356f91016121d8565b91505f61357b83613617565b50959b949a5094985090965091945050505050565b5f5f5f61359b615628565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fd916121d891849101615a52565b915061360882613617565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363282612803565b945061363d81612803565b9350505050915091565b5f6136538460076151d6565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b46136ae6136888560036127db565b61077b6136a36136988b5f6151d6565b61077b8c601d6151d6565b61077b8b601c6151d6565b836127a7565b905061373561372a6137116136f86136df856107806136d48d60026151d6565b61077b8e601c6151d6565b6107806136ed8c60036151d6565b61077b8d601d6151d6565b6107806137068b60046151d6565b61077b8c601e6151d6565b61078061371f8a60056151d6565b61077b8b601f6151d6565b6107808860016151d6565b9050613754816107806137498660016127db565b61077b8a60276151d6565b905061376081846127a7565b905061376c81856127a7565b8552505f90506137a661379c61379161378688601c6151d6565b61078089601f6151d6565b61079e8860246151d6565b610780875f6151d6565b90506137b78161077b8460026127db565b90506137c88161077b8460016127db565b90506137d481836127a7565b90506137e081846127a7565b9050808460015b60200201525050505050565b5f5f5f61382961381f61380789601c6151d6565b6107806138158b60126151d6565b8a606001516127a7565b87608001516127c2565b90506138628161077b6138586138408b601d6151d6565b61078061384e8d60136151d6565b8c606001516127a7565b89608001516127c2565b90506138878161077b6138586138798b601e6151d6565b61078061384e8d60146151d6565b90506138ac8161077b61385861389e8b601f6151d6565b61078061384e8d60156151d6565b92505f90506138d061381f6138c289601c6151d6565b6107806138158b600e6151d6565b90506138f58161077b6138586138e78b601d6151d6565b61078061384e8d600f6151d6565b905061391a8161077b61385861390c8b601e6151d6565b61078061384e8d60106151d6565b905061393f8161077b6138586139318b601f6151d6565b61078061384e8d60116151d6565b91505f90506139666139606139558960206151d6565b6107808a601a6151d6565b846127a7565b905061399b8161079e61399561397d8b60286151d6565b61078061398b8d601b6151d6565b8c60a001516127a7565b856127a7565b90506139a781856127a7565b6040860152505f6139ca6139956139bf89601b6151d6565b61077b8a60286151d6565b9050808560035b602002015250505050505050565b5f5f613a3d613a25613a0d6139f86138588a60166151d6565b610780613a068b60176151d6565b8a516127a7565b610780613a1b8a60186151d6565b89602001516127a7565b610780613a338960196151d6565b88604001516127a7565b91505f613a74613a5b613a5189601c6151d6565b88608001516127c2565b610780613a698a60036151d6565b61077b8b60246151d6565b90505f613a9d613a8589601d6151d6565b610780613a928b5f6151d6565b61077b8c60256151d6565b90505f613ac7613aae8a601e6151d6565b610780613abc8c60016151d6565b61077b8d60266151d6565b9050613b06613aee613ae085610780868d5f01516127a7565b610780848c602001516127a7565b610780613afc8c60046151d6565b8b604001516127a7565b93505050505f613b1a6139608860216151d6565b90505f613b2b6139608960216151d6565b90505f613b63613b4a613b3f8b60236151d6565b6107808c60066151d6565b61079e613b588c60236151d6565b61077b8d60066151d6565b90505f613b87613b81613b7687896127a7565b61077b8d60216151d6565b836127db565b9050613b9381886127a7565b90505f613bbb613bad613ba78d60066151d6565b876127a7565b61079e613ba78e60226151d6565b90505f613bc98c60236151d6565b90505f613bd9613b8183846127a7565b60808c0185905260a08c018490529050613bf3818b6127a7565b8b6006602002015250505050505050505050505050565b5f613c165f60016127db565b90505f613c245f60026127db565b90505f613c325f60036127db565b90505f613c4e613c4388601d6151d6565b61079e89601c6151d6565b90505f613c6a613c5f89601e6151d6565b61079e8a601d6151d6565b90505f613c86613c7b8a601f6151d6565b61079e8b601e6151d6565b90505f613ca2613c978b60246151d6565b61079e8c601f6151d6565b905083613cb38161077b818b6127c2565b9050613cc38161077b878a6127c2565b9050613cd38161077b87896127c2565b9050613ce48161077b8d60086151d6565b9050613cf0818a6127a7565b60e08b01525082613d058161077b818b6127c2565b9050613d158161077b868a6127c2565b9050613d258161077b86896127c2565b9050613d368161077b8d60086151d6565b9050613d42818a6127a7565b6101008b01525081613d588161077b818b6127c2565b9050613d688161077b858a6127c2565b9050613d788161077b85896127c2565b9050613d898161077b8d60086151d6565b9050613d95818a6127a7565b6101208b01525080613dab8161077b818b6127c2565b9050613dbb8161077b848a6127c2565b9050613dcb8161077b84896127c2565b9050613ddc8161077b8d60086151d6565b9050613de8818a6127a7565b610140909a019990995250505050505050505050565b613e376040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4284601d6151d6565b8152613e4f84601e6151d6565b6020820152613e5f8460246151d6565b6040820152613e6f8460276151d6565b6060820152613e7f8460266151d6565b6080820152613e8f8460256151d6565b60a08201525f613ea08560026151d6565b90505f613ead865f6151d6565b90505f613ec18460400151855f01516127db565b90505f613ed6856020015186602001516127a7565b606086015190915086905f90613eec90806127a7565b90505f613f0a613f0489602001518a606001516127a7565b886127a7565b90505f613f29613f228a60a001518b604001516127c2565b8a516127c2565b9050613f38613ba782886127a7565b9050613f5f613f59613f53613f4d84876127db565b886127db565b846127c2565b836127c2565b9050613f87613f7c613f7183876127a7565b61077b8f60096151d6565b61077b60018a6127db565b6101608c015250505050602085015160808601515f91613fa6916127c2565b90505f613fc4613fba8860600151886127a7565b88602001516127db565b90505f613fe8613fd484876127a7565b6107806139958b60a001518c5f01516127db565b9050614010614005613ffa838c6127a7565b61077b8e60096151d6565b61077b6001896127db565b6101808b0152505f9150614031905061402a8360116127c2565b87516127a7565b90505f61403e83846127c2565b905061404a81826127c2565b90505f6140588360096127a7565b905061408161407b6139606140748b60a001518c5f01516127c2565b8b516127c2565b826127db565b60c089018190525f9061409c90613f0490613f71908d6127a7565b90506140af8b600b6020020151826127c2565b6101608c0152505086515f92506140d6915061402a906140cf90806127c2565b88516127c2565b90505f6141166140f18361077b8a5f01518b60a001516127db565b602089015161079e9061410490806127c2565b61077b8b602001518c608001516127c2565b905061413389600c6020020151610780613f04613f71858d6127a7565b89600c602002015250505050505050505050565b6141b1604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141c96141bf86601e6151d6565b85604001516127a7565b8082526141e8906107806141de88601d6151d6565b87602001516127a7565b8082526141fd9061078061402a88601c6151d6565b80825261420f906107808760016151d6565b808252602082018190526142289061079e87601f6151d6565b81526142436142388660246151d6565b61079e87601c6151d6565b60808201526142616142568660276151d6565b61079e87601f6151d6565b6060820152608081015161427a9061077b8160016127db565b6101c082015260808101516142ba906142b0906142a99061077b60015f516020615aba5f395f51905f526157ed565b60016127c2565b82606001516127a7565b60a082018190526142f0906142e29061077b6142d78960026151d6565b61077b8a60036151d6565b61077b61399588600a6151d6565b83600e60200201526101c0810151614314906142e29061077b6142d78960026151d6565b6101e084015280516143399061077b61432e8860026151d6565b61077b8960036151d6565b6101208201525f61435861434e87601f6151d6565b83602001516127db565b90506143698161077b8360016127db565b60e083015261438661437c8760266151d6565b86604001516127a7565b604083018190526143a99061078061439f8960256151d6565b88602001516127a7565b604083018190526143c9906107806143c28960246151d6565b88516127a7565b60408301526143e66143dc8760276151d6565b83604001516127db565b60408301525f6144056143fa8860266151d6565b61079e89601e6151d6565b90506144576144326136ae6142a9866080015160015f516020615aba5f395f51905f5261077b91906157ed565b61077b6142a9866040015160015f516020615aba5f395f51905f5261077b91906157ed565b60c084015260408301516144799061446f90806127a7565b84604001516127db565b61010084015260c08301516144a5906144979061077b8a60046151d6565b61077b613ba78a600a6151d6565b6102008601526101c08301516144c4906144979061077b8a60046151d6565b6102208601526101008301516144e3906144979061077b8a60046151d6565b61024086015260e08301516144fd9061077b8960046151d6565b61014084015261451c6145118860256151d6565b61079e89601d6151d6565b610160840152608083015161455a906143fa9061454f906142a99061077b60015f516020615aba5f395f51905f526157ed565b8561016001516127a7565b61018084018190526101208401516101a08501819052614591916107809061077b6145868c60056151d6565b61077b8d60026151d6565b6101a0840181905283516145b191906107809061077b6145868c5f6151d6565b6101a084018190526101408401516145c991906127c2565b6101a084018190526145e39061077b613ba78a600a6151d6565b6101a0840181905285600d6139d1565b61462c6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466161464861463d86601c6151d6565b61077b8760256151d6565b6107806146568760246151d6565b61077b88601d6151d6565b81526146a661469b61468261467787601c6151d6565b61077b88601f6151d6565b61078061469088601d6151d6565b61077b89601e6151d6565b61079e8660266151d6565b604082018190526146bb90600160441b6127a7565b604082018190526146d19061079e8660276151d6565b6040820181905281516146e491906127c2565b604082018190526146fa9061077b8660056151d6565b6040820152805161470f90600160441b6127a7565b80825261472f906107806147248760246151d6565b61077b8860256151d6565b808252602082018190526147569061079e61474b87601e6151d6565b61078088601f6151d6565b6020820181905261476c9061077b8660046151d6565b60208201528051606082018190526147899061078086601f6151d6565b606082018190526147ad9061079e6147a28760266151d6565b6107808860276151d6565b606082018190526147c29061077b865f6151d6565b8160600181815250505f6147eb6147e1836020015184604001516127c2565b83606001516127c2565b90506147fc8161077b8760036151d6565b905061481461480c8660256151d6565b6140006127a7565b6080830181905261482a906107808760246151d6565b6080830181905261483d906140006127a7565b608083018190526148539061078087601e6151d6565b60808301819052614866906140006127a7565b6080830181905261487c9061078087601d6151d6565b6080830181905261488f906140006127a7565b608083018190526148a59061078087601c6151d6565b608083018190526148bb9061079e87601f6151d6565b608083018190526148d19061077b8760056151d6565b60808301526148e461480c8660266151d6565b60a083018190526148fa906107808760256151d6565b60a0830181905261490d906140006127a7565b60a08301819052614923906107808760246151d6565b60a08301819052614936906140006127a7565b60a0830181905261494c9061078087601f6151d6565b60a0830181905261495f906140006127a7565b60a083018190526149759061078087601e6151d6565b60a0830181905261498b9061079e8760276151d6565b60a083018190526149a09061077b875f6151d6565b60a0830181905260808301515f916149b891906127c2565b90506149c98161077b8860046151d6565b90506149d582826127c2565b60c084018190526149ee9061077b613ba789600b6151d6565b60c084018190528560136020020152505050505050565b614a7b6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a94614a8985601c6151d6565b6107808660026151d6565b8152614aaf614aa485601d6151d6565b6107808660036151d6565b6020820152614acd614ac285601e6151d6565b6107808660046151d6565b6040820152614aeb614ae085601f6151d6565b6107808660056151d6565b60608201528051614b1d90614b1690614b0f90614b0890806127a7565b84516127a7565b83516127a7565b82516127a7565b60808201526020810151614b5b90614b5190614b4790614b3d90806127a7565b84602001516127a7565b83602001516127a7565b82602001516127a7565b60a08201526040810151614b9990614b8f90614b8590614b7b90806127a7565b84604001516127a7565b83604001516127a7565b82604001516127a7565b60c08201526060810151614bcd906142b090614bc390614bb990806127a7565b84606001516127a7565b83606001516127a7565b60e0820152608081015160a0820151614be691906127c2565b61010082015260c081015160e0820151614c0091906127c2565b61012082015260a0810151614c2490614c1990806127c2565b8261012001516127c2565b61014082015260e0810151614c4890614c3d90806127c2565b8261010001516127c2565b610160820152610120810151614c5e90806127c2565b6101e08201819052614c7f90614c7490806127c2565b8261016001516127c2565b6101e0820152610100810151614c9590806127c2565b6101a08201819052614cb690614cab90806127c2565b8261014001516127c2565b6101a08201819052610160820151614ccd916127c2565b6101808201526101408101516101e0820151614ce991906127c2565b6101c0820152614cfd6136ae85600c6151d6565b6102008201819052610280840151610180830151614d28926107809161077b9061079e8a60246151d6565b8360146020020152614d58836015602002015161078083610200015161077b856101a0015161079e8a60256151d6565b8360156020020152614d88836016602002015161078083610200015161077b856101c0015161079e8a60266151d6565b8360166020020152614db8836017602002015161078083610200015161077b856101e0015161079e8a60276151d6565b836017602002015250505050565b614e186040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4d7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761278f565b8152602001614e7b7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61278f565b8152602001614ea87e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561278f565b8152602001614ed67f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61278f565b90529050614ef3614ee886601c6151d6565b6107808760026151d6565b6101208301819052614f3290614f2790614f1c90614f1190806127a7565b8561012001516127a7565b8461012001516127a7565b8361012001516127a7565b8252614f3f85601d6151d6565b6020830152614f4f85601e6151d6565b6040830152614f5f85601f6151d6565b606083015281516020830151614f87916147e191614f7d91906127c2565b84604001516127c2565b6080830152614f9a61396086600d6151d6565b6101408301528151614fbb90614fb190835f6114a5565b83608001516127c2565b60a0830152614fe7846018602002015161078084610140015161077b8660a0015161079e8b60246151d6565b610300850152602082015161500290614fb1908360016114a5565b60c083015261502e846019602002015161078084610140015161077b8660c0015161079e8b60256151d6565b610320850152604082015161504990614fb1908360026114a5565b60e083015261507584601a602002015161078084610140015161077b8660e0015161079e8b60266151d6565b610340850152606082015161509090614fb1908360036114a5565b6101008301526150be84601b602002015161078084610140015161077b86610100015161079e8b60276151d6565b84601b6137e7565b815160015b601c8110156151185761510e826107808684601c81106150ed576150ed61583a565b6020020151866150fe6001876157ed565b601b81106114a5576114a561583a565b91506001016150cb565b5092915050565b615127615509565b61512f615509565b604051835181526020840151602082015284604082015260408160608360075afa80615159575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517d615509565b615185615509565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151ba575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ea576151ea615a85565b602981106151fa576151fa61583a565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522c615509565b8152602001615239615509565b8152602001615246615509565b8152602001615253615509565b8152602001615260615509565b815260200161526d615509565b815260200161527a615509565b8152602001615287615509565b8152602001615294615509565b81526020016152a1615509565b81526020016152ae615509565b81526020016152bb615509565b81526020016152c8615509565b81526020016152d5615509565b81526020016152e2615509565b81526020016152ef615509565b81526020016152fc615509565b8152602001615309615509565b8152602001615316615509565b8152602001615323615509565b8152602001615330615509565b815260200161533d615509565b815260200161534a615509565b8152602001615357615509565b8152602001615364615509565b8152602001615371615509565b815260200161537e615509565b815260200161538b615509565b905290565b604051806101e001604052806153a4615646565b81526020016153b1615509565b81526020016153be615509565b81526020016153cb615509565b81526020016153d8615509565b81526020016153e5615509565b81526020016153f2615509565b81526020016153ff615509565b815260200161540c615509565b8152602001615419615665565b8152602001615426615693565b81526020016154336156b2565b815260200161537161558e565b604051806101000160405280615454615521565b8152602001615461615551565b815260200161546e61558e565b815260200161547b61558e565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d76156e0565b81526020016154e46156e0565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567d615609565b8152602001906001900390816156755790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156ca615509565b8152602001906001900390816156c25790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615711575f5ffd5b84356001600160401b03811115615726575f5ffd5b8501601f81018713615736575f5ffd5b80356001600160401b0381111561574b575f5ffd5b87602082840101111561575c575f5ffd5b6020918201955093508501356001600160401b0381111561577b575f5ffd5b8501601f8101871361578b575f5ffd5b80356001600160401b038111156157a0575f5ffd5b8760208260051b84010111156157b4575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bc576127bc6157c2565b818103818111156127bc576127bc6157c2565b808201808211156127bc576127bc6157c2565b5f5f85851115615821575f5ffd5b8386111561582d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615873576158736157c2565b5060010190565b803560208310156127bc575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158b9576158b9615897565b500690565b5f8183825b60058110156158e25781518352602092830192909101906001016158c3565b50505060a08201905092915050565b5f826158ff576158ff615897565b500490565b5f8183825b6009811015615928578151835260209283019290910190600101615909565b5050506101208201905092915050565b5f8183825b602a81101561595c57815183526020928301929091019060010161593d565b5050506105408201905092915050565b81515f90829060208501835b82811015615996578151845260209384019390910190600101615978565b509195945050505050565b5f8183825b60038110156159c55781518352602092830192909101906001016159a6565b50505060608201905092915050565b5f816159e2576159e26157c2565b505f190190565b5f8183825b6008811015615a0d5781518352602092830192909101906001016159ee565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a43575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a76578151835260209283019290910190600101615a57565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|