@aztec/l1-artifacts 3.0.0-nightly.20251120 → 3.0.0-nightly.20251122
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/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +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/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/RewardExtLibBytecode.d.ts +1 -1
- package/dest/RewardExtLibBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +8 -0
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +10 -0
- package/dest/RollupBytecode.d.ts +11 -11
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +11 -11
- package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
- package/dest/RollupOperationsExtLibBytecode.d.ts.map +1 -1
- package/dest/RollupOperationsExtLibBytecode.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,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeeJuicePortal bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const FeeJuicePortalBytecode = "
|
|
4
|
+
export declare const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220d8deb4596f8855dd1c64ea7b30b6349acb6af90392d5b5fd7035e4d655617acc64736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* FeeJuicePortal link references.
|
|
7
7
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeeJuicePortal bytecode.
|
|
3
|
-
*/ export const FeeJuicePortalBytecode = "
|
|
3
|
+
*/ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220d8deb4596f8855dd1c64ea7b30b6349acb6af90392d5b5fd7035e4d655617acc64736f6c634300081b0033";
|
|
4
4
|
/**
|
|
5
5
|
* FeeJuicePortal link references.
|
|
6
6
|
*/ export const FeeJuicePortalLinkReferences = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f0fa3aa5a7f521d297af5efbfeff7921d198dc056a95920fe63dcb7fe691cbc7f60c05260ae60e05260805160a05160c05160e051615d986100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfb01525f5050615d985ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599e565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a7a565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a7a565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a91565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a7a565b905060016102a9600885615a7a565b6102b39190615a7a565b6102bd9082615aa4565b90506102cb60016029615a7a565b6102d59082615aa4565b905060026102e4600185615a91565b6102ee9190615a7a565b6102f89082615aa4565b9050610305600184615a7a565b61030f9082615aa4565b905061031c600280615a7a565b6103269082615aa4565b9050610333601082615aa4565b9392505050565b61034261520c565b61034a611786565b905090565b6103576155aa565b5f805b60108110156103b957610386868387610374602083615aa4565b9261038193929190615ab7565b6120c1565b8351826010811061039957610399615ade565b6020020181815250506020826103af9190615aa4565b915060010161035a565b506103dd8582866103cb604083615aa4565b926103d893929190615ab7565b6120d4565b60208301526103ed604082615aa4565b90506104008582866103cb604083615aa4565b6040808401919091526104139082615aa4565b90506104268582866103cb604083615aa4565b6060830152610436604082615aa4565b90506104498582866103cb604083615aa4565b60c0830152610459604082615aa4565b905061046c8582866103cb604083615aa4565b60e083015261047c604082615aa4565b905061048f8582866103cb604083615aa4565b608083015261049f604082615aa4565b90506104b28582866103cb604083615aa4565b6101008301526104c3604082615aa4565b90506104d68582866103cb604083615aa4565b60a08301526104e6604082615aa4565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa4565b84610120015183601c811061052557610525615ade565b6020020151826008811061053b5761053b615ade565b6020020181815250506020836105519190615aa4565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa4565b836101400151826029811061059857610598615ade565b6020020181815250506020826105ae9190615aa4565b9150600101610567565b505f5b6105c6600185615a91565b81101561060f576105de8683876103cb604083615aa4565b83610160015182601b81106105f5576105f5615ade565b6020020152610605604083615aa4565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa4565b83610180015182601c811061064257610642615ade565b6020020181815250506020826106589190615aa4565b9150600101610612565b506106748582866103cb604083615aa4565b6101a0830152610685604082615aa4565b90506106988582866103cb604083615aa4565b6101c0830152509392505050565b6106ae6156f2565b5f6106bd888888888886612161565b90835290506106cc81896121e0565b602084019190915290506106e081846122cf565b604084019190915290506106f588828561235e565b606084019190915290506107098882612432565b6080840191909152905061071e8882856124bd565b60a08401919091529050610733888285612632565b60c0840191909152905061074788826126f7565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa4565b612734565b61274c565b612767565b90505f6107a38761079e8a61077b6107768b6001615aa4565b612780565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a91565b81101561083f575f6107fc8c83815181106107ef576107ef615ade565b60200260200101516127a8565b905061080c8661077b8684612767565b955061081c8561077b8584612767565b9450610828848b612767565b9350610834838b612780565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615ade565b602002015190506108738661077b8684612767565b95506108838561077b8584612767565b945061088f848b612767565b935061089b838b612780565b925050600101610842565b506108b184846127bd565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615ade565b602002015190505f61091782866127cb565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615ade565b6020020151905061095f83826127eb565b9550610986886040015185601c811061097a5761097a615ade565b6020020151868361299a565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c5565b90508281145b9695505050505050565b5f6109c9615776565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3e565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610a31906002615aa4565b67ffffffffffffffff811115610a4957610a49615af2565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610aac906002615aa4565b67ffffffffffffffff811115610ac457610ac4615af2565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615ade565b6020026020010151612780565b612b08565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615ade565b6020026020010151612767565b610140850181905261012085015160c0880151610b8f92610780919061274c565b845260a0860151610bbf90610ba390612b08565b61077b86610120015161079e8a60c0015189610140015161274c565b6020850152815160019083905f90610bd957610bd9615ade565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615ade565b6020908102919091010152600160a08501525f60c085015283515f516020615d435f395f51905f5203604085015260208401515f516020615d435f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274c565b838281518110610c7357610c73615ade565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a91565b60298110610cad57610cad615ade565b60200201518860a0015161274c565b60c086015260a08501516080880151610cd5919061274c565b60a0860152610ce381615b06565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa4565b90505f610d10602484615aa4565b9050610d41858381518110610d2757610d27615ade565b602002602001015161078089606001518a60a0015161274c565b858381518110610d5357610d53615ade565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615ade565b60200201518a60a0015161274c565b60c088015260a087015160808a0151610da9919061274c565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615ade565b6020026020010181905250866080015181600281518110610df457610df4615ade565b60200260200101819052508660a0015181600381518110610e1757610e17615ade565b60200260200101819052508660c0015181600481518110610e3a57610e3a615ade565b60200260200101819052508660e0015181600581518110610e5d57610e5d615ade565b602002602001018190525086610100015181600681518110610e8157610e81615ade565b602002602001018190525086610120015181600781518110610ea557610ea5615ade565b602002602001018190525086610140015181600881518110610ec957610ec9615ade565b602002602001018190525086610160015181600981518110610eed57610eed615ade565b6020026020010181905250866101c0015181600a81518110610f1157610f11615ade565b602002602001018190525086610180015181600b81518110610f3557610f35615ade565b6020026020010181905250866101a0015181600c81518110610f5957610f59615ade565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615ade565b602002602001018190525086610200015181600e81518110610fa157610fa1615ade565b602002602001018190525086610220015181600f81518110610fc557610fc5615ade565b602002602001018190525086610240015181601081518110610fe957610fe9615ade565b60200260200101819052508661026001518160118151811061100d5761100d615ade565b60200260200101819052508661028001518160128151811061103157611031615ade565b6020026020010181905250866102a001518160138151811061105557611055615ade565b6020026020010181905250866102c001518160148151811061107957611079615ade565b6020026020010181905250866102e001518160158151811061109d5761109d615ade565b6020026020010181905250866103000151816016815181106110c1576110c1615ade565b6020026020010181905250866103200151816017815181106110e5576110e5615ade565b60200260200101819052508661034001518160188151811061110957611109615ade565b60200260200101819052508661036001518160198151811061112d5761112d615ade565b602002602001018190525086610380015181601a8151811061115157611151615ade565b6020026020010181905250866103a0015181601b8151811061117557611175615ade565b6020026020010181905250866103c0015181601c8151811061119957611199615ade565b6020026020010181905250876020015181601d815181106111bc576111bc615ade565b6020026020010181905250876040015181601e815181106111df576111df615ade565b6020026020010181905250876060015181601f8151811061120257611202615ade565b602002602001018190525087608001518160208151811061122557611225615ade565b60200260200101819052508760a001518160218151811061124857611248615ade565b60200260200101819052508761010001518160228151811061126c5761126c615ade565b60200260200101819052508760c001518160238151811061128f5761128f615ade565b60200260200101819052508760e00151816024815181106112b2576112b2615ade565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b78565b9050611322815f8151811061130f5761130f615ade565b602002602001015186610120015161274c565b608086018190526101808a01515160c0890151611353929161078091611348919061274c565b88610140015161274c565b608086015260c087015161136690612cd7565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a91565b8110156115a7576113c8610b358960e00151878460016113b89190615aa4565b81518110610b2857610b28615ade565b61012087015260e08801516113f790610b3590876113e7856001615aa4565b81518110610b6157610b61615ade565b61014087015260a0860151610120870151611412919061274c565b61016087015260a086015160c089015161143a9161142f9161274c565b87610140015161274c565b610180870181905261146f905f516020615d435f395f51905f52036101608801515f516020615d435f395f51905f5203612767565b848261147d60246001615aa4565b6114879190615aa4565b8151811061149757611497615ade565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa4565b601c81106114d0576114d0615ade565b602002015161274c565b905061151481610780896101600151868660016114f79190615aa4565b8151811061150757611507615ade565b602002602001015161274c565b9050611524876080015182612767565b608088015260a087015160c08a015161154a916115409161274c565b8a60c0015161274c565b60a08801526101608b015182601b811061156657611566615ade565b6020020151848361157960246001615aa4565b6115839190615aa4565b8151811061159357611593615ade565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b815181106115f9576115f9615ade565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b8151811061164557611645615ade565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b61168e906001615aa4565b8151811061169e5761169e615ade565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b6116e5906001615aa4565b815181106116f5576116f5615ade565b6020026020010181815250505f61170c8486612ce2565b90505f61171883612dfd565b90505f6117298d5f01518484612e4e565b90505f5f6117398f5f0151612ec4565b9150915061174682612f90565b61174f81612f90565b61175a858385613033565b9450611767848285613033565b9350611773858561306f565b9f9e505050505050505050505050505050565b61178e61520c565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f24ad8b6dd85a3163eb85dbcd17b23cf7318520a9330ba8c18ec4560e477d4f0281527f30475af2bdbfceae25d3d9ba0489f9ede1038970d4fe8aff59a26c0d1bbca313818301526060830152825180840184527f2668518af30ebaff8663cf8446bfbb0a9c93e1dfcc80dfaecb81b151d8792ae581527f1ee281866e1b0ce581845f6830e9657d1464e77f2570db5ebc06f8d5743baefe818301526080830152825180840184527f0b056cf6e707a8d0d2bb3a8aff14bb696b8ae1737e333e41141ef12865bc21a581527f0e741baf4633feee47c546b42cd034ab1fa6777997eabb3d71eb76a3bb5041938183015260a0830152825180840184527f141dbf648c83376db77204c1f4e4671417cb9d5b93b80ef5043dd59f4f8515c581527f1cf33cde49c3384f9a84c319777a44d8cb477db49e5592705f61869272f676698183015260c0830152825180840184527f0ac3a7bc60e155802ab818341aaa29888c705d262043ad50f3b830b1cefe8ae881527f1e0c558c13c1e2fc6eb0bec22ef5fd4df6ccc5b982ee5a54055b004bddd037568183015260e0830152825180840184527f186512eb5a724aeb924d49ff08192eb96cb14896a56b8d0dceed0da34b77c81181527f0ea1b7d89058e60f82541a034ec0d4f483bef9ad5e7289c3fdaf59db51bd806481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f25afceca319839ed883433c1fdf45c39103e00a63727cfa0be4a7c4137375dd081527f149ecaedde54e6eea85e569fc5f2d3fa6b974b6281d1f64522387b720ca8e6e481830152610140830152825180840184527f2560e1228a654b7c4b3ab1416859b93d6ffc2aa83663f4eb376529e8287b132181527f1f4e0c51c0cb85ea5784dec7cc039f0f9cc19f01a0bc479b72b1d22491501f8c81830152610160830152825180840184527f19bf17e3aa70327b3497012e132373193fae4cc6d178b9145d5073f964619b3f81527f2d92dc4f2383dbcd5762e80f1af6e960d238add092fe329ebf1829973208127b81830152610180830152825180840184527f10a5c6c4c7f3b783f6357e088d369c11eda40eb588b463009cb5891ab67332f981527f23d259a5f14034d8cc1b8fc2587f026025a622173aca619956535bca5e8905be818301526101a0830152825180840184527f19ea7e5bcc0b93309dee14ad132be10a701d6f93b46af349fb34bc7cfbbc5dcb81527f17a899d149528e1dcca16954a52cf5ed70a9b852f5d88aab2a09f315abfd1737818301526101c0830152825180840184527f05c49e7690971a535f3d1ae92695026a2e54c6975ab4dceb01c1230eb99c9d8281527f1512cb02c3be62c33650f702c9925b757c12fa798f7f316f6ffa050fe5350443818301526101e0830152825180840184527f013669196e1da0c260d3fffe9a60e6ff6a3e40379cdc129e0918221ddfd0245b81527f2cf9139d76ea197fc3dfab06f372884f19349622132b47ff75235a2f69340ad681830152610200830152825180840184527f304c1d8b912de5b10065ed22868f44946162ef0def7cea7612b1ae62be0617bc81527f05fd50a2be9edeb20bf5cc3a27568383bfe5626d6b25789b8557dabda170d7c581830152610220830152825180840184527f11cf41c91544af4d9d4cd0763d42d3ce9f967d6d7e50923478e4ef5ef057150a81527f2f08a9a261e9c31e6c4e3b5f1baae0995d1978218d9cbc9995f891089539363881830152610240830152825180840184527f04d914bf3a6d16eb6b25abe193e90f0ebac768c57420465200954e1e117c29f981527f2d79558d3c9c5d8e1457b8aa5dd5bee545a9a11f3e4468b3508150870be98bca81830152610260830152825180840184527f2a919984425af7c43940f5bae961bf1f674bfcb7a0998e990a26641f1c7d001381527f08c5621ddbf7e7dfe4b8bc1e49abb9d35380e49088e992df66f9d475ccdbef6c81830152610280830152825180840184527eb27afdde9c5c1e6734837e4efa82a1893c9d36bacf5acecc7dccee8d93d26081527f281a1e24c59608255cf33335ea6313dc20b92ae489f502d01ff400628720e524818301526102a0830152825180840184527f13ee3078ac479b213d4f1637afe8a0895d14affbfcd8253f98a7dba789d7dc8481527f2856e6b97a5de1a25b3023313a343a778e037f488f1fd110cf6bd272c455c8dc818301526102c0830152825180840184527f0261812c9c8133fdfece9dab0cc5297c0ad63cd668ada746cc977a14fab4b68d81527f12ad42ba47ab132fbb415e4944507690ea7b4a122a534685a4db040770d228d6818301526102e0830152825180840184527f1678b00f18ad7d2005c0cb10c42cf3b6ed3ccf5aa54db27f3f4fd0d1463b041c81527f2df6d0f4f54a6ed531516b7dc4d3f9c16939532a83dae809515527ba3d72400c81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f272f3196d2d888503a6d1241d5bf9f980d332a2de9eb836b7d708f273ebca8ca83527f28995409debf855edcdb039422b9a3641b26abede59d8560c85412354396be33908301526103c081019190915290565b5f6103336120cf8385615b1e565b6127a8565b604080518082019091525f808252602082015260408051808201909152805f516020615d235f395f51905f5261210d60205f8789615ab7565b61211691615b1e565b6121209190615b3b565b81526020908101905f516020615d235f395f51905f5290612145906040908789615ab7565b61214e91615b1e565b6121589190615b3b565b90529392505050565b6121946040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a28888888888613263565b6040860191909152602085019190915290835292506121c18389613561565b6080850191909152606084019190915291989197509095505050505050565b6121e86157e6565b5f6121f1615805565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122549161223991849101615b5a565b604051602081830303815290604052805190602001206127a8565b91505f612260836135e8565b50808552905060015b6122756001601c615a91565b8110156122c5576122a68561228b600184615a91565b601b811061229b5761229b615ade565b60200201518361274c565b8582601b81106122b8576122b8615ade565b6020020152600101612269565b5050509250929050565b6122d7615823565b5f6122ee8460405160200161223991815260200190565b93506122f9846135e8565b50825260015b838110156123565761233783612316600184615a91565b601c811061232657612326615ade565b6020020151846114c0600185615a91565b8382601c811061234957612349615ade565b60200201526001016122ff565b509093915050565b612366615823565b5f805b8381101561242857612379615842565b8581525f5b60088110156123e25787610120015183601c811061239e5761239e615ade565b602002015181600881106123b4576123b4615ade565b6020020151826123c5836001615aa4565b600981106123d5576123d5615ade565b602002015260010161237e565b506123f7816040516020016122399190615b8d565b95505f612403876135e8565b8685601c811061241557612415615ade565b6020020191909152505050600101612369565b5090949293505050565b5f5f61243c615861565b8381525f5b602981101561248f57856101400151816029811061246157612461615ade565b602002015182612472836001615aa4565b602a811061248257612482615ade565b6020020152600101612441565b506124a4816040516020016122399190615bc1565b91505f6124b0836135e8565b5096929550919350505050565b5f80806124cb600185615a91565b6124d6906002615a7a565b6124e1906001615aa4565b67ffffffffffffffff8111156124f9576124f9615af2565b604051908082528060200260200182016040528015612522578160200160208202803683370190505b50905084815f8151811061253857612538615ade565b60209081029190910101525f5b612550600186615a91565b8110156126035786610160015181601b811061256e5761256e615ade565b60200201515182612580836002615a7a565b61258b906001615aa4565b8151811061259b5761259b615ade565b60200260200101818152505086610160015181601b81106125be576125be615ade565b602002015160200151828260026125d59190615a7a565b6125e0906002615aa4565b815181106125f0576125f0615ade565b6020908102919091010152600101612545565b50612618816040516020016122399190615bf5565b91505f612624836135e8565b509792965091945050505050565b5f8080612640846001615aa4565b67ffffffffffffffff81111561265857612658615af2565b604051908082528060200260200182016040528015612681578160200160208202803683370190505b50905084815f8151811061269757612697615ade565b60209081029190910101525f5b848110156126035786610180015181601c81106126c3576126c3615ade565b6020020151826126d4836001615aa4565b815181106126e4576126e4615ade565b60209081029190910101526001016126a4565b5f5f612701615880565b8381526101a085018051516020808401919091529051810151604080840191909152516124a49161223991849101615c2a565b5f5f516020615d435f395f51905f52825b0692915050565b5f5f516020615d435f395f51905f5282840990505b92915050565b5f5f516020615d435f395f51905f528284089392505050565b5f5f516020615d435f395f51905f52825f516020615d435f395f51905f520384089392505050565b5f5f516020615d435f395f51905f5282612745565b5f6103338361077b84612b08565b815160208301515f9182916127e09190612767565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d2576128c88261077b8784612780565b91506001016128b1565b506128db61589e565b5f5b600881101561293c575f8482600881106128f9576128f9615ade565b6020020151905061290e8161077b8985612780565b905061291981612b08565b90508083836008811061292e5761292e615ade565b6020020152506001016128dd565b505f5b600881101561298f575f87826008811061295b5761295b615ade565b60200201519050612978818484600881106114d0576114d0615ade565b90506129848682612767565b95505060010161293f565b506109b6848361274c565b5f5f6129b060016107808561077b896001612780565b90506129bc848261274c565b95945050505050565b5f6129ce615823565b6129d9868285613621565b6129e5868683866137cd565b6129f1868683866139b9565b6129fc868285613be4565b612a07868285613dd8565b612a1386868386614121565b612a1e8682856145cd565b612a298682856149df565b612a34868285614da0565b6109b681856150a0565b60605f8267ffffffffffffffff811115612a5a57612a5a615af2565b604051908082528060200260200182016040528015612a83578160200160208202803683370190505b50905083815f81518110612a9957612a99615ade565b602090810291909101015260015b83811015612b0057612adb82612abe600184615a91565b81518110612ace57612ace615ade565b6020026020010151612cd7565b828281518110612aed57612aed615ade565b6020908102919091010152600101612aa7565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d435f395f51905f520360808201525f516020615d435f395f51905f5260a082015260205f60c08360055afa80612b64575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9457612b94615af2565b604051908082528060200260200182016040528015612bbd578160200160208202803683370190505b509050825b8015612ccc575f85612bd5600184615a91565b81518110612be557612be5615ade565b602002602001015190505f89600184612bfe9190615a91565b601c8110612c0e57612c0e615ade565b602002015190505f612c69612c2d612c26858d61274c565b600261274c565b61079e8b612c3c600189615a91565b601c8110612c4c57612c4c615ade565b602002015161077b612c638861077b60018a612780565b87612780565b9050612c8a8161077b610b35612c848761077b600189612780565b86612767565b99508990508085612c9c600187615a91565b81518110612cac57612cac615ade565b60200260200101818152505050505080612cc590615c5d565b9050612bc2565b509695505050505050565b5f612761828361274c565b604080518082019091525f80825260208201525f612d217f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b612d2c906002615aa4565b90505f5b81811015612d6257612d5a858281518110612d4d57612d4d615ade565b6020026020010151612f90565b600101612d30565b50604051600190815b60018401811015612dc75760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6b565b5080518452602081015160208501525080612df5576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d235f395f51905f5282602001515f516020615d235f395f51905f52612e3b9190615a91565b612e459190615b3b565b60208301525090565b5f5f5f612e5a86612ec4565b91509150612e6661589e565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb99161223991849101615c72565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d235f395f51905f528380095f516020615d235f395f51905f5260035f516020615d235f395f51905f52838709085f516020615d235f395f51905f52848509149150508061302d5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306383866150f9565b90506129bc8185615165565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132059190615ca6565b5f60405180830381855afa9150503d805f811461323d576040519150601f19603f3d011682016040523d82523d5f602084013e613242565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbc565b5f80808080613273866001615aa4565b61327e906006615aa4565b67ffffffffffffffff81111561329657613296615af2565b6040519080825280602002602001820160405280156132bf578160200160208202803683370190505b509050865f1b815f815181106132d7576132d7615ade565b60209081029190910101525f5b6132ef601088615a91565b8110156133405789898281811061330857613308615ade565b905060200201358282600161331d9190615aa4565b8151811061332d5761332d615ade565b60209081029190910101526001016132e4565b505f5b60108110156133b1578a5161336b90826010811061336357613363615ade565b602002015190565b8282601061337a8b6001615aa4565b6133849190615a91565b61338e9190615aa4565b8151811061339e5761339e615ade565b6020908102919091010152600101613343565b5060208a015151816133c4886001615aa4565b815181106133d4576133d4615ade565b6020908102919091018101919091528a8101510151816133f5886001615aa4565b613400906001615aa4565b8151811061341057613410615ade565b602090810291909101015260408a0151518161342d886001615aa4565b613438906002615aa4565b8151811061344857613448615ade565b60209081029190910181019190915260408b015101518161346a886001615aa4565b613475906003615aa4565b8151811061348557613485615ade565b602090810291909101015260608a015151816134a2886001615aa4565b6134ad906004615aa4565b815181106134bd576134bd615ade565b60209081029190910181019190915260608b01510151816134df886001615aa4565b6134ea906005615aa4565b815181106134fa576134fa615ade565b60200260200101818152505061351a816040516020016122399190615bf5565b9150613525826135e8565b60408051602081018690529297509095506135409101612239565b91505f61354c836135e8565b50959b949a5094985090965091945050505050565b5f5f5f61356c6158bd565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135ce9161223991849101615cdb565b91506135d9826135e8565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360c826127a8565b9450613617816127a8565b9350505050915091565b5f61362d8460076151dc565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368e613688613662856003612780565b61077b61367d6136728b5f6151dc565b61077b8c601d6151dc565b61077b8b601c6151dc565b8361274c565b905061370f6137046136eb6136d26136b9856107806136ae8d60026151dc565b61077b8e601c6151dc565b6107806136c78c60036151dc565b61077b8d601d6151dc565b6107806136e08b60046151dc565b61077b8c601e6151dc565b6107806136f98a60056151dc565b61077b8b601f6151dc565b6107808860016151dc565b905061372e81610780613723866001612780565b61077b8a60276151dc565b905061373a818461274c565b9050613746818561274c565b8552505f905061378061377661376b61376088601c6151dc565b61078089601f6151dc565b61079e8860246151dc565b610780875f6151dc565b90506137918161077b846002612780565b90506137a28161077b846001612780565b90506137ae818361274c565b90506137ba818461274c565b9050808460015b60200201525050505050565b5f5f5f6138036137f96137e189601c6151dc565b6107806137ef8b60126151dc565b8a6060015161274c565b8760800151612767565b905061383c8161077b61383261381a8b601d6151dc565b6107806138288d60136151dc565b8c6060015161274c565b8960800151612767565b90506138618161077b6138326138538b601e6151dc565b6107806138288d60146151dc565b90506138868161077b6138326138788b601f6151dc565b6107806138288d60156151dc565b92505f90506138aa6137f961389c89601c6151dc565b6107806137ef8b600e6151dc565b90506138cf8161077b6138326138c18b601d6151dc565b6107806138288d600f6151dc565b90506138f48161077b6138326138e68b601e6151dc565b6107806138288d60106151dc565b90506139198161077b61383261390b8b601f6151dc565b6107806138288d60116151dc565b91505f905061394061393a61392f8960206151dc565b6107808a601a6151dc565b8461274c565b90506139758161079e61396f6139578b60286151dc565b6107806139658d601b6151dc565b8c60a0015161274c565b8561274c565b9050613981818561274c565b6040860152505f6139a461396f61399989601b6151dc565b61077b8a60286151dc565b9050808560035b602002015250505050505050565b5f5f613a176139ff6139e76139d26138328a60166151dc565b6107806139e08b60176151dc565b8a5161274c565b6107806139f58a60186151dc565b896020015161274c565b610780613a0d8960196151dc565b886040015161274c565b91505f613a4e613a35613a2b89601c6151dc565b8860800151612767565b610780613a438a60036151dc565b61077b8b60246151dc565b90505f613a77613a5f89601d6151dc565b610780613a6c8b5f6151dc565b61077b8c60256151dc565b90505f613aa1613a888a601e6151dc565b610780613a968c60016151dc565b61077b8d60266151dc565b9050613ae0613ac8613aba85610780868d5f015161274c565b610780848c6020015161274c565b610780613ad68c60046151dc565b8b6040015161274c565b93505050505f613af461393a8860216151dc565b90505f613b0561393a8960216151dc565b90505f613b3d613b24613b198b60236151dc565b6107808c60066151dc565b61079e613b328c60236151dc565b61077b8d60066151dc565b90505f613b61613b5b613b50878961274c565b61077b8d60216151dc565b83612780565b9050613b6d818861274c565b90505f613b95613b87613b818d60066151dc565b8761274c565b61079e613b818e60226151dc565b90505f613ba38c60236151dc565b90505f613bb3613b5b838461274c565b60808c0185905260a08c018490529050613bcd818b61274c565b8b6006602002015250505050505050505050505050565b5f613bf05f6001612780565b90505f613bfe5f6002612780565b90505f613c0c5f6003612780565b90505f613c28613c1d88601d6151dc565b61079e89601c6151dc565b90505f613c44613c3989601e6151dc565b61079e8a601d6151dc565b90505f613c60613c558a601f6151dc565b61079e8b601e6151dc565b90505f613c7c613c718b60246151dc565b61079e8c601f6151dc565b905083613c8d8161077b818b612767565b9050613c9d8161077b878a612767565b9050613cad8161077b8789612767565b9050613cbe8161077b8d60086151dc565b9050613cca818a61274c565b60e08b01525082613cdf8161077b818b612767565b9050613cef8161077b868a612767565b9050613cff8161077b8689612767565b9050613d108161077b8d60086151dc565b9050613d1c818a61274c565b6101008b01525081613d328161077b818b612767565b9050613d428161077b858a612767565b9050613d528161077b8589612767565b9050613d638161077b8d60086151dc565b9050613d6f818a61274c565b6101208b01525080613d858161077b818b612767565b9050613d958161077b848a612767565b9050613da58161077b8489612767565b9050613db68161077b8d60086151dc565b9050613dc2818a61274c565b610140909a019990995250505050505050505050565b613e116040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1c84601d6151dc565b8152613e2984601e6151dc565b6020820152613e398460246151dc565b6040820152613e498460276151dc565b6060820152613e598460266151dc565b6080820152613e698460256151dc565b60a08201525f613e7a8560026151dc565b90505f613e87865f6151dc565b90505f613e9b8460400151855f0151612780565b90505f613eb08560200151866020015161274c565b606086015190915086905f90613ec6908061274c565b90505f613ee4613ede89602001518a6060015161274c565b8861274c565b90505f613f03613efc8a60a001518b60400151612767565b8a51612767565b9050613f12613b81828861274c565b9050613f39613f33613f2d613f278487612780565b88612780565b84612767565b83612767565b9050613f61613f56613f4b838761274c565b61077b8f60096151dc565b61077b60018a612780565b6101608c015250505050602085015160808601515f91613f8091612767565b90505f613f9e613f9488606001518861274c565b8860200151612780565b90505f613fc2613fae848761274c565b61078061396f8b60a001518c5f0151612780565b9050613fea613fdf613fd4838c61274c565b61077b8e60096151dc565b61077b600189612780565b6101808b0152505f915061400b9050614004836011612767565b875161274c565b90505f6140188384612767565b90506140248182612767565b90505f61403283600961274c565b905061405b61405561393a61404e8b60a001518c5f0151612767565b8b51612767565b82612780565b60c089018190525f9061407690613ede90613f4b908d61274c565b90506140898b600b602002015182612767565b6101608c0152505086515f92506140b09150614004906140a99080612767565b8851612767565b90505f6140f06140cb8361077b8a5f01518b60a00151612780565b602089015161079e906140de9080612767565b61077b8b602001518c60800151612767565b905061410d89600c6020020151610780613ede613f4b858d61274c565b89600c602002015250505050505050505050565b61418b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a361419986601e6151dc565b856040015161274c565b8082526141c2906107806141b888601d6151dc565b876020015161274c565b8082526141d79061078061400488601c6151dc565b8082526141e9906107808760016151dc565b808252602082018190526142029061079e87601f6151dc565b815261421d6142128660246151dc565b61079e87601c6151dc565b608082015261423b6142308660276151dc565b61079e87601f6151dc565b606082015260808101516142549061077b816001612780565b6101c082015260808101516142949061428a906142839061077b60015f516020615d435f395f51905f52615a91565b6001612767565b826060015161274c565b60a082018190526142ca906142bc9061077b6142b18960026151dc565b61077b8a60036151dc565b61077b61396f88600a6151dc565b83600e60200201526101c08101516142ee906142bc9061077b6142b18960026151dc565b6101e084015280516143139061077b6143088860026151dc565b61077b8960036151dc565b6101208201525f61433261432887601f6151dc565b8360200151612780565b90506143438161077b836001612780565b60e08301526143606143568760266151dc565b866040015161274c565b60408301819052614383906107806143798960256151dc565b886020015161274c565b604083018190526143a39061078061439c8960246151dc565b885161274c565b60408301526143c06143b68760276151dc565b8360400151612780565b60408301525f6143df6143d48860266151dc565b61079e89601e6151dc565b905061443161440c613688614283866080015160015f516020615d435f395f51905f5261077b9190615a91565b61077b614283866040015160015f516020615d435f395f51905f5261077b9190615a91565b60c0840152604083015161445390614449908061274c565b8460400151612780565b61010084015260c083015161447f906144719061077b8a60046151dc565b61077b613b818a600a6151dc565b6102008601526101c083015161449e906144719061077b8a60046151dc565b6102208601526101008301516144bd906144719061077b8a60046151dc565b61024086015260e08301516144d79061077b8960046151dc565b6101408401526144f66144eb8860256151dc565b61079e89601d6151dc565b6101608401526080830151614534906143d490614529906142839061077b60015f516020615d435f395f51905f52615a91565b85610160015161274c565b61018084018190526101208401516101a0850181905261456b916107809061077b6145608c60056151dc565b61077b8d60026151dc565b6101a08401819052835161458b91906107809061077b6145608c5f6151dc565b6101a084018190526101408401516145a39190612767565b6101a084018190526145bd9061077b613b818a600a6151dc565b6101a0840181905285600d6139ab565b6146066040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463b61462261461786601c6151dc565b61077b8760256151dc565b6107806146308760246151dc565b61077b88601d6151dc565b815261468061467561465c61465187601c6151dc565b61077b88601f6151dc565b61078061466a88601d6151dc565b61077b89601e6151dc565b61079e8660266151dc565b6040820181905261469590600160441b61274c565b604082018190526146ab9061079e8660276151dc565b6040820181905281516146be9190612767565b604082018190526146d49061077b8660056151dc565b604082015280516146e990600160441b61274c565b808252614709906107806146fe8760246151dc565b61077b8860256151dc565b808252602082018190526147309061079e61472587601e6151dc565b61078088601f6151dc565b602082018190526147469061077b8660046151dc565b60208201528051606082018190526147639061078086601f6151dc565b606082018190526147879061079e61477c8760266151dc565b6107808860276151dc565b6060820181905261479c9061077b865f6151dc565b8160600181815250505f6147c56147bb83602001518460400151612767565b8360600151612767565b90506147d68161077b8760036151dc565b90506147ee6147e68660256151dc565b61400061274c565b60808301819052614804906107808760246151dc565b608083018190526148179061400061274c565b6080830181905261482d9061078087601e6151dc565b608083018190526148409061400061274c565b608083018190526148569061078087601d6151dc565b608083018190526148699061400061274c565b6080830181905261487f9061078087601c6151dc565b608083018190526148959061079e87601f6151dc565b608083018190526148ab9061077b8760056151dc565b60808301526148be6147e68660266151dc565b60a083018190526148d4906107808760256151dc565b60a083018190526148e79061400061274c565b60a083018190526148fd906107808760246151dc565b60a083018190526149109061400061274c565b60a083018190526149269061078087601f6151dc565b60a083018190526149399061400061274c565b60a0830181905261494f9061078087601e6151dc565b60a083018190526149659061079e8760276151dc565b60a0830181905261497a9061077b875f6151dc565b60a0830181905260808301515f916149929190612767565b90506149a38161077b8860046151dc565b90506149af8282612767565b60c084018190526149c89061077b613b8189600b6151dc565b60c084018190528560136020020152505050505050565b614a556040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6e614a6385601c6151dc565b6107808660026151dc565b8152614a89614a7e85601d6151dc565b6107808660036151dc565b6020820152614aa7614a9c85601e6151dc565b6107808660046151dc565b6040820152614ac5614aba85601f6151dc565b6107808660056151dc565b60608201528051614af790614af090614ae990614ae2908061274c565b845161274c565b835161274c565b825161274c565b60808201526020810151614b3590614b2b90614b2190614b17908061274c565b846020015161274c565b836020015161274c565b826020015161274c565b60a08201526040810151614b7390614b6990614b5f90614b55908061274c565b846040015161274c565b836040015161274c565b826040015161274c565b60c08201526060810151614ba79061428a90614b9d90614b93908061274c565b846060015161274c565b836060015161274c565b60e0820152608081015160a0820151614bc09190612767565b61010082015260c081015160e0820151614bda9190612767565b61012082015260a0810151614bfe90614bf39080612767565b826101200151612767565b61014082015260e0810151614c2290614c179080612767565b826101000151612767565b610160820152610120810151614c389080612767565b6101e08201819052614c5990614c4e9080612767565b826101600151612767565b6101e0820152610100810151614c6f9080612767565b6101a08201819052614c9090614c859080612767565b826101400151612767565b6101a08201819052610160820151614ca791612767565b6101808201526101408101516101e0820151614cc39190612767565b6101c0820152614cd761368885600c6151dc565b6102008201819052610280840151610180830151614d02926107809161077b9061079e8a60246151dc565b8360146020020152614d32836015602002015161078083610200015161077b856101a0015161079e8a60256151dc565b8360156020020152614d62836016602002015161078083610200015161077b856101c0015161079e8a60266151dc565b8360166020020152614d92836017602002015161078083610200015161077b856101e0015161079e8a60276151dc565b836017602002015250505050565b614df26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e277f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612734565b8152602001614e557f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612734565b8152602001614e827e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612734565b8152602001614eb07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612734565b90529050614ecd614ec286601c6151dc565b6107808760026151dc565b6101208301819052614f0c90614f0190614ef690614eeb908061274c565b85610120015161274c565b84610120015161274c565b83610120015161274c565b8252614f1985601d6151dc565b6020830152614f2985601e6151dc565b6040830152614f3985601f6151dc565b606083015281516020830151614f61916147bb91614f579190612767565b8460400151612767565b6080830152614f7461393a86600d6151dc565b6101408301528151614f9590614f8b90835f6114d0565b8360800151612767565b60a0830152614fc1846018602002015161078084610140015161077b8660a0015161079e8b60246151dc565b6103008501526020820151614fdc90614f8b908360016114d0565b60c0830152615008846019602002015161078084610140015161077b8660c0015161079e8b60256151dc565b610320850152604082015161502390614f8b908360026114d0565b60e083015261504f84601a602002015161078084610140015161077b8660e0015161079e8b60266151dc565b610340850152606082015161506a90614f8b908360036114d0565b61010083015261509884601b602002015161078084610140015161077b86610100015161079e8b60276151dc565b84601b6137c1565b815160015b601c8110156150f2576150e8826107808684601c81106150c7576150c7615ade565b6020020151866150d8600187615a91565b601b81106114d0576114d0615ade565b91506001016150a5565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615149575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151c0575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151f0576151f0615d0e565b6029811061520057615200615ade565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524560405180604001604052805f81526020015f81525090565b815260200161526560405180604001604052805f81526020015f81525090565b815260200161528560405180604001604052805f81526020015f81525090565b81526020016152a560405180604001604052805f81526020015f81525090565b81526020016152c560405180604001604052805f81526020015f81525090565b81526020016152e560405180604001604052805f81526020015f81525090565b815260200161530560405180604001604052805f81526020015f81525090565b815260200161532560405180604001604052805f81526020015f81525090565b815260200161534560405180604001604052805f81526020015f81525090565b815260200161536560405180604001604052805f81526020015f81525090565b815260200161538560405180604001604052805f81526020015f81525090565b81526020016153a560405180604001604052805f81526020015f81525090565b81526020016153c560405180604001604052805f81526020015f81525090565b81526020016153e560405180604001604052805f81526020015f81525090565b815260200161540560405180604001604052805f81526020015f81525090565b815260200161542560405180604001604052805f81526020015f81525090565b815260200161544560405180604001604052805f81526020015f81525090565b815260200161546560405180604001604052805f81526020015f81525090565b815260200161548560405180604001604052805f81526020015f81525090565b81526020016154a560405180604001604052805f81526020015f81525090565b81526020016154c560405180604001604052805f81526020015f81525090565b81526020016154e560405180604001604052805f81526020015f81525090565b815260200161550560405180604001604052805f81526020015f81525090565b815260200161552560405180604001604052805f81526020015f81525090565b815260200161554560405180604001604052805f81526020015f81525090565b815260200161556560405180604001604052805f81526020015f81525090565b815260200161558560405180604001604052805f81526020015f81525090565b81526020016155a560405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155be6158db565b81526020016155de60405180604001604052805f81526020015f81525090565b81526020016155fe60405180604001604052805f81526020015f81525090565b815260200161561e60405180604001604052805f81526020015f81525090565b815260200161563e60405180604001604052805f81526020015f81525090565b815260200161565e60405180604001604052805f81526020015f81525090565b815260200161567e60405180604001604052805f81526020015f81525090565b815260200161569e60405180604001604052805f81526020015f81525090565b81526020016156be60405180604001604052805f81526020015f81525090565b81526020016156cb6158fa565b81526020016156d8615928565b81526020016156e5615947565b8152602001615565615823565b6040518061010001604052806157316040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573e6157e6565b815260200161574b615823565b8152602001615758615823565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b4615980565b81526020016157c1615980565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591261589e565b81526020019060019003908161590a5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159575790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b1575f5ffd5b843567ffffffffffffffff8111156159c7575f5ffd5b8501601f810187136159d7575f5ffd5b803567ffffffffffffffff8111156159ed575f5ffd5b8760208284010111156159fe575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1e575f5ffd5b8501601f81018713615a2e575f5ffd5b803567ffffffffffffffff811115615a44575f5ffd5b8760208260051b8401011115615a58575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276157612761615a66565b8181038181111561276157612761615a66565b8082018082111561276157612761615a66565b5f5f85851115615ac5575f5ffd5b83861115615ad1575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1757615b17615a66565b5060010190565b80356020831015612761575f19602084900360031b1b1692915050565b5f82615b5557634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7e578151835260209283019290910190600101615b5f565b50505060a08201905092915050565b5f8183825b6009811015615bb1578151835260209283019290910190600101615b92565b5050506101208201905092915050565b5f8183825b602a811015615be5578151835260209283019290910190600101615bc6565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1f578151845260209384019390910190600101615c01565b509195945050505050565b5f8183825b6003811015615c4e578151835260209283019290910190600101615c2f565b50505060608201905092915050565b5f81615c6b57615c6b615a66565b505f190190565b5f8183825b6008811015615c96578151835260209283019290910190600101615c77565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccc575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cff578151835260209283019290910190600101615ce0565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220056f6d0852de9018f677abd041c3fa23920b67c31bc6c7ae12e07a78ae30c7fc64736f6c634300081b0033";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f2a1e15769804d1d832ade4b331e2f9045347e1639d197d01676f4b1544c6faad60c05260ae60e05260805160a05160c05160e051615d976100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfa01525f5050615d975ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599d565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a79565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a79565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a90565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a79565b905060016102a9600885615a79565b6102b39190615a79565b6102bd9082615aa3565b90506102cb60016029615a79565b6102d59082615aa3565b905060026102e4600185615a90565b6102ee9190615a79565b6102f89082615aa3565b9050610305600184615a79565b61030f9082615aa3565b905061031c600280615a79565b6103269082615aa3565b9050610333601082615aa3565b9392505050565b61034261520b565b61034a611786565b905090565b6103576155a9565b5f805b60108110156103b957610386868387610374602083615aa3565b9261038193929190615ab6565b6120c0565b8351826010811061039957610399615add565b6020020181815250506020826103af9190615aa3565b915060010161035a565b506103dd8582866103cb604083615aa3565b926103d893929190615ab6565b6120d3565b60208301526103ed604082615aa3565b90506104008582866103cb604083615aa3565b6040808401919091526104139082615aa3565b90506104268582866103cb604083615aa3565b6060830152610436604082615aa3565b90506104498582866103cb604083615aa3565b60c0830152610459604082615aa3565b905061046c8582866103cb604083615aa3565b60e083015261047c604082615aa3565b905061048f8582866103cb604083615aa3565b608083015261049f604082615aa3565b90506104b28582866103cb604083615aa3565b6101008301526104c3604082615aa3565b90506104d68582866103cb604083615aa3565b60a08301526104e6604082615aa3565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa3565b84610120015183601c811061052557610525615add565b6020020151826008811061053b5761053b615add565b6020020181815250506020836105519190615aa3565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa3565b836101400151826029811061059857610598615add565b6020020181815250506020826105ae9190615aa3565b9150600101610567565b505f5b6105c6600185615a90565b81101561060f576105de8683876103cb604083615aa3565b83610160015182601b81106105f5576105f5615add565b6020020152610605604083615aa3565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa3565b83610180015182601c811061064257610642615add565b6020020181815250506020826106589190615aa3565b9150600101610612565b506106748582866103cb604083615aa3565b6101a0830152610685604082615aa3565b90506106988582866103cb604083615aa3565b6101c0830152509392505050565b6106ae6156f1565b5f6106bd888888888886612160565b90835290506106cc81896121df565b602084019190915290506106e081846122ce565b604084019190915290506106f588828561235d565b606084019190915290506107098882612431565b6080840191909152905061071e8882856124bc565b60a08401919091529050610733888285612631565b60c0840191909152905061074788826126f6565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa3565b612733565b61274b565b612766565b90505f6107a38761079e8a61077b6107768b6001615aa3565b61277f565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a90565b81101561083f575f6107fc8c83815181106107ef576107ef615add565b60200260200101516127a7565b905061080c8661077b8684612766565b955061081c8561077b8584612766565b9450610828848b612766565b9350610834838b61277f565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615add565b602002015190506108738661077b8684612766565b95506108838561077b8584612766565b945061088f848b612766565b935061089b838b61277f565b925050600101610842565b506108b184846127bc565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615add565b602002015190505f61091782866127ca565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615add565b6020020151905061095f83826127ea565b9550610986886040015185601c811061097a5761097a615add565b60200201518683612999565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c4565b90508281145b9695505050505050565b5f6109c9615775565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3d565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b610a31906002615aa3565b67ffffffffffffffff811115610a4957610a49615af1565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b610aac906002615aa3565b67ffffffffffffffff811115610ac457610ac4615af1565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615add565b602002602001015161277f565b612b07565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615add565b6020026020010151612766565b610140850181905261012085015160c0880151610b8f92610780919061274b565b845260a0860151610bbf90610ba390612b07565b61077b86610120015161079e8a60c0015189610140015161274b565b6020850152815160019083905f90610bd957610bd9615add565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615add565b6020908102919091010152600160a08501525f60c085015283515f516020615d425f395f51905f5203604085015260208401515f516020615d425f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274b565b838281518110610c7357610c73615add565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a90565b60298110610cad57610cad615add565b60200201518860a0015161274b565b60c086015260a08501516080880151610cd5919061274b565b60a0860152610ce381615b05565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa3565b90505f610d10602484615aa3565b9050610d41858381518110610d2757610d27615add565b602002602001015161078089606001518a60a0015161274b565b858381518110610d5357610d53615add565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615add565b60200201518a60a0015161274b565b60c088015260a087015160808a0151610da9919061274b565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615add565b6020026020010181905250866080015181600281518110610df457610df4615add565b60200260200101819052508660a0015181600381518110610e1757610e17615add565b60200260200101819052508660c0015181600481518110610e3a57610e3a615add565b60200260200101819052508660e0015181600581518110610e5d57610e5d615add565b602002602001018190525086610100015181600681518110610e8157610e81615add565b602002602001018190525086610120015181600781518110610ea557610ea5615add565b602002602001018190525086610140015181600881518110610ec957610ec9615add565b602002602001018190525086610160015181600981518110610eed57610eed615add565b6020026020010181905250866101c0015181600a81518110610f1157610f11615add565b602002602001018190525086610180015181600b81518110610f3557610f35615add565b6020026020010181905250866101a0015181600c81518110610f5957610f59615add565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615add565b602002602001018190525086610200015181600e81518110610fa157610fa1615add565b602002602001018190525086610220015181600f81518110610fc557610fc5615add565b602002602001018190525086610240015181601081518110610fe957610fe9615add565b60200260200101819052508661026001518160118151811061100d5761100d615add565b60200260200101819052508661028001518160128151811061103157611031615add565b6020026020010181905250866102a001518160138151811061105557611055615add565b6020026020010181905250866102c001518160148151811061107957611079615add565b6020026020010181905250866102e001518160158151811061109d5761109d615add565b6020026020010181905250866103000151816016815181106110c1576110c1615add565b6020026020010181905250866103200151816017815181106110e5576110e5615add565b60200260200101819052508661034001518160188151811061110957611109615add565b60200260200101819052508661036001518160198151811061112d5761112d615add565b602002602001018190525086610380015181601a8151811061115157611151615add565b6020026020010181905250866103a0015181601b8151811061117557611175615add565b6020026020010181905250866103c0015181601c8151811061119957611199615add565b6020026020010181905250876020015181601d815181106111bc576111bc615add565b6020026020010181905250876040015181601e815181106111df576111df615add565b6020026020010181905250876060015181601f8151811061120257611202615add565b602002602001018190525087608001518160208151811061122557611225615add565b60200260200101819052508760a001518160218151811061124857611248615add565b60200260200101819052508761010001518160228151811061126c5761126c615add565b60200260200101819052508760c001518160238151811061128f5761128f615add565b60200260200101819052508760e00151816024815181106112b2576112b2615add565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b77565b9050611322815f8151811061130f5761130f615add565b602002602001015186610120015161274b565b608086018190526101808a01515160c0890151611353929161078091611348919061274b565b88610140015161274b565b608086015260c087015161136690612cd6565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a90565b8110156115a7576113c8610b358960e00151878460016113b89190615aa3565b81518110610b2857610b28615add565b61012087015260e08801516113f790610b3590876113e7856001615aa3565b81518110610b6157610b61615add565b61014087015260a0860151610120870151611412919061274b565b61016087015260a086015160c089015161143a9161142f9161274b565b87610140015161274b565b610180870181905261146f905f516020615d425f395f51905f52036101608801515f516020615d425f395f51905f5203612766565b848261147d60246001615aa3565b6114879190615aa3565b8151811061149757611497615add565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa3565b601c81106114d0576114d0615add565b602002015161274b565b905061151481610780896101600151868660016114f79190615aa3565b8151811061150757611507615add565b602002602001015161274b565b9050611524876080015182612766565b608088015260a087015160c08a015161154a916115409161274b565b8a60c0015161274b565b60a08801526101608b015182601b811061156657611566615add565b6020020151848361157960246001615aa3565b6115839190615aa3565b8151811061159357611593615add565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b815181106115f9576115f9615add565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b8151811061164557611645615add565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b61168e906001615aa3565b8151811061169e5761169e615add565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b6116e5906001615aa3565b815181106116f5576116f5615add565b6020026020010181815250505f61170c8486612ce1565b90505f61171883612dfc565b90505f6117298d5f01518484612e4d565b90505f5f6117398f5f0151612ec3565b9150915061174682612f8f565b61174f81612f8f565b61175a858385613032565b9450611767848285613032565b9350611773858561306e565b9f9e505050505050505050505050505050565b61178e61520b565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f17ce92bbe3764f94e308f023cc7e16a6410907e98fc21289629e7c0a0699b67a81527f11be472f1d71fdeb0ddf0b09427f0ec7e5947aa3803cb1eec23a7a8d05d216f9818301526060830152825180840184527f0fb13ed626ba68632016f1822ffb17b747f49b8c9631819420093fca908de58481527f02f0751845674f28ec7a5f4a7dbc5f8b169928c1c214831db2f20cb5ea42c2a4818301526080830152825180840184527f0acd50b423eb87d4e599ae847f6ed5329539e06f283c373f56eb43d7711346ce81527f079460baea36ebac408d9bd603aeed5cf5dcbece191d416a0275a8239611f4508183015260a0830152825180840184527f2dbe730db2d241b2a9c0dff0085573f2f6e4241376a6183ef347639011d5635181527f0895b77ba2d2805825a528d6065ebff4c6cf0a94a37ada37cae350f27bed52ec8183015260c0830152825180840184527f0efabaa637a0c4ef8fc7838603753da8e49f5a0b9be4560dd5c104bd9bef8a3881527f02e5d1077460e08884dfb75c3145283e345498784bb969e306ab7a3eb2dcfea48183015260e0830152825180840184527f20de51eb61559bc9f0651c8af3b417a5f37a2cdb71392aa17d5bf866c2b1a78981527f27e2db3bc91e9c50e3dde74b21ddd9af933f5d0f14a4de6ade404867f56ed88b81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f0b025a9c7d249c024202c98db8275e07c6febb2551b9bb4f5120f67a7852684481527f09d9974bfc904fe51f67a4f04decda9ca42cdfd1a99ce831a26637b7b14fc06b81830152610140830152825180840184527f0837ad373bc7d5deed4bfdd437abd032f5753e4cead1b9d783bf9f00c2240b4f81527f201fea60d2afdf5ccfe75a150c38c43e69fe39a0fa8285362730bcb3d6766e2081830152610160830152825180840184527f18131bf25cb35594d5c0537e0b423c00ee67ca3eab415301df672a856d413f1981527dcd6ff62644e9c34f810a7cfda89fde2cc3e41621ab33291ef4578a940d9d81830152610180830152825180840184527f0f55d67381abf08e1e0385540663a59c964b6bd4bbd6a84c28696f8791212ce381527f116e8c9fa540737f00de2801ee347e5af9b9ba0c8caae2c72140ec88ea328242818301526101a0830152825180840184527f1c71cab4fba7d1255cdd06769b3a2756133c6f95a048a5a5439e179dd774463f81527f051778755743dcf69418c6b31b9d00c4e905108f98f8b2c3e15f833c5b20bf3a818301526101c0830152825180840184527f0e3cc1fc8392426250e2ca5512a8c3e55106a46bda464db5f9cbbcf3a0498ceb81527f1946190fa88c93115983236ddcecd4a2e5375f028d77696ecb6dd6feb5f5833d818301526101e0830152825180840184527f1ae8c64a129824d4142e2ba683db3cd3fb0844f3bc704b73a26a1264322ccc8981527f1caa417bbdc036557eb0693456e8a5a27e119f3588b18d5a8f2966c66455224581830152610200830152825180840184527f13120c9534e61b34a2725bcf703b49a2a6ebfcb768bee9c10690fc4ea5d6865081527f300fa4fc36ce160ec8c1690209313ee3e15a777e03665e4fbbd1f5010af1c26681830152610220830152825180840184527f0d71d02ee327da969e6a29bd244c35885b0e4c7b83c0cdb3959ecfa1297f417181527f2019ab8c4ae508c13c1f3539e8521a2a132c0a01b08987f2c44bc2cfdf7e124f81830152610240830152825180840184527f2e70b75b33fb2fe70a7bdc1e89775b430ef30b5ba404643a16d1e3aea9e5d36281527f22d6233ad27a4a8bc667ff63aa16c95e3f496b9e771a2316cf8a08a14ec5ac9481830152610260830152825180840184527f2572bf538e58d5bf9d50022e8406217ffa0aede6d08b0555c564dba9e22f4df681527f10403b5b725228ed46296aea8c07875fcbc9c3b95dd917d976190a6c545e32db81830152610280830152825180840184527f2efa1403dee23a8a066894d574aa84ee4fcba4aeb5d53a8c13393e6f4be5cd0081527f1c873d804f4480341a58bee891b5d1533d1f392fabea19bcbd486fa9303639f3818301526102a0830152825180840184527f2cdbcf20bb4b39b6c35983940841104de0671980944397f025557f10342c971281527f1712395a0cad7efd65eaa05310ded6aa88feaa89a12dcbf886189d24ae5874c0818301526102c0830152825180840184527f0fb6d137b7f46e28a49876756fcdbb260494d7dc98c96f0f873270459d41136581527f11353238f0008eef2e177dc3cb5a7e07be4371705d7b29d68294cbe23109a1c4818301526102e0830152825180840184527f12fb273f42a4fd5b07264393d3301c618988d9e7c72ee0f20a42e04d760c8ac881527f0937bc2bb9bcf6ba8a25b4a9325c8a26deaa4c4cad124425dd92780284fcb78281830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f16be4f09d5038cae6924291b5912487b3590a2592e2be607ac66355a2721371a83527f194ffa840d3752573fdacba6d7438b763c48dbc176b9b2d3356745a922ca6a94908301526103c081019190915290565b5f6103336120ce8385615b1d565b6127a7565b604080518082019091525f808252602082015260408051808201909152805f516020615d225f395f51905f5261210c60205f8789615ab6565b61211591615b1d565b61211f9190615b3a565b81526020908101905f516020615d225f395f51905f5290612144906040908789615ab6565b61214d91615b1d565b6121579190615b3a565b90529392505050565b6121936040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a18888888888613262565b6040860191909152602085019190915290835292506121c08389613560565b6080850191909152606084019190915291989197509095505050505050565b6121e76157e5565b5f6121f0615804565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122539161223891849101615b59565b604051602081830303815290604052805190602001206127a7565b91505f61225f836135e7565b50808552905060015b6122746001601c615a90565b8110156122c4576122a58561228a600184615a90565b601b811061229a5761229a615add565b60200201518361274b565b8582601b81106122b7576122b7615add565b6020020152600101612268565b5050509250929050565b6122d6615822565b5f6122ed8460405160200161223891815260200190565b93506122f8846135e7565b50825260015b838110156123555761233683612315600184615a90565b601c811061232557612325615add565b6020020151846114c0600185615a90565b8382601c811061234857612348615add565b60200201526001016122fe565b509093915050565b612365615822565b5f805b8381101561242757612378615841565b8581525f5b60088110156123e15787610120015183601c811061239d5761239d615add565b602002015181600881106123b3576123b3615add565b6020020151826123c4836001615aa3565b600981106123d4576123d4615add565b602002015260010161237d565b506123f6816040516020016122389190615b8c565b95505f612402876135e7565b8685601c811061241457612414615add565b6020020191909152505050600101612368565b5090949293505050565b5f5f61243b615860565b8381525f5b602981101561248e57856101400151816029811061246057612460615add565b602002015182612471836001615aa3565b602a811061248157612481615add565b6020020152600101612440565b506124a3816040516020016122389190615bc0565b91505f6124af836135e7565b5096929550919350505050565b5f80806124ca600185615a90565b6124d5906002615a79565b6124e0906001615aa3565b67ffffffffffffffff8111156124f8576124f8615af1565b604051908082528060200260200182016040528015612521578160200160208202803683370190505b50905084815f8151811061253757612537615add565b60209081029190910101525f5b61254f600186615a90565b8110156126025786610160015181601b811061256d5761256d615add565b6020020151518261257f836002615a79565b61258a906001615aa3565b8151811061259a5761259a615add565b60200260200101818152505086610160015181601b81106125bd576125bd615add565b602002015160200151828260026125d49190615a79565b6125df906002615aa3565b815181106125ef576125ef615add565b6020908102919091010152600101612544565b50612617816040516020016122389190615bf4565b91505f612623836135e7565b509792965091945050505050565b5f808061263f846001615aa3565b67ffffffffffffffff81111561265757612657615af1565b604051908082528060200260200182016040528015612680578160200160208202803683370190505b50905084815f8151811061269657612696615add565b60209081029190910101525f5b848110156126025786610180015181601c81106126c2576126c2615add565b6020020151826126d3836001615aa3565b815181106126e3576126e3615add565b60209081029190910101526001016126a3565b5f5f61270061587f565b8381526101a085018051516020808401919091529051810151604080840191909152516124a39161223891849101615c29565b5f5f516020615d425f395f51905f52825b0692915050565b5f5f516020615d425f395f51905f5282840990505b92915050565b5f5f516020615d425f395f51905f528284089392505050565b5f5f516020615d425f395f51905f52825f516020615d425f395f51905f520384089392505050565b5f5f516020615d425f395f51905f5282612744565b5f6103338361077b84612b07565b815160208301515f9182916127df9190612766565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d1576128c78261077b878461277f565b91506001016128b0565b506128da61589d565b5f5b600881101561293b575f8482600881106128f8576128f8615add565b6020020151905061290d8161077b898561277f565b905061291881612b07565b90508083836008811061292d5761292d615add565b6020020152506001016128dc565b505f5b600881101561298e575f87826008811061295a5761295a615add565b60200201519050612977818484600881106114d0576114d0615add565b90506129838682612766565b95505060010161293e565b506109b6848361274b565b5f5f6129af60016107808561077b89600161277f565b90506129bb848261274b565b95945050505050565b5f6129cd615822565b6129d8868285613620565b6129e4868683866137cc565b6129f0868683866139b8565b6129fb868285613be3565b612a06868285613dd7565b612a1286868386614120565b612a1d8682856145cc565b612a288682856149de565b612a33868285614d9f565b6109b6818561509f565b60605f8267ffffffffffffffff811115612a5957612a59615af1565b604051908082528060200260200182016040528015612a82578160200160208202803683370190505b50905083815f81518110612a9857612a98615add565b602090810291909101015260015b83811015612aff57612ada82612abd600184615a90565b81518110612acd57612acd615add565b6020026020010151612cd6565b828281518110612aec57612aec615add565b6020908102919091010152600101612aa6565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d425f395f51905f520360808201525f516020615d425f395f51905f5260a082015260205f60c08360055afa80612b63575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9357612b93615af1565b604051908082528060200260200182016040528015612bbc578160200160208202803683370190505b509050825b8015612ccb575f85612bd4600184615a90565b81518110612be457612be4615add565b602002602001015190505f89600184612bfd9190615a90565b601c8110612c0d57612c0d615add565b602002015190505f612c68612c2c612c25858d61274b565b600261274b565b61079e8b612c3b600189615a90565b601c8110612c4b57612c4b615add565b602002015161077b612c628861077b60018a61277f565b8761277f565b9050612c898161077b610b35612c838761077b60018961277f565b86612766565b99508990508085612c9b600187615a90565b81518110612cab57612cab615add565b60200260200101818152505050505080612cc490615c5c565b9050612bc1565b509695505050505050565b5f612760828361274b565b604080518082019091525f80825260208201525f612d207f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b612d2b906002615aa3565b90505f5b81811015612d6157612d59858281518110612d4c57612d4c615add565b6020026020010151612f8f565b600101612d2f565b50604051600190815b60018401811015612dc65760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6a565b5080518452602081015160208501525080612df4576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d225f395f51905f5282602001515f516020615d225f395f51905f52612e3a9190615a90565b612e449190615b3a565b60208301525090565b5f5f5f612e5986612ec3565b91509150612e6561589d565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb89161223891849101615c71565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d225f395f51905f528380095f516020615d225f395f51905f5260035f516020615d225f395f51905f52838709085f516020615d225f395f51905f52848509149150508061302c5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306283866150f8565b90506129bb8185615164565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132049190615ca5565b5f60405180830381855afa9150503d805f811461323c576040519150601f19603f3d011682016040523d82523d5f602084013e613241565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbb565b5f80808080613272866001615aa3565b61327d906006615aa3565b67ffffffffffffffff81111561329557613295615af1565b6040519080825280602002602001820160405280156132be578160200160208202803683370190505b509050865f1b815f815181106132d6576132d6615add565b60209081029190910101525f5b6132ee601088615a90565b81101561333f5789898281811061330757613307615add565b905060200201358282600161331c9190615aa3565b8151811061332c5761332c615add565b60209081029190910101526001016132e3565b505f5b60108110156133b0578a5161336a90826010811061336257613362615add565b602002015190565b828260106133798b6001615aa3565b6133839190615a90565b61338d9190615aa3565b8151811061339d5761339d615add565b6020908102919091010152600101613342565b5060208a015151816133c3886001615aa3565b815181106133d3576133d3615add565b6020908102919091018101919091528a8101510151816133f4886001615aa3565b6133ff906001615aa3565b8151811061340f5761340f615add565b602090810291909101015260408a0151518161342c886001615aa3565b613437906002615aa3565b8151811061344757613447615add565b60209081029190910181019190915260408b0151015181613469886001615aa3565b613474906003615aa3565b8151811061348457613484615add565b602090810291909101015260608a015151816134a1886001615aa3565b6134ac906004615aa3565b815181106134bc576134bc615add565b60209081029190910181019190915260608b01510151816134de886001615aa3565b6134e9906005615aa3565b815181106134f9576134f9615add565b602002602001018181525050613519816040516020016122389190615bf4565b9150613524826135e7565b604080516020810186905292975090955061353f9101612238565b91505f61354b836135e7565b50959b949a5094985090965091945050505050565b5f5f5f61356b6158bc565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135cd9161223891849101615cda565b91506135d8826135e7565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360b826127a7565b9450613616816127a7565b9350505050915091565b5f61362c8460076151db565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368d61368761366185600361277f565b61077b61367c6136718b5f6151db565b61077b8c601d6151db565b61077b8b601c6151db565b8361274b565b905061370e6137036136ea6136d16136b8856107806136ad8d60026151db565b61077b8e601c6151db565b6107806136c68c60036151db565b61077b8d601d6151db565b6107806136df8b60046151db565b61077b8c601e6151db565b6107806136f88a60056151db565b61077b8b601f6151db565b6107808860016151db565b905061372d8161078061372286600161277f565b61077b8a60276151db565b9050613739818461274b565b9050613745818561274b565b8552505f905061377f61377561376a61375f88601c6151db565b61078089601f6151db565b61079e8860246151db565b610780875f6151db565b90506137908161077b84600261277f565b90506137a18161077b84600161277f565b90506137ad818361274b565b90506137b9818461274b565b9050808460015b60200201525050505050565b5f5f5f6138026137f86137e089601c6151db565b6107806137ee8b60126151db565b8a6060015161274b565b8760800151612766565b905061383b8161077b6138316138198b601d6151db565b6107806138278d60136151db565b8c6060015161274b565b8960800151612766565b90506138608161077b6138316138528b601e6151db565b6107806138278d60146151db565b90506138858161077b6138316138778b601f6151db565b6107806138278d60156151db565b92505f90506138a96137f861389b89601c6151db565b6107806137ee8b600e6151db565b90506138ce8161077b6138316138c08b601d6151db565b6107806138278d600f6151db565b90506138f38161077b6138316138e58b601e6151db565b6107806138278d60106151db565b90506139188161077b61383161390a8b601f6151db565b6107806138278d60116151db565b91505f905061393f61393961392e8960206151db565b6107808a601a6151db565b8461274b565b90506139748161079e61396e6139568b60286151db565b6107806139648d601b6151db565b8c60a0015161274b565b8561274b565b9050613980818561274b565b6040860152505f6139a361396e61399889601b6151db565b61077b8a60286151db565b9050808560035b602002015250505050505050565b5f5f613a166139fe6139e66139d16138318a60166151db565b6107806139df8b60176151db565b8a5161274b565b6107806139f48a60186151db565b896020015161274b565b610780613a0c8960196151db565b886040015161274b565b91505f613a4d613a34613a2a89601c6151db565b8860800151612766565b610780613a428a60036151db565b61077b8b60246151db565b90505f613a76613a5e89601d6151db565b610780613a6b8b5f6151db565b61077b8c60256151db565b90505f613aa0613a878a601e6151db565b610780613a958c60016151db565b61077b8d60266151db565b9050613adf613ac7613ab985610780868d5f015161274b565b610780848c6020015161274b565b610780613ad58c60046151db565b8b6040015161274b565b93505050505f613af36139398860216151db565b90505f613b046139398960216151db565b90505f613b3c613b23613b188b60236151db565b6107808c60066151db565b61079e613b318c60236151db565b61077b8d60066151db565b90505f613b60613b5a613b4f878961274b565b61077b8d60216151db565b8361277f565b9050613b6c818861274b565b90505f613b94613b86613b808d60066151db565b8761274b565b61079e613b808e60226151db565b90505f613ba28c60236151db565b90505f613bb2613b5a838461274b565b60808c0185905260a08c018490529050613bcc818b61274b565b8b6006602002015250505050505050505050505050565b5f613bef5f600161277f565b90505f613bfd5f600261277f565b90505f613c0b5f600361277f565b90505f613c27613c1c88601d6151db565b61079e89601c6151db565b90505f613c43613c3889601e6151db565b61079e8a601d6151db565b90505f613c5f613c548a601f6151db565b61079e8b601e6151db565b90505f613c7b613c708b60246151db565b61079e8c601f6151db565b905083613c8c8161077b818b612766565b9050613c9c8161077b878a612766565b9050613cac8161077b8789612766565b9050613cbd8161077b8d60086151db565b9050613cc9818a61274b565b60e08b01525082613cde8161077b818b612766565b9050613cee8161077b868a612766565b9050613cfe8161077b8689612766565b9050613d0f8161077b8d60086151db565b9050613d1b818a61274b565b6101008b01525081613d318161077b818b612766565b9050613d418161077b858a612766565b9050613d518161077b8589612766565b9050613d628161077b8d60086151db565b9050613d6e818a61274b565b6101208b01525080613d848161077b818b612766565b9050613d948161077b848a612766565b9050613da48161077b8489612766565b9050613db58161077b8d60086151db565b9050613dc1818a61274b565b610140909a019990995250505050505050505050565b613e106040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1b84601d6151db565b8152613e2884601e6151db565b6020820152613e388460246151db565b6040820152613e488460276151db565b6060820152613e588460266151db565b6080820152613e688460256151db565b60a08201525f613e798560026151db565b90505f613e86865f6151db565b90505f613e9a8460400151855f015161277f565b90505f613eaf8560200151866020015161274b565b606086015190915086905f90613ec5908061274b565b90505f613ee3613edd89602001518a6060015161274b565b8861274b565b90505f613f02613efb8a60a001518b60400151612766565b8a51612766565b9050613f11613b80828861274b565b9050613f38613f32613f2c613f26848761277f565b8861277f565b84612766565b83612766565b9050613f60613f55613f4a838761274b565b61077b8f60096151db565b61077b60018a61277f565b6101608c015250505050602085015160808601515f91613f7f91612766565b90505f613f9d613f9388606001518861274b565b886020015161277f565b90505f613fc1613fad848761274b565b61078061396e8b60a001518c5f015161277f565b9050613fe9613fde613fd3838c61274b565b61077b8e60096151db565b61077b60018961277f565b6101808b0152505f915061400a9050614003836011612766565b875161274b565b90505f6140178384612766565b90506140238182612766565b90505f61403183600961274b565b905061405a61405461393961404d8b60a001518c5f0151612766565b8b51612766565b8261277f565b60c089018190525f9061407590613edd90613f4a908d61274b565b90506140888b600b602002015182612766565b6101608c0152505086515f92506140af9150614003906140a89080612766565b8851612766565b90505f6140ef6140ca8361077b8a5f01518b60a0015161277f565b602089015161079e906140dd9080612766565b61077b8b602001518c60800151612766565b905061410c89600c6020020151610780613edd613f4a858d61274b565b89600c602002015250505050505050505050565b61418a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a261419886601e6151db565b856040015161274b565b8082526141c1906107806141b788601d6151db565b876020015161274b565b8082526141d69061078061400388601c6151db565b8082526141e8906107808760016151db565b808252602082018190526142019061079e87601f6151db565b815261421c6142118660246151db565b61079e87601c6151db565b608082015261423a61422f8660276151db565b61079e87601f6151db565b606082015260808101516142539061077b81600161277f565b6101c0820152608081015161429390614289906142829061077b60015f516020615d425f395f51905f52615a90565b6001612766565b826060015161274b565b60a082018190526142c9906142bb9061077b6142b08960026151db565b61077b8a60036151db565b61077b61396e88600a6151db565b83600e60200201526101c08101516142ed906142bb9061077b6142b08960026151db565b6101e084015280516143129061077b6143078860026151db565b61077b8960036151db565b6101208201525f61433161432787601f6151db565b836020015161277f565b90506143428161077b83600161277f565b60e083015261435f6143558760266151db565b866040015161274b565b60408301819052614382906107806143788960256151db565b886020015161274b565b604083018190526143a29061078061439b8960246151db565b885161274b565b60408301526143bf6143b58760276151db565b836040015161277f565b60408301525f6143de6143d38860266151db565b61079e89601e6151db565b905061443061440b613687614282866080015160015f516020615d425f395f51905f5261077b9190615a90565b61077b614282866040015160015f516020615d425f395f51905f5261077b9190615a90565b60c0840152604083015161445290614448908061274b565b846040015161277f565b61010084015260c083015161447e906144709061077b8a60046151db565b61077b613b808a600a6151db565b6102008601526101c083015161449d906144709061077b8a60046151db565b6102208601526101008301516144bc906144709061077b8a60046151db565b61024086015260e08301516144d69061077b8960046151db565b6101408401526144f56144ea8860256151db565b61079e89601d6151db565b6101608401526080830151614533906143d390614528906142829061077b60015f516020615d425f395f51905f52615a90565b85610160015161274b565b61018084018190526101208401516101a0850181905261456a916107809061077b61455f8c60056151db565b61077b8d60026151db565b6101a08401819052835161458a91906107809061077b61455f8c5f6151db565b6101a084018190526101408401516145a29190612766565b6101a084018190526145bc9061077b613b808a600a6151db565b6101a0840181905285600d6139aa565b6146056040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463a61462161461686601c6151db565b61077b8760256151db565b61078061462f8760246151db565b61077b88601d6151db565b815261467f61467461465b61465087601c6151db565b61077b88601f6151db565b61078061466988601d6151db565b61077b89601e6151db565b61079e8660266151db565b6040820181905261469490600160441b61274b565b604082018190526146aa9061079e8660276151db565b6040820181905281516146bd9190612766565b604082018190526146d39061077b8660056151db565b604082015280516146e890600160441b61274b565b808252614708906107806146fd8760246151db565b61077b8860256151db565b8082526020820181905261472f9061079e61472487601e6151db565b61078088601f6151db565b602082018190526147459061077b8660046151db565b60208201528051606082018190526147629061078086601f6151db565b606082018190526147869061079e61477b8760266151db565b6107808860276151db565b6060820181905261479b9061077b865f6151db565b8160600181815250505f6147c46147ba83602001518460400151612766565b8360600151612766565b90506147d58161077b8760036151db565b90506147ed6147e58660256151db565b61400061274b565b60808301819052614803906107808760246151db565b608083018190526148169061400061274b565b6080830181905261482c9061078087601e6151db565b6080830181905261483f9061400061274b565b608083018190526148559061078087601d6151db565b608083018190526148689061400061274b565b6080830181905261487e9061078087601c6151db565b608083018190526148949061079e87601f6151db565b608083018190526148aa9061077b8760056151db565b60808301526148bd6147e58660266151db565b60a083018190526148d3906107808760256151db565b60a083018190526148e69061400061274b565b60a083018190526148fc906107808760246151db565b60a0830181905261490f9061400061274b565b60a083018190526149259061078087601f6151db565b60a083018190526149389061400061274b565b60a0830181905261494e9061078087601e6151db565b60a083018190526149649061079e8760276151db565b60a083018190526149799061077b875f6151db565b60a0830181905260808301515f916149919190612766565b90506149a28161077b8860046151db565b90506149ae8282612766565b60c084018190526149c79061077b613b8089600b6151db565b60c084018190528560136020020152505050505050565b614a546040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6d614a6285601c6151db565b6107808660026151db565b8152614a88614a7d85601d6151db565b6107808660036151db565b6020820152614aa6614a9b85601e6151db565b6107808660046151db565b6040820152614ac4614ab985601f6151db565b6107808660056151db565b60608201528051614af690614aef90614ae890614ae1908061274b565b845161274b565b835161274b565b825161274b565b60808201526020810151614b3490614b2a90614b2090614b16908061274b565b846020015161274b565b836020015161274b565b826020015161274b565b60a08201526040810151614b7290614b6890614b5e90614b54908061274b565b846040015161274b565b836040015161274b565b826040015161274b565b60c08201526060810151614ba69061428990614b9c90614b92908061274b565b846060015161274b565b836060015161274b565b60e0820152608081015160a0820151614bbf9190612766565b61010082015260c081015160e0820151614bd99190612766565b61012082015260a0810151614bfd90614bf29080612766565b826101200151612766565b61014082015260e0810151614c2190614c169080612766565b826101000151612766565b610160820152610120810151614c379080612766565b6101e08201819052614c5890614c4d9080612766565b826101600151612766565b6101e0820152610100810151614c6e9080612766565b6101a08201819052614c8f90614c849080612766565b826101400151612766565b6101a08201819052610160820151614ca691612766565b6101808201526101408101516101e0820151614cc29190612766565b6101c0820152614cd661368785600c6151db565b6102008201819052610280840151610180830151614d01926107809161077b9061079e8a60246151db565b8360146020020152614d31836015602002015161078083610200015161077b856101a0015161079e8a60256151db565b8360156020020152614d61836016602002015161078083610200015161077b856101c0015161079e8a60266151db565b8360166020020152614d91836017602002015161078083610200015161077b856101e0015161079e8a60276151db565b836017602002015250505050565b614df16040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e267f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612733565b8152602001614e547f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612733565b8152602001614e817e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612733565b8152602001614eaf7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612733565b90529050614ecc614ec186601c6151db565b6107808760026151db565b6101208301819052614f0b90614f0090614ef590614eea908061274b565b85610120015161274b565b84610120015161274b565b83610120015161274b565b8252614f1885601d6151db565b6020830152614f2885601e6151db565b6040830152614f3885601f6151db565b606083015281516020830151614f60916147ba91614f569190612766565b8460400151612766565b6080830152614f7361393986600d6151db565b6101408301528151614f9490614f8a90835f6114d0565b8360800151612766565b60a0830152614fc0846018602002015161078084610140015161077b8660a0015161079e8b60246151db565b6103008501526020820151614fdb90614f8a908360016114d0565b60c0830152615007846019602002015161078084610140015161077b8660c0015161079e8b60256151db565b610320850152604082015161502290614f8a908360026114d0565b60e083015261504e84601a602002015161078084610140015161077b8660e0015161079e8b60266151db565b610340850152606082015161506990614f8a908360036114d0565b61010083015261509784601b602002015161078084610140015161077b86610100015161079e8b60276151db565b84601b6137c0565b815160015b601c8110156150f1576150e7826107808684601c81106150c6576150c6615add565b6020020151866150d7600187615a90565b601b81106114d0576114d0615add565b91506001016150a4565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615148575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bf575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ef576151ef615d0d565b602981106151ff576151ff615add565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524460405180604001604052805f81526020015f81525090565b815260200161526460405180604001604052805f81526020015f81525090565b815260200161528460405180604001604052805f81526020015f81525090565b81526020016152a460405180604001604052805f81526020015f81525090565b81526020016152c460405180604001604052805f81526020015f81525090565b81526020016152e460405180604001604052805f81526020015f81525090565b815260200161530460405180604001604052805f81526020015f81525090565b815260200161532460405180604001604052805f81526020015f81525090565b815260200161534460405180604001604052805f81526020015f81525090565b815260200161536460405180604001604052805f81526020015f81525090565b815260200161538460405180604001604052805f81526020015f81525090565b81526020016153a460405180604001604052805f81526020015f81525090565b81526020016153c460405180604001604052805f81526020015f81525090565b81526020016153e460405180604001604052805f81526020015f81525090565b815260200161540460405180604001604052805f81526020015f81525090565b815260200161542460405180604001604052805f81526020015f81525090565b815260200161544460405180604001604052805f81526020015f81525090565b815260200161546460405180604001604052805f81526020015f81525090565b815260200161548460405180604001604052805f81526020015f81525090565b81526020016154a460405180604001604052805f81526020015f81525090565b81526020016154c460405180604001604052805f81526020015f81525090565b81526020016154e460405180604001604052805f81526020015f81525090565b815260200161550460405180604001604052805f81526020015f81525090565b815260200161552460405180604001604052805f81526020015f81525090565b815260200161554460405180604001604052805f81526020015f81525090565b815260200161556460405180604001604052805f81526020015f81525090565b815260200161558460405180604001604052805f81526020015f81525090565b81526020016155a460405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155bd6158da565b81526020016155dd60405180604001604052805f81526020015f81525090565b81526020016155fd60405180604001604052805f81526020015f81525090565b815260200161561d60405180604001604052805f81526020015f81525090565b815260200161563d60405180604001604052805f81526020015f81525090565b815260200161565d60405180604001604052805f81526020015f81525090565b815260200161567d60405180604001604052805f81526020015f81525090565b815260200161569d60405180604001604052805f81526020015f81525090565b81526020016156bd60405180604001604052805f81526020015f81525090565b81526020016156ca6158f9565b81526020016156d7615927565b81526020016156e4615946565b8152602001615564615822565b6040518061010001604052806157306040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573d6157e5565b815260200161574a615822565b8152602001615757615822565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b361597f565b81526020016157c061597f565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591161589d565b8152602001906001900390816159095790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159565790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b0575f5ffd5b843567ffffffffffffffff8111156159c6575f5ffd5b8501601f810187136159d6575f5ffd5b803567ffffffffffffffff8111156159ec575f5ffd5b8760208284010111156159fd575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1d575f5ffd5b8501601f81018713615a2d575f5ffd5b803567ffffffffffffffff811115615a43575f5ffd5b8760208260051b8401011115615a57575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276057612760615a65565b8181038181111561276057612760615a65565b8082018082111561276057612760615a65565b5f5f85851115615ac4575f5ffd5b83861115615ad0575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1657615b16615a65565b5060010190565b80356020831015612760575f19602084900360031b1b1692915050565b5f82615b5457634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7d578151835260209283019290910190600101615b5e565b50505060a08201905092915050565b5f8183825b6009811015615bb0578151835260209283019290910190600101615b91565b5050506101208201905092915050565b5f8183825b602a811015615be4578151835260209283019290910190600101615bc5565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1e578151845260209384019390910190600101615c00565b509195945050505050565b5f8183825b6003811015615c4d578151835260209283019290910190600101615c2e565b50505060608201905092915050565b5f81615c6a57615c6a615a65565b505f190190565b5f8183825b6008811015615c95578151835260209283019290910190600101615c76565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccb575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cfe578151835260209283019290910190600101615cdf565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212200cd5e03317447948287650fd0f7d0a9285a0a0d939b796baeb90204f4a3a4a8264736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,iv+CAAiv+C,CAAC;AACnx+C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f0fa3aa5a7f521d297af5efbfeff7921d198dc056a95920fe63dcb7fe691cbc7f60c05260ae60e05260805160a05160c05160e051615d986100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfb01525f5050615d985ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599e565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a7a565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a7a565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a91565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a7a565b905060016102a9600885615a7a565b6102b39190615a7a565b6102bd9082615aa4565b90506102cb60016029615a7a565b6102d59082615aa4565b905060026102e4600185615a91565b6102ee9190615a7a565b6102f89082615aa4565b9050610305600184615a7a565b61030f9082615aa4565b905061031c600280615a7a565b6103269082615aa4565b9050610333601082615aa4565b9392505050565b61034261520c565b61034a611786565b905090565b6103576155aa565b5f805b60108110156103b957610386868387610374602083615aa4565b9261038193929190615ab7565b6120c1565b8351826010811061039957610399615ade565b6020020181815250506020826103af9190615aa4565b915060010161035a565b506103dd8582866103cb604083615aa4565b926103d893929190615ab7565b6120d4565b60208301526103ed604082615aa4565b90506104008582866103cb604083615aa4565b6040808401919091526104139082615aa4565b90506104268582866103cb604083615aa4565b6060830152610436604082615aa4565b90506104498582866103cb604083615aa4565b60c0830152610459604082615aa4565b905061046c8582866103cb604083615aa4565b60e083015261047c604082615aa4565b905061048f8582866103cb604083615aa4565b608083015261049f604082615aa4565b90506104b28582866103cb604083615aa4565b6101008301526104c3604082615aa4565b90506104d68582866103cb604083615aa4565b60a08301526104e6604082615aa4565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa4565b84610120015183601c811061052557610525615ade565b6020020151826008811061053b5761053b615ade565b6020020181815250506020836105519190615aa4565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa4565b836101400151826029811061059857610598615ade565b6020020181815250506020826105ae9190615aa4565b9150600101610567565b505f5b6105c6600185615a91565b81101561060f576105de8683876103cb604083615aa4565b83610160015182601b81106105f5576105f5615ade565b6020020152610605604083615aa4565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa4565b83610180015182601c811061064257610642615ade565b6020020181815250506020826106589190615aa4565b9150600101610612565b506106748582866103cb604083615aa4565b6101a0830152610685604082615aa4565b90506106988582866103cb604083615aa4565b6101c0830152509392505050565b6106ae6156f2565b5f6106bd888888888886612161565b90835290506106cc81896121e0565b602084019190915290506106e081846122cf565b604084019190915290506106f588828561235e565b606084019190915290506107098882612432565b6080840191909152905061071e8882856124bd565b60a08401919091529050610733888285612632565b60c0840191909152905061074788826126f7565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa4565b612734565b61274c565b612767565b90505f6107a38761079e8a61077b6107768b6001615aa4565b612780565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a91565b81101561083f575f6107fc8c83815181106107ef576107ef615ade565b60200260200101516127a8565b905061080c8661077b8684612767565b955061081c8561077b8584612767565b9450610828848b612767565b9350610834838b612780565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615ade565b602002015190506108738661077b8684612767565b95506108838561077b8584612767565b945061088f848b612767565b935061089b838b612780565b925050600101610842565b506108b184846127bd565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615ade565b602002015190505f61091782866127cb565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615ade565b6020020151905061095f83826127eb565b9550610986886040015185601c811061097a5761097a615ade565b6020020151868361299a565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c5565b90508281145b9695505050505050565b5f6109c9615776565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3e565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610a31906002615aa4565b67ffffffffffffffff811115610a4957610a49615af2565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b610aac906002615aa4565b67ffffffffffffffff811115610ac457610ac4615af2565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615ade565b6020026020010151612780565b612b08565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615ade565b6020026020010151612767565b610140850181905261012085015160c0880151610b8f92610780919061274c565b845260a0860151610bbf90610ba390612b08565b61077b86610120015161079e8a60c0015189610140015161274c565b6020850152815160019083905f90610bd957610bd9615ade565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615ade565b6020908102919091010152600160a08501525f60c085015283515f516020615d435f395f51905f5203604085015260208401515f516020615d435f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274c565b838281518110610c7357610c73615ade565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a91565b60298110610cad57610cad615ade565b60200201518860a0015161274c565b60c086015260a08501516080880151610cd5919061274c565b60a0860152610ce381615b06565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa4565b90505f610d10602484615aa4565b9050610d41858381518110610d2757610d27615ade565b602002602001015161078089606001518a60a0015161274c565b858381518110610d5357610d53615ade565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615ade565b60200201518a60a0015161274c565b60c088015260a087015160808a0151610da9919061274c565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615ade565b6020026020010181905250866080015181600281518110610df457610df4615ade565b60200260200101819052508660a0015181600381518110610e1757610e17615ade565b60200260200101819052508660c0015181600481518110610e3a57610e3a615ade565b60200260200101819052508660e0015181600581518110610e5d57610e5d615ade565b602002602001018190525086610100015181600681518110610e8157610e81615ade565b602002602001018190525086610120015181600781518110610ea557610ea5615ade565b602002602001018190525086610140015181600881518110610ec957610ec9615ade565b602002602001018190525086610160015181600981518110610eed57610eed615ade565b6020026020010181905250866101c0015181600a81518110610f1157610f11615ade565b602002602001018190525086610180015181600b81518110610f3557610f35615ade565b6020026020010181905250866101a0015181600c81518110610f5957610f59615ade565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615ade565b602002602001018190525086610200015181600e81518110610fa157610fa1615ade565b602002602001018190525086610220015181600f81518110610fc557610fc5615ade565b602002602001018190525086610240015181601081518110610fe957610fe9615ade565b60200260200101819052508661026001518160118151811061100d5761100d615ade565b60200260200101819052508661028001518160128151811061103157611031615ade565b6020026020010181905250866102a001518160138151811061105557611055615ade565b6020026020010181905250866102c001518160148151811061107957611079615ade565b6020026020010181905250866102e001518160158151811061109d5761109d615ade565b6020026020010181905250866103000151816016815181106110c1576110c1615ade565b6020026020010181905250866103200151816017815181106110e5576110e5615ade565b60200260200101819052508661034001518160188151811061110957611109615ade565b60200260200101819052508661036001518160198151811061112d5761112d615ade565b602002602001018190525086610380015181601a8151811061115157611151615ade565b6020026020010181905250866103a0015181601b8151811061117557611175615ade565b6020026020010181905250866103c0015181601c8151811061119957611199615ade565b6020026020010181905250876020015181601d815181106111bc576111bc615ade565b6020026020010181905250876040015181601e815181106111df576111df615ade565b6020026020010181905250876060015181601f8151811061120257611202615ade565b602002602001018190525087608001518160208151811061122557611225615ade565b60200260200101819052508760a001518160218151811061124857611248615ade565b60200260200101819052508761010001518160228151811061126c5761126c615ade565b60200260200101819052508760c001518160238151811061128f5761128f615ade565b60200260200101819052508760e00151816024815181106112b2576112b2615ade565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b78565b9050611322815f8151811061130f5761130f615ade565b602002602001015186610120015161274c565b608086018190526101808a01515160c0890151611353929161078091611348919061274c565b88610140015161274c565b608086015260c087015161136690612cd7565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a91565b8110156115a7576113c8610b358960e00151878460016113b89190615aa4565b81518110610b2857610b28615ade565b61012087015260e08801516113f790610b3590876113e7856001615aa4565b81518110610b6157610b61615ade565b61014087015260a0860151610120870151611412919061274c565b61016087015260a086015160c089015161143a9161142f9161274c565b87610140015161274c565b610180870181905261146f905f516020615d435f395f51905f52036101608801515f516020615d435f395f51905f5203612767565b848261147d60246001615aa4565b6114879190615aa4565b8151811061149757611497615ade565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa4565b601c81106114d0576114d0615ade565b602002015161274c565b905061151481610780896101600151868660016114f79190615aa4565b8151811061150757611507615ade565b602002602001015161274c565b9050611524876080015182612767565b608088015260a087015160c08a015161154a916115409161274c565b8a60c0015161274c565b60a08801526101608b015182601b811061156657611566615ade565b6020020151848361157960246001615aa4565b6115839190615aa4565b8151811061159357611593615ade565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b815181106115f9576115f9615ade565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b8151811061164557611645615ade565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b61168e906001615aa4565b8151811061169e5761169e615ade565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b6116e5906001615aa4565b815181106116f5576116f5615ade565b6020026020010181815250505f61170c8486612ce2565b90505f61171883612dfd565b90505f6117298d5f01518484612e4e565b90505f5f6117398f5f0151612ec4565b9150915061174682612f90565b61174f81612f90565b61175a858385613033565b9450611767848285613033565b9350611773858561306f565b9f9e505050505050505050505050505050565b61178e61520c565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f24ad8b6dd85a3163eb85dbcd17b23cf7318520a9330ba8c18ec4560e477d4f0281527f30475af2bdbfceae25d3d9ba0489f9ede1038970d4fe8aff59a26c0d1bbca313818301526060830152825180840184527f2668518af30ebaff8663cf8446bfbb0a9c93e1dfcc80dfaecb81b151d8792ae581527f1ee281866e1b0ce581845f6830e9657d1464e77f2570db5ebc06f8d5743baefe818301526080830152825180840184527f0b056cf6e707a8d0d2bb3a8aff14bb696b8ae1737e333e41141ef12865bc21a581527f0e741baf4633feee47c546b42cd034ab1fa6777997eabb3d71eb76a3bb5041938183015260a0830152825180840184527f141dbf648c83376db77204c1f4e4671417cb9d5b93b80ef5043dd59f4f8515c581527f1cf33cde49c3384f9a84c319777a44d8cb477db49e5592705f61869272f676698183015260c0830152825180840184527f0ac3a7bc60e155802ab818341aaa29888c705d262043ad50f3b830b1cefe8ae881527f1e0c558c13c1e2fc6eb0bec22ef5fd4df6ccc5b982ee5a54055b004bddd037568183015260e0830152825180840184527f186512eb5a724aeb924d49ff08192eb96cb14896a56b8d0dceed0da34b77c81181527f0ea1b7d89058e60f82541a034ec0d4f483bef9ad5e7289c3fdaf59db51bd806481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f25afceca319839ed883433c1fdf45c39103e00a63727cfa0be4a7c4137375dd081527f149ecaedde54e6eea85e569fc5f2d3fa6b974b6281d1f64522387b720ca8e6e481830152610140830152825180840184527f2560e1228a654b7c4b3ab1416859b93d6ffc2aa83663f4eb376529e8287b132181527f1f4e0c51c0cb85ea5784dec7cc039f0f9cc19f01a0bc479b72b1d22491501f8c81830152610160830152825180840184527f19bf17e3aa70327b3497012e132373193fae4cc6d178b9145d5073f964619b3f81527f2d92dc4f2383dbcd5762e80f1af6e960d238add092fe329ebf1829973208127b81830152610180830152825180840184527f10a5c6c4c7f3b783f6357e088d369c11eda40eb588b463009cb5891ab67332f981527f23d259a5f14034d8cc1b8fc2587f026025a622173aca619956535bca5e8905be818301526101a0830152825180840184527f19ea7e5bcc0b93309dee14ad132be10a701d6f93b46af349fb34bc7cfbbc5dcb81527f17a899d149528e1dcca16954a52cf5ed70a9b852f5d88aab2a09f315abfd1737818301526101c0830152825180840184527f05c49e7690971a535f3d1ae92695026a2e54c6975ab4dceb01c1230eb99c9d8281527f1512cb02c3be62c33650f702c9925b757c12fa798f7f316f6ffa050fe5350443818301526101e0830152825180840184527f013669196e1da0c260d3fffe9a60e6ff6a3e40379cdc129e0918221ddfd0245b81527f2cf9139d76ea197fc3dfab06f372884f19349622132b47ff75235a2f69340ad681830152610200830152825180840184527f304c1d8b912de5b10065ed22868f44946162ef0def7cea7612b1ae62be0617bc81527f05fd50a2be9edeb20bf5cc3a27568383bfe5626d6b25789b8557dabda170d7c581830152610220830152825180840184527f11cf41c91544af4d9d4cd0763d42d3ce9f967d6d7e50923478e4ef5ef057150a81527f2f08a9a261e9c31e6c4e3b5f1baae0995d1978218d9cbc9995f891089539363881830152610240830152825180840184527f04d914bf3a6d16eb6b25abe193e90f0ebac768c57420465200954e1e117c29f981527f2d79558d3c9c5d8e1457b8aa5dd5bee545a9a11f3e4468b3508150870be98bca81830152610260830152825180840184527f2a919984425af7c43940f5bae961bf1f674bfcb7a0998e990a26641f1c7d001381527f08c5621ddbf7e7dfe4b8bc1e49abb9d35380e49088e992df66f9d475ccdbef6c81830152610280830152825180840184527eb27afdde9c5c1e6734837e4efa82a1893c9d36bacf5acecc7dccee8d93d26081527f281a1e24c59608255cf33335ea6313dc20b92ae489f502d01ff400628720e524818301526102a0830152825180840184527f13ee3078ac479b213d4f1637afe8a0895d14affbfcd8253f98a7dba789d7dc8481527f2856e6b97a5de1a25b3023313a343a778e037f488f1fd110cf6bd272c455c8dc818301526102c0830152825180840184527f0261812c9c8133fdfece9dab0cc5297c0ad63cd668ada746cc977a14fab4b68d81527f12ad42ba47ab132fbb415e4944507690ea7b4a122a534685a4db040770d228d6818301526102e0830152825180840184527f1678b00f18ad7d2005c0cb10c42cf3b6ed3ccf5aa54db27f3f4fd0d1463b041c81527f2df6d0f4f54a6ed531516b7dc4d3f9c16939532a83dae809515527ba3d72400c81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f272f3196d2d888503a6d1241d5bf9f980d332a2de9eb836b7d708f273ebca8ca83527f28995409debf855edcdb039422b9a3641b26abede59d8560c85412354396be33908301526103c081019190915290565b5f6103336120cf8385615b1e565b6127a8565b604080518082019091525f808252602082015260408051808201909152805f516020615d235f395f51905f5261210d60205f8789615ab7565b61211691615b1e565b6121209190615b3b565b81526020908101905f516020615d235f395f51905f5290612145906040908789615ab7565b61214e91615b1e565b6121589190615b3b565b90529392505050565b6121946040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a28888888888613263565b6040860191909152602085019190915290835292506121c18389613561565b6080850191909152606084019190915291989197509095505050505050565b6121e86157e6565b5f6121f1615805565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122549161223991849101615b5a565b604051602081830303815290604052805190602001206127a8565b91505f612260836135e8565b50808552905060015b6122756001601c615a91565b8110156122c5576122a68561228b600184615a91565b601b811061229b5761229b615ade565b60200201518361274c565b8582601b81106122b8576122b8615ade565b6020020152600101612269565b5050509250929050565b6122d7615823565b5f6122ee8460405160200161223991815260200190565b93506122f9846135e8565b50825260015b838110156123565761233783612316600184615a91565b601c811061232657612326615ade565b6020020151846114c0600185615a91565b8382601c811061234957612349615ade565b60200201526001016122ff565b509093915050565b612366615823565b5f805b8381101561242857612379615842565b8581525f5b60088110156123e25787610120015183601c811061239e5761239e615ade565b602002015181600881106123b4576123b4615ade565b6020020151826123c5836001615aa4565b600981106123d5576123d5615ade565b602002015260010161237e565b506123f7816040516020016122399190615b8d565b95505f612403876135e8565b8685601c811061241557612415615ade565b6020020191909152505050600101612369565b5090949293505050565b5f5f61243c615861565b8381525f5b602981101561248f57856101400151816029811061246157612461615ade565b602002015182612472836001615aa4565b602a811061248257612482615ade565b6020020152600101612441565b506124a4816040516020016122399190615bc1565b91505f6124b0836135e8565b5096929550919350505050565b5f80806124cb600185615a91565b6124d6906002615a7a565b6124e1906001615aa4565b67ffffffffffffffff8111156124f9576124f9615af2565b604051908082528060200260200182016040528015612522578160200160208202803683370190505b50905084815f8151811061253857612538615ade565b60209081029190910101525f5b612550600186615a91565b8110156126035786610160015181601b811061256e5761256e615ade565b60200201515182612580836002615a7a565b61258b906001615aa4565b8151811061259b5761259b615ade565b60200260200101818152505086610160015181601b81106125be576125be615ade565b602002015160200151828260026125d59190615a7a565b6125e0906002615aa4565b815181106125f0576125f0615ade565b6020908102919091010152600101612545565b50612618816040516020016122399190615bf5565b91505f612624836135e8565b509792965091945050505050565b5f8080612640846001615aa4565b67ffffffffffffffff81111561265857612658615af2565b604051908082528060200260200182016040528015612681578160200160208202803683370190505b50905084815f8151811061269757612697615ade565b60209081029190910101525f5b848110156126035786610180015181601c81106126c3576126c3615ade565b6020020151826126d4836001615aa4565b815181106126e4576126e4615ade565b60209081029190910101526001016126a4565b5f5f612701615880565b8381526101a085018051516020808401919091529051810151604080840191909152516124a49161223991849101615c2a565b5f5f516020615d435f395f51905f52825b0692915050565b5f5f516020615d435f395f51905f5282840990505b92915050565b5f5f516020615d435f395f51905f528284089392505050565b5f5f516020615d435f395f51905f52825f516020615d435f395f51905f520384089392505050565b5f5f516020615d435f395f51905f5282612745565b5f6103338361077b84612b08565b815160208301515f9182916127e09190612767565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d2576128c88261077b8784612780565b91506001016128b1565b506128db61589e565b5f5b600881101561293c575f8482600881106128f9576128f9615ade565b6020020151905061290e8161077b8985612780565b905061291981612b08565b90508083836008811061292e5761292e615ade565b6020020152506001016128dd565b505f5b600881101561298f575f87826008811061295b5761295b615ade565b60200201519050612978818484600881106114d0576114d0615ade565b90506129848682612767565b95505060010161293f565b506109b6848361274c565b5f5f6129b060016107808561077b896001612780565b90506129bc848261274c565b95945050505050565b5f6129ce615823565b6129d9868285613621565b6129e5868683866137cd565b6129f1868683866139b9565b6129fc868285613be4565b612a07868285613dd8565b612a1386868386614121565b612a1e8682856145cd565b612a298682856149df565b612a34868285614da0565b6109b681856150a0565b60605f8267ffffffffffffffff811115612a5a57612a5a615af2565b604051908082528060200260200182016040528015612a83578160200160208202803683370190505b50905083815f81518110612a9957612a99615ade565b602090810291909101015260015b83811015612b0057612adb82612abe600184615a91565b81518110612ace57612ace615ade565b6020026020010151612cd7565b828281518110612aed57612aed615ade565b6020908102919091010152600101612aa7565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d435f395f51905f520360808201525f516020615d435f395f51905f5260a082015260205f60c08360055afa80612b64575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9457612b94615af2565b604051908082528060200260200182016040528015612bbd578160200160208202803683370190505b509050825b8015612ccc575f85612bd5600184615a91565b81518110612be557612be5615ade565b602002602001015190505f89600184612bfe9190615a91565b601c8110612c0e57612c0e615ade565b602002015190505f612c69612c2d612c26858d61274c565b600261274c565b61079e8b612c3c600189615a91565b601c8110612c4c57612c4c615ade565b602002015161077b612c638861077b60018a612780565b87612780565b9050612c8a8161077b610b35612c848761077b600189612780565b86612767565b99508990508085612c9c600187615a91565b81518110612cac57612cac615ade565b60200260200101818152505050505080612cc590615c5d565b9050612bc2565b509695505050505050565b5f612761828361274c565b604080518082019091525f80825260208201525f612d217f00000000000000000000000000000000000000000000000000000000000000006024615aa4565b612d2c906002615aa4565b90505f5b81811015612d6257612d5a858281518110612d4d57612d4d615ade565b6020026020010151612f90565b600101612d30565b50604051600190815b60018401811015612dc75760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6b565b5080518452602081015160208501525080612df5576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d235f395f51905f5282602001515f516020615d235f395f51905f52612e3b9190615a91565b612e459190615b3b565b60208301525090565b5f5f5f612e5a86612ec4565b91509150612e6661589e565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb99161223991849101615c72565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d235f395f51905f528380095f516020615d235f395f51905f5260035f516020615d235f395f51905f52838709085f516020615d235f395f51905f52848509149150508061302d5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306383866150f9565b90506129bc8185615165565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132059190615ca6565b5f60405180830381855afa9150503d805f811461323d576040519150601f19603f3d011682016040523d82523d5f602084013e613242565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbc565b5f80808080613273866001615aa4565b61327e906006615aa4565b67ffffffffffffffff81111561329657613296615af2565b6040519080825280602002602001820160405280156132bf578160200160208202803683370190505b509050865f1b815f815181106132d7576132d7615ade565b60209081029190910101525f5b6132ef601088615a91565b8110156133405789898281811061330857613308615ade565b905060200201358282600161331d9190615aa4565b8151811061332d5761332d615ade565b60209081029190910101526001016132e4565b505f5b60108110156133b1578a5161336b90826010811061336357613363615ade565b602002015190565b8282601061337a8b6001615aa4565b6133849190615a91565b61338e9190615aa4565b8151811061339e5761339e615ade565b6020908102919091010152600101613343565b5060208a015151816133c4886001615aa4565b815181106133d4576133d4615ade565b6020908102919091018101919091528a8101510151816133f5886001615aa4565b613400906001615aa4565b8151811061341057613410615ade565b602090810291909101015260408a0151518161342d886001615aa4565b613438906002615aa4565b8151811061344857613448615ade565b60209081029190910181019190915260408b015101518161346a886001615aa4565b613475906003615aa4565b8151811061348557613485615ade565b602090810291909101015260608a015151816134a2886001615aa4565b6134ad906004615aa4565b815181106134bd576134bd615ade565b60209081029190910181019190915260608b01510151816134df886001615aa4565b6134ea906005615aa4565b815181106134fa576134fa615ade565b60200260200101818152505061351a816040516020016122399190615bf5565b9150613525826135e8565b60408051602081018690529297509095506135409101612239565b91505f61354c836135e8565b50959b949a5094985090965091945050505050565b5f5f5f61356c6158bd565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135ce9161223991849101615cdb565b91506135d9826135e8565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360c826127a8565b9450613617816127a8565b9350505050915091565b5f61362d8460076151dc565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368e613688613662856003612780565b61077b61367d6136728b5f6151dc565b61077b8c601d6151dc565b61077b8b601c6151dc565b8361274c565b905061370f6137046136eb6136d26136b9856107806136ae8d60026151dc565b61077b8e601c6151dc565b6107806136c78c60036151dc565b61077b8d601d6151dc565b6107806136e08b60046151dc565b61077b8c601e6151dc565b6107806136f98a60056151dc565b61077b8b601f6151dc565b6107808860016151dc565b905061372e81610780613723866001612780565b61077b8a60276151dc565b905061373a818461274c565b9050613746818561274c565b8552505f905061378061377661376b61376088601c6151dc565b61078089601f6151dc565b61079e8860246151dc565b610780875f6151dc565b90506137918161077b846002612780565b90506137a28161077b846001612780565b90506137ae818361274c565b90506137ba818461274c565b9050808460015b60200201525050505050565b5f5f5f6138036137f96137e189601c6151dc565b6107806137ef8b60126151dc565b8a6060015161274c565b8760800151612767565b905061383c8161077b61383261381a8b601d6151dc565b6107806138288d60136151dc565b8c6060015161274c565b8960800151612767565b90506138618161077b6138326138538b601e6151dc565b6107806138288d60146151dc565b90506138868161077b6138326138788b601f6151dc565b6107806138288d60156151dc565b92505f90506138aa6137f961389c89601c6151dc565b6107806137ef8b600e6151dc565b90506138cf8161077b6138326138c18b601d6151dc565b6107806138288d600f6151dc565b90506138f48161077b6138326138e68b601e6151dc565b6107806138288d60106151dc565b90506139198161077b61383261390b8b601f6151dc565b6107806138288d60116151dc565b91505f905061394061393a61392f8960206151dc565b6107808a601a6151dc565b8461274c565b90506139758161079e61396f6139578b60286151dc565b6107806139658d601b6151dc565b8c60a0015161274c565b8561274c565b9050613981818561274c565b6040860152505f6139a461396f61399989601b6151dc565b61077b8a60286151dc565b9050808560035b602002015250505050505050565b5f5f613a176139ff6139e76139d26138328a60166151dc565b6107806139e08b60176151dc565b8a5161274c565b6107806139f58a60186151dc565b896020015161274c565b610780613a0d8960196151dc565b886040015161274c565b91505f613a4e613a35613a2b89601c6151dc565b8860800151612767565b610780613a438a60036151dc565b61077b8b60246151dc565b90505f613a77613a5f89601d6151dc565b610780613a6c8b5f6151dc565b61077b8c60256151dc565b90505f613aa1613a888a601e6151dc565b610780613a968c60016151dc565b61077b8d60266151dc565b9050613ae0613ac8613aba85610780868d5f015161274c565b610780848c6020015161274c565b610780613ad68c60046151dc565b8b6040015161274c565b93505050505f613af461393a8860216151dc565b90505f613b0561393a8960216151dc565b90505f613b3d613b24613b198b60236151dc565b6107808c60066151dc565b61079e613b328c60236151dc565b61077b8d60066151dc565b90505f613b61613b5b613b50878961274c565b61077b8d60216151dc565b83612780565b9050613b6d818861274c565b90505f613b95613b87613b818d60066151dc565b8761274c565b61079e613b818e60226151dc565b90505f613ba38c60236151dc565b90505f613bb3613b5b838461274c565b60808c0185905260a08c018490529050613bcd818b61274c565b8b6006602002015250505050505050505050505050565b5f613bf05f6001612780565b90505f613bfe5f6002612780565b90505f613c0c5f6003612780565b90505f613c28613c1d88601d6151dc565b61079e89601c6151dc565b90505f613c44613c3989601e6151dc565b61079e8a601d6151dc565b90505f613c60613c558a601f6151dc565b61079e8b601e6151dc565b90505f613c7c613c718b60246151dc565b61079e8c601f6151dc565b905083613c8d8161077b818b612767565b9050613c9d8161077b878a612767565b9050613cad8161077b8789612767565b9050613cbe8161077b8d60086151dc565b9050613cca818a61274c565b60e08b01525082613cdf8161077b818b612767565b9050613cef8161077b868a612767565b9050613cff8161077b8689612767565b9050613d108161077b8d60086151dc565b9050613d1c818a61274c565b6101008b01525081613d328161077b818b612767565b9050613d428161077b858a612767565b9050613d528161077b8589612767565b9050613d638161077b8d60086151dc565b9050613d6f818a61274c565b6101208b01525080613d858161077b818b612767565b9050613d958161077b848a612767565b9050613da58161077b8489612767565b9050613db68161077b8d60086151dc565b9050613dc2818a61274c565b610140909a019990995250505050505050505050565b613e116040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1c84601d6151dc565b8152613e2984601e6151dc565b6020820152613e398460246151dc565b6040820152613e498460276151dc565b6060820152613e598460266151dc565b6080820152613e698460256151dc565b60a08201525f613e7a8560026151dc565b90505f613e87865f6151dc565b90505f613e9b8460400151855f0151612780565b90505f613eb08560200151866020015161274c565b606086015190915086905f90613ec6908061274c565b90505f613ee4613ede89602001518a6060015161274c565b8861274c565b90505f613f03613efc8a60a001518b60400151612767565b8a51612767565b9050613f12613b81828861274c565b9050613f39613f33613f2d613f278487612780565b88612780565b84612767565b83612767565b9050613f61613f56613f4b838761274c565b61077b8f60096151dc565b61077b60018a612780565b6101608c015250505050602085015160808601515f91613f8091612767565b90505f613f9e613f9488606001518861274c565b8860200151612780565b90505f613fc2613fae848761274c565b61078061396f8b60a001518c5f0151612780565b9050613fea613fdf613fd4838c61274c565b61077b8e60096151dc565b61077b600189612780565b6101808b0152505f915061400b9050614004836011612767565b875161274c565b90505f6140188384612767565b90506140248182612767565b90505f61403283600961274c565b905061405b61405561393a61404e8b60a001518c5f0151612767565b8b51612767565b82612780565b60c089018190525f9061407690613ede90613f4b908d61274c565b90506140898b600b602002015182612767565b6101608c0152505086515f92506140b09150614004906140a99080612767565b8851612767565b90505f6140f06140cb8361077b8a5f01518b60a00151612780565b602089015161079e906140de9080612767565b61077b8b602001518c60800151612767565b905061410d89600c6020020151610780613ede613f4b858d61274c565b89600c602002015250505050505050505050565b61418b604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a361419986601e6151dc565b856040015161274c565b8082526141c2906107806141b888601d6151dc565b876020015161274c565b8082526141d79061078061400488601c6151dc565b8082526141e9906107808760016151dc565b808252602082018190526142029061079e87601f6151dc565b815261421d6142128660246151dc565b61079e87601c6151dc565b608082015261423b6142308660276151dc565b61079e87601f6151dc565b606082015260808101516142549061077b816001612780565b6101c082015260808101516142949061428a906142839061077b60015f516020615d435f395f51905f52615a91565b6001612767565b826060015161274c565b60a082018190526142ca906142bc9061077b6142b18960026151dc565b61077b8a60036151dc565b61077b61396f88600a6151dc565b83600e60200201526101c08101516142ee906142bc9061077b6142b18960026151dc565b6101e084015280516143139061077b6143088860026151dc565b61077b8960036151dc565b6101208201525f61433261432887601f6151dc565b8360200151612780565b90506143438161077b836001612780565b60e08301526143606143568760266151dc565b866040015161274c565b60408301819052614383906107806143798960256151dc565b886020015161274c565b604083018190526143a39061078061439c8960246151dc565b885161274c565b60408301526143c06143b68760276151dc565b8360400151612780565b60408301525f6143df6143d48860266151dc565b61079e89601e6151dc565b905061443161440c613688614283866080015160015f516020615d435f395f51905f5261077b9190615a91565b61077b614283866040015160015f516020615d435f395f51905f5261077b9190615a91565b60c0840152604083015161445390614449908061274c565b8460400151612780565b61010084015260c083015161447f906144719061077b8a60046151dc565b61077b613b818a600a6151dc565b6102008601526101c083015161449e906144719061077b8a60046151dc565b6102208601526101008301516144bd906144719061077b8a60046151dc565b61024086015260e08301516144d79061077b8960046151dc565b6101408401526144f66144eb8860256151dc565b61079e89601d6151dc565b6101608401526080830151614534906143d490614529906142839061077b60015f516020615d435f395f51905f52615a91565b85610160015161274c565b61018084018190526101208401516101a0850181905261456b916107809061077b6145608c60056151dc565b61077b8d60026151dc565b6101a08401819052835161458b91906107809061077b6145608c5f6151dc565b6101a084018190526101408401516145a39190612767565b6101a084018190526145bd9061077b613b818a600a6151dc565b6101a0840181905285600d6139ab565b6146066040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463b61462261461786601c6151dc565b61077b8760256151dc565b6107806146308760246151dc565b61077b88601d6151dc565b815261468061467561465c61465187601c6151dc565b61077b88601f6151dc565b61078061466a88601d6151dc565b61077b89601e6151dc565b61079e8660266151dc565b6040820181905261469590600160441b61274c565b604082018190526146ab9061079e8660276151dc565b6040820181905281516146be9190612767565b604082018190526146d49061077b8660056151dc565b604082015280516146e990600160441b61274c565b808252614709906107806146fe8760246151dc565b61077b8860256151dc565b808252602082018190526147309061079e61472587601e6151dc565b61078088601f6151dc565b602082018190526147469061077b8660046151dc565b60208201528051606082018190526147639061078086601f6151dc565b606082018190526147879061079e61477c8760266151dc565b6107808860276151dc565b6060820181905261479c9061077b865f6151dc565b8160600181815250505f6147c56147bb83602001518460400151612767565b8360600151612767565b90506147d68161077b8760036151dc565b90506147ee6147e68660256151dc565b61400061274c565b60808301819052614804906107808760246151dc565b608083018190526148179061400061274c565b6080830181905261482d9061078087601e6151dc565b608083018190526148409061400061274c565b608083018190526148569061078087601d6151dc565b608083018190526148699061400061274c565b6080830181905261487f9061078087601c6151dc565b608083018190526148959061079e87601f6151dc565b608083018190526148ab9061077b8760056151dc565b60808301526148be6147e68660266151dc565b60a083018190526148d4906107808760256151dc565b60a083018190526148e79061400061274c565b60a083018190526148fd906107808760246151dc565b60a083018190526149109061400061274c565b60a083018190526149269061078087601f6151dc565b60a083018190526149399061400061274c565b60a0830181905261494f9061078087601e6151dc565b60a083018190526149659061079e8760276151dc565b60a0830181905261497a9061077b875f6151dc565b60a0830181905260808301515f916149929190612767565b90506149a38161077b8860046151dc565b90506149af8282612767565b60c084018190526149c89061077b613b8189600b6151dc565b60c084018190528560136020020152505050505050565b614a556040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6e614a6385601c6151dc565b6107808660026151dc565b8152614a89614a7e85601d6151dc565b6107808660036151dc565b6020820152614aa7614a9c85601e6151dc565b6107808660046151dc565b6040820152614ac5614aba85601f6151dc565b6107808660056151dc565b60608201528051614af790614af090614ae990614ae2908061274c565b845161274c565b835161274c565b825161274c565b60808201526020810151614b3590614b2b90614b2190614b17908061274c565b846020015161274c565b836020015161274c565b826020015161274c565b60a08201526040810151614b7390614b6990614b5f90614b55908061274c565b846040015161274c565b836040015161274c565b826040015161274c565b60c08201526060810151614ba79061428a90614b9d90614b93908061274c565b846060015161274c565b836060015161274c565b60e0820152608081015160a0820151614bc09190612767565b61010082015260c081015160e0820151614bda9190612767565b61012082015260a0810151614bfe90614bf39080612767565b826101200151612767565b61014082015260e0810151614c2290614c179080612767565b826101000151612767565b610160820152610120810151614c389080612767565b6101e08201819052614c5990614c4e9080612767565b826101600151612767565b6101e0820152610100810151614c6f9080612767565b6101a08201819052614c9090614c859080612767565b826101400151612767565b6101a08201819052610160820151614ca791612767565b6101808201526101408101516101e0820151614cc39190612767565b6101c0820152614cd761368885600c6151dc565b6102008201819052610280840151610180830151614d02926107809161077b9061079e8a60246151dc565b8360146020020152614d32836015602002015161078083610200015161077b856101a0015161079e8a60256151dc565b8360156020020152614d62836016602002015161078083610200015161077b856101c0015161079e8a60266151dc565b8360166020020152614d92836017602002015161078083610200015161077b856101e0015161079e8a60276151dc565b836017602002015250505050565b614df26040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e277f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612734565b8152602001614e557f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612734565b8152602001614e827e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612734565b8152602001614eb07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612734565b90529050614ecd614ec286601c6151dc565b6107808760026151dc565b6101208301819052614f0c90614f0190614ef690614eeb908061274c565b85610120015161274c565b84610120015161274c565b83610120015161274c565b8252614f1985601d6151dc565b6020830152614f2985601e6151dc565b6040830152614f3985601f6151dc565b606083015281516020830151614f61916147bb91614f579190612767565b8460400151612767565b6080830152614f7461393a86600d6151dc565b6101408301528151614f9590614f8b90835f6114d0565b8360800151612767565b60a0830152614fc1846018602002015161078084610140015161077b8660a0015161079e8b60246151dc565b6103008501526020820151614fdc90614f8b908360016114d0565b60c0830152615008846019602002015161078084610140015161077b8660c0015161079e8b60256151dc565b610320850152604082015161502390614f8b908360026114d0565b60e083015261504f84601a602002015161078084610140015161077b8660e0015161079e8b60266151dc565b610340850152606082015161506a90614f8b908360036114d0565b61010083015261509884601b602002015161078084610140015161077b86610100015161079e8b60276151dc565b84601b6137c1565b815160015b601c8110156150f2576150e8826107808684601c81106150c7576150c7615ade565b6020020151866150d8600187615a91565b601b81106114d0576114d0615ade565b91506001016150a5565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615149575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151c0575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151f0576151f0615d0e565b6029811061520057615200615ade565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524560405180604001604052805f81526020015f81525090565b815260200161526560405180604001604052805f81526020015f81525090565b815260200161528560405180604001604052805f81526020015f81525090565b81526020016152a560405180604001604052805f81526020015f81525090565b81526020016152c560405180604001604052805f81526020015f81525090565b81526020016152e560405180604001604052805f81526020015f81525090565b815260200161530560405180604001604052805f81526020015f81525090565b815260200161532560405180604001604052805f81526020015f81525090565b815260200161534560405180604001604052805f81526020015f81525090565b815260200161536560405180604001604052805f81526020015f81525090565b815260200161538560405180604001604052805f81526020015f81525090565b81526020016153a560405180604001604052805f81526020015f81525090565b81526020016153c560405180604001604052805f81526020015f81525090565b81526020016153e560405180604001604052805f81526020015f81525090565b815260200161540560405180604001604052805f81526020015f81525090565b815260200161542560405180604001604052805f81526020015f81525090565b815260200161544560405180604001604052805f81526020015f81525090565b815260200161546560405180604001604052805f81526020015f81525090565b815260200161548560405180604001604052805f81526020015f81525090565b81526020016154a560405180604001604052805f81526020015f81525090565b81526020016154c560405180604001604052805f81526020015f81525090565b81526020016154e560405180604001604052805f81526020015f81525090565b815260200161550560405180604001604052805f81526020015f81525090565b815260200161552560405180604001604052805f81526020015f81525090565b815260200161554560405180604001604052805f81526020015f81525090565b815260200161556560405180604001604052805f81526020015f81525090565b815260200161558560405180604001604052805f81526020015f81525090565b81526020016155a560405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155be6158db565b81526020016155de60405180604001604052805f81526020015f81525090565b81526020016155fe60405180604001604052805f81526020015f81525090565b815260200161561e60405180604001604052805f81526020015f81525090565b815260200161563e60405180604001604052805f81526020015f81525090565b815260200161565e60405180604001604052805f81526020015f81525090565b815260200161567e60405180604001604052805f81526020015f81525090565b815260200161569e60405180604001604052805f81526020015f81525090565b81526020016156be60405180604001604052805f81526020015f81525090565b81526020016156cb6158fa565b81526020016156d8615928565b81526020016156e5615947565b8152602001615565615823565b6040518061010001604052806157316040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573e6157e6565b815260200161574b615823565b8152602001615758615823565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b4615980565b81526020016157c1615980565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591261589e565b81526020019060019003908161590a5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159575790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b1575f5ffd5b843567ffffffffffffffff8111156159c7575f5ffd5b8501601f810187136159d7575f5ffd5b803567ffffffffffffffff8111156159ed575f5ffd5b8760208284010111156159fe575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1e575f5ffd5b8501601f81018713615a2e575f5ffd5b803567ffffffffffffffff811115615a44575f5ffd5b8760208260051b8401011115615a58575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276157612761615a66565b8181038181111561276157612761615a66565b8082018082111561276157612761615a66565b5f5f85851115615ac5575f5ffd5b83861115615ad1575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1757615b17615a66565b5060010190565b80356020831015612761575f19602084900360031b1b1692915050565b5f82615b5557634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7e578151835260209283019290910190600101615b5f565b50505060a08201905092915050565b5f8183825b6009811015615bb1578151835260209283019290910190600101615b92565b5050506101208201905092915050565b5f8183825b602a811015615be5578151835260209283019290910190600101615bc6565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1f578151845260209384019390910190600101615c01565b509195945050505050565b5f8183825b6003811015615c4e578151835260209283019290910190600101615c2f565b50505060608201905092915050565b5f81615c6b57615c6b615a66565b505f190190565b5f8183825b6008811015615c96578151835260209283019290910190600101615c77565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccc575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cff578151835260209283019290910190600101615ce0565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220056f6d0852de9018f677abd041c3fa23920b67c31bc6c7ae12e07a78ae30c7fc64736f6c634300081b0033";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f2a1e15769804d1d832ade4b331e2f9045347e1639d197d01676f4b1544c6faad60c05260ae60e05260805160a05160c05160e051615d976100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7b015281816112d401528181611374015281816115c30152818161160f0152818161165d015281816116b40152612cfa01525f5050615d975ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b36600461599d565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615a79565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615a79565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615a90565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615a79565b905060016102a9600885615a79565b6102b39190615a79565b6102bd9082615aa3565b90506102cb60016029615a79565b6102d59082615aa3565b905060026102e4600185615a90565b6102ee9190615a79565b6102f89082615aa3565b9050610305600184615a79565b61030f9082615aa3565b905061031c600280615a79565b6103269082615aa3565b9050610333601082615aa3565b9392505050565b61034261520b565b61034a611786565b905090565b6103576155a9565b5f805b60108110156103b957610386868387610374602083615aa3565b9261038193929190615ab6565b6120c0565b8351826010811061039957610399615add565b6020020181815250506020826103af9190615aa3565b915060010161035a565b506103dd8582866103cb604083615aa3565b926103d893929190615ab6565b6120d3565b60208301526103ed604082615aa3565b90506104008582866103cb604083615aa3565b6040808401919091526104139082615aa3565b90506104268582866103cb604083615aa3565b6060830152610436604082615aa3565b90506104498582866103cb604083615aa3565b60c0830152610459604082615aa3565b905061046c8582866103cb604083615aa3565b60e083015261047c604082615aa3565b905061048f8582866103cb604083615aa3565b608083015261049f604082615aa3565b90506104b28582866103cb604083615aa3565b6101008301526104c3604082615aa3565b90506104d68582866103cb604083615aa3565b60a08301526104e6604082615aa3565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615aa3565b84610120015183601c811061052557610525615add565b6020020151826008811061053b5761053b615add565b6020020181815250506020836105519190615aa3565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615aa3565b836101400151826029811061059857610598615add565b6020020181815250506020826105ae9190615aa3565b9150600101610567565b505f5b6105c6600185615a90565b81101561060f576105de8683876103cb604083615aa3565b83610160015182601b81106105f5576105f5615add565b6020020152610605604083615aa3565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615aa3565b83610180015182601c811061064257610642615add565b6020020181815250506020826106589190615aa3565b9150600101610612565b506106748582866103cb604083615aa3565b6101a0830152610685604082615aa3565b90506106988582866103cb604083615aa3565b6101c0830152509392505050565b6106ae6156f1565b5f6106bd888888888886612160565b90835290506106cc81896121df565b602084019190915290506106e081846122ce565b604084019190915290506106f588828561235d565b606084019190915290506107098882612431565b6080840191909152905061071e8882856124bc565b60a08401919091529050610733888285612631565b60c0840191909152905061074788826126f6565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615aa3565b612733565b61274b565b612766565b90505f6107a38761079e8a61077b6107768b6001615aa3565b61277f565b90505f5b6107d260107f0000000000000000000000000000000000000000000000000000000000000000615a90565b81101561083f575f6107fc8c83815181106107ef576107ef615add565b60200260200101516127a7565b905061080c8661077b8684612766565b955061081c8561077b8584612766565b9450610828848b612766565b9350610834838b61277f565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e615add565b602002015190506108738661077b8684612766565b95506108838561077b8584612766565b945061088f848b612766565b935061089b838b61277f565b925050600101610842565b506108b184846127bc565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c811061090557610905615add565b602002015190505f61091782866127ca565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e615add565b6020020151905061095f83826127ea565b9550610986886040015185601c811061097a5761097a615add565b60200201518683612999565b94505050508060010190506108c5565b505f6109b0866101400151865f01518760200151856129c4565b90508281145b9695505050505050565b5f6109c9615775565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a3d565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b610a31906002615aa3565b67ffffffffffffffff811115610a4957610a49615af1565b604051908082528060200260200182016040528015610a72578160200160208202803683370190505b5090505f610aa17f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b610aac906002615aa3565b67ffffffffffffffff811115610ac457610ac4615af1565b604051908082528060200260200182016040528015610b0857816020015b604080518082019091525f8082526020820152815260200190600190039081610ae25790505b509050610b3a610b358760e00151855f81518110610b2857610b28615add565b602002602001015161277f565b612b07565b84610120018181525050610b6e610b358760e00151855f81518110610b6157610b61615add565b6020026020010151612766565b610140850181905261012085015160c0880151610b8f92610780919061274b565b845260a0860151610bbf90610ba390612b07565b61077b86610120015161079e8a60c0015189610140015161274b565b6020850152815160019083905f90610bd957610bd9615add565b602002602001018181525050876101a00151815f81518110610bfd57610bfd615add565b6020908102919091010152600160a08501525f60c085015283515f516020615d425f395f51905f5203604085015260208401515f516020615d425f395f51905f5203606085015260015b60248111610cea57610c6185604001518660a0015161274b565b838281518110610c7357610c73615add565b602002602001018181525050610cbc8560c001516107808b6101400151600185610c9d9190615a90565b60298110610cad57610cad615add565b60200201518860a0015161274b565b60c086015260a08501516080880151610cd5919061274b565b60a0860152610ce381615b05565b9050610c47565b505f5b6005811015610db8575f610d02601d83615aa3565b90505f610d10602484615aa3565b9050610d41858381518110610d2757610d27615add565b602002602001015161078089606001518a60a0015161274b565b858381518110610d5357610d53615add565b602002602001018181525050610d908760c001516107808d61014001518460298110610d8157610d81615add565b60200201518a60a0015161274b565b60c088015260a087015160808a0151610da9919061274b565b60a08801525050600101610ced565b50866060015181600181518110610dd157610dd1615add565b6020026020010181905250866080015181600281518110610df457610df4615add565b60200260200101819052508660a0015181600381518110610e1757610e17615add565b60200260200101819052508660c0015181600481518110610e3a57610e3a615add565b60200260200101819052508660e0015181600581518110610e5d57610e5d615add565b602002602001018190525086610100015181600681518110610e8157610e81615add565b602002602001018190525086610120015181600781518110610ea557610ea5615add565b602002602001018190525086610140015181600881518110610ec957610ec9615add565b602002602001018190525086610160015181600981518110610eed57610eed615add565b6020026020010181905250866101c0015181600a81518110610f1157610f11615add565b602002602001018190525086610180015181600b81518110610f3557610f35615add565b6020026020010181905250866101a0015181600c81518110610f5957610f59615add565b6020026020010181905250866101e0015181600d81518110610f7d57610f7d615add565b602002602001018190525086610200015181600e81518110610fa157610fa1615add565b602002602001018190525086610220015181600f81518110610fc557610fc5615add565b602002602001018190525086610240015181601081518110610fe957610fe9615add565b60200260200101819052508661026001518160118151811061100d5761100d615add565b60200260200101819052508661028001518160128151811061103157611031615add565b6020026020010181905250866102a001518160138151811061105557611055615add565b6020026020010181905250866102c001518160148151811061107957611079615add565b6020026020010181905250866102e001518160158151811061109d5761109d615add565b6020026020010181905250866103000151816016815181106110c1576110c1615add565b6020026020010181905250866103200151816017815181106110e5576110e5615add565b60200260200101819052508661034001518160188151811061110957611109615add565b60200260200101819052508661036001518160198151811061112d5761112d615add565b602002602001018190525086610380015181601a8151811061115157611151615add565b6020026020010181905250866103a0015181601b8151811061117557611175615add565b6020026020010181905250866103c0015181601c8151811061119957611199615add565b6020026020010181905250876020015181601d815181106111bc576111bc615add565b6020026020010181905250876040015181601e815181106111df576111df615add565b6020026020010181905250876060015181601f8151811061120257611202615add565b602002602001018190525087608001518160208151811061122557611225615add565b60200260200101819052508760a001518160218151811061124857611248615add565b60200260200101819052508761010001518160228151811061126c5761126c615add565b60200260200101819052508760c001518160238151811061128f5761128f615add565b60200260200101819052508760e00151816024815181106112b2576112b2615add565b60200260200101819052505f6112f887606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b77565b9050611322815f8151811061130f5761130f615add565b602002602001015186610120015161274b565b608086018190526101808a01515160c0890151611353929161078091611348919061274b565b88610140015161274b565b608086015260c087015161136690612cd6565b60a08601525f5b61139860017f0000000000000000000000000000000000000000000000000000000000000000615a90565b8110156115a7576113c8610b358960e00151878460016113b89190615aa3565b81518110610b2857610b28615add565b61012087015260e08801516113f790610b3590876113e7856001615aa3565b81518110610b6157610b61615add565b61014087015260a0860151610120870151611412919061274b565b61016087015260a086015160c089015161143a9161142f9161274b565b87610140015161274b565b610180870181905261146f905f516020615d425f395f51905f52036101608801515f516020615d425f395f51905f5203612766565b848261147d60246001615aa3565b6114879190615aa3565b8151811061149757611497615add565b6020026020010181815250505f6114da8761018001518c61018001518460016114c09190615aa3565b601c81106114d0576114d0615add565b602002015161274b565b905061151481610780896101600151868660016114f79190615aa3565b8151811061150757611507615add565b602002602001015161274b565b9050611524876080015182612766565b608088015260a087015160c08a015161154a916115409161274b565b8a60c0015161274b565b60a08801526101608b015182601b811061156657611566615add565b6020020151848361157960246001615aa3565b6115839190615aa3565b8151811061159357611593615add565b60209081029190910101525060010161136d565b50604080518082019091526001815260026020820152826115e97f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b815181106115f9576115f9615add565b60209081029190910101526080850151836116357f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b8151811061164557611645615add565b60209081029190910101526101c089015180836116837f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b61168e906001615aa3565b8151811061169e5761169e615add565b602090810291909101015260e0880151846116da7f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b6116e5906001615aa3565b815181106116f5576116f5615add565b6020026020010181815250505f61170c8486612ce1565b90505f61171883612dfc565b90505f6117298d5f01518484612e4d565b90505f5f6117398f5f0151612ec3565b9150915061174682612f8f565b61174f81612f8f565b61175a858385613032565b9450611767848285613032565b9350611773858561306e565b9f9e505050505050505050505050505050565b61178e61520b565b50604080516103e08101825263010000008152601860208083019190915260ae82840152825180840184527f17ce92bbe3764f94e308f023cc7e16a6410907e98fc21289629e7c0a0699b67a81527f11be472f1d71fdeb0ddf0b09427f0ec7e5947aa3803cb1eec23a7a8d05d216f9818301526060830152825180840184527f0fb13ed626ba68632016f1822ffb17b747f49b8c9631819420093fca908de58481527f02f0751845674f28ec7a5f4a7dbc5f8b169928c1c214831db2f20cb5ea42c2a4818301526080830152825180840184527f0acd50b423eb87d4e599ae847f6ed5329539e06f283c373f56eb43d7711346ce81527f079460baea36ebac408d9bd603aeed5cf5dcbece191d416a0275a8239611f4508183015260a0830152825180840184527f2dbe730db2d241b2a9c0dff0085573f2f6e4241376a6183ef347639011d5635181527f0895b77ba2d2805825a528d6065ebff4c6cf0a94a37ada37cae350f27bed52ec8183015260c0830152825180840184527f0efabaa637a0c4ef8fc7838603753da8e49f5a0b9be4560dd5c104bd9bef8a3881527f02e5d1077460e08884dfb75c3145283e345498784bb969e306ab7a3eb2dcfea48183015260e0830152825180840184527f20de51eb61559bc9f0651c8af3b417a5f37a2cdb71392aa17d5bf866c2b1a78981527f27e2db3bc91e9c50e3dde74b21ddd9af933f5d0f14a4de6ade404867f56ed88b81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f0b025a9c7d249c024202c98db8275e07c6febb2551b9bb4f5120f67a7852684481527f09d9974bfc904fe51f67a4f04decda9ca42cdfd1a99ce831a26637b7b14fc06b81830152610140830152825180840184527f0837ad373bc7d5deed4bfdd437abd032f5753e4cead1b9d783bf9f00c2240b4f81527f201fea60d2afdf5ccfe75a150c38c43e69fe39a0fa8285362730bcb3d6766e2081830152610160830152825180840184527f18131bf25cb35594d5c0537e0b423c00ee67ca3eab415301df672a856d413f1981527dcd6ff62644e9c34f810a7cfda89fde2cc3e41621ab33291ef4578a940d9d81830152610180830152825180840184527f0f55d67381abf08e1e0385540663a59c964b6bd4bbd6a84c28696f8791212ce381527f116e8c9fa540737f00de2801ee347e5af9b9ba0c8caae2c72140ec88ea328242818301526101a0830152825180840184527f1c71cab4fba7d1255cdd06769b3a2756133c6f95a048a5a5439e179dd774463f81527f051778755743dcf69418c6b31b9d00c4e905108f98f8b2c3e15f833c5b20bf3a818301526101c0830152825180840184527f0e3cc1fc8392426250e2ca5512a8c3e55106a46bda464db5f9cbbcf3a0498ceb81527f1946190fa88c93115983236ddcecd4a2e5375f028d77696ecb6dd6feb5f5833d818301526101e0830152825180840184527f1ae8c64a129824d4142e2ba683db3cd3fb0844f3bc704b73a26a1264322ccc8981527f1caa417bbdc036557eb0693456e8a5a27e119f3588b18d5a8f2966c66455224581830152610200830152825180840184527f13120c9534e61b34a2725bcf703b49a2a6ebfcb768bee9c10690fc4ea5d6865081527f300fa4fc36ce160ec8c1690209313ee3e15a777e03665e4fbbd1f5010af1c26681830152610220830152825180840184527f0d71d02ee327da969e6a29bd244c35885b0e4c7b83c0cdb3959ecfa1297f417181527f2019ab8c4ae508c13c1f3539e8521a2a132c0a01b08987f2c44bc2cfdf7e124f81830152610240830152825180840184527f2e70b75b33fb2fe70a7bdc1e89775b430ef30b5ba404643a16d1e3aea9e5d36281527f22d6233ad27a4a8bc667ff63aa16c95e3f496b9e771a2316cf8a08a14ec5ac9481830152610260830152825180840184527f2572bf538e58d5bf9d50022e8406217ffa0aede6d08b0555c564dba9e22f4df681527f10403b5b725228ed46296aea8c07875fcbc9c3b95dd917d976190a6c545e32db81830152610280830152825180840184527f2efa1403dee23a8a066894d574aa84ee4fcba4aeb5d53a8c13393e6f4be5cd0081527f1c873d804f4480341a58bee891b5d1533d1f392fabea19bcbd486fa9303639f3818301526102a0830152825180840184527f2cdbcf20bb4b39b6c35983940841104de0671980944397f025557f10342c971281527f1712395a0cad7efd65eaa05310ded6aa88feaa89a12dcbf886189d24ae5874c0818301526102c0830152825180840184527f0fb6d137b7f46e28a49876756fcdbb260494d7dc98c96f0f873270459d41136581527f11353238f0008eef2e177dc3cb5a7e07be4371705d7b29d68294cbe23109a1c4818301526102e0830152825180840184527f12fb273f42a4fd5b07264393d3301c618988d9e7c72ee0f20a42e04d760c8ac881527f0937bc2bb9bcf6ba8a25b4a9325c8a26deaa4c4cad124425dd92780284fcb78281830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f109830b81fd8b5e0a3327bf961ea6746fcc9155039d285eaa76f4b0f8839e44781527f28de29af66333e8ea2ee2d23ff9df4297471377a71b5240987690610bad14c7881830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f16be4f09d5038cae6924291b5912487b3590a2592e2be607ac66355a2721371a83527f194ffa840d3752573fdacba6d7438b763c48dbc176b9b2d3356745a922ca6a94908301526103c081019190915290565b5f6103336120ce8385615b1d565b6127a7565b604080518082019091525f808252602082015260408051808201909152805f516020615d225f395f51905f5261210c60205f8789615ab6565b61211591615b1d565b61211f9190615b3a565b81526020908101905f516020615d225f395f51905f5290612144906040908789615ab6565b61214d91615b1d565b6121579190615b3a565b90529392505050565b6121936040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6121a18888888888613262565b6040860191909152602085019190915290835292506121c08389613560565b6080850191909152606084019190915291989197509095505050505050565b6121e76157e5565b5f6121f0615804565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122539161223891849101615b59565b604051602081830303815290604052805190602001206127a7565b91505f61225f836135e7565b50808552905060015b6122746001601c615a90565b8110156122c4576122a58561228a600184615a90565b601b811061229a5761229a615add565b60200201518361274b565b8582601b81106122b7576122b7615add565b6020020152600101612268565b5050509250929050565b6122d6615822565b5f6122ed8460405160200161223891815260200190565b93506122f8846135e7565b50825260015b838110156123555761233683612315600184615a90565b601c811061232557612325615add565b6020020151846114c0600185615a90565b8382601c811061234857612348615add565b60200201526001016122fe565b509093915050565b612365615822565b5f805b8381101561242757612378615841565b8581525f5b60088110156123e15787610120015183601c811061239d5761239d615add565b602002015181600881106123b3576123b3615add565b6020020151826123c4836001615aa3565b600981106123d4576123d4615add565b602002015260010161237d565b506123f6816040516020016122389190615b8c565b95505f612402876135e7565b8685601c811061241457612414615add565b6020020191909152505050600101612368565b5090949293505050565b5f5f61243b615860565b8381525f5b602981101561248e57856101400151816029811061246057612460615add565b602002015182612471836001615aa3565b602a811061248157612481615add565b6020020152600101612440565b506124a3816040516020016122389190615bc0565b91505f6124af836135e7565b5096929550919350505050565b5f80806124ca600185615a90565b6124d5906002615a79565b6124e0906001615aa3565b67ffffffffffffffff8111156124f8576124f8615af1565b604051908082528060200260200182016040528015612521578160200160208202803683370190505b50905084815f8151811061253757612537615add565b60209081029190910101525f5b61254f600186615a90565b8110156126025786610160015181601b811061256d5761256d615add565b6020020151518261257f836002615a79565b61258a906001615aa3565b8151811061259a5761259a615add565b60200260200101818152505086610160015181601b81106125bd576125bd615add565b602002015160200151828260026125d49190615a79565b6125df906002615aa3565b815181106125ef576125ef615add565b6020908102919091010152600101612544565b50612617816040516020016122389190615bf4565b91505f612623836135e7565b509792965091945050505050565b5f808061263f846001615aa3565b67ffffffffffffffff81111561265757612657615af1565b604051908082528060200260200182016040528015612680578160200160208202803683370190505b50905084815f8151811061269657612696615add565b60209081029190910101525f5b848110156126025786610180015181601c81106126c2576126c2615add565b6020020151826126d3836001615aa3565b815181106126e3576126e3615add565b60209081029190910101526001016126a3565b5f5f61270061587f565b8381526101a085018051516020808401919091529051810151604080840191909152516124a39161223891849101615c29565b5f5f516020615d425f395f51905f52825b0692915050565b5f5f516020615d425f395f51905f5282840990505b92915050565b5f5f516020615d425f395f51905f528284089392505050565b5f5f516020615d425f395f51905f52825f516020615d425f395f51905f520384089392505050565b5f5f516020615d425f395f51905f5282612744565b5f6103338361077b84612b07565b815160208301515f9182916127df9190612766565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156128d1576128c78261077b878461277f565b91506001016128b0565b506128da61589d565b5f5b600881101561293b575f8482600881106128f8576128f8615add565b6020020151905061290d8161077b898561277f565b905061291881612b07565b90508083836008811061292d5761292d615add565b6020020152506001016128dc565b505f5b600881101561298e575f87826008811061295a5761295a615add565b60200201519050612977818484600881106114d0576114d0615add565b90506129838682612766565b95505060010161293e565b506109b6848361274b565b5f5f6129af60016107808561077b89600161277f565b90506129bb848261274b565b95945050505050565b5f6129cd615822565b6129d8868285613620565b6129e4868683866137cc565b6129f0868683866139b8565b6129fb868285613be3565b612a06868285613dd7565b612a1286868386614120565b612a1d8682856145cc565b612a288682856149de565b612a33868285614d9f565b6109b6818561509f565b60605f8267ffffffffffffffff811115612a5957612a59615af1565b604051908082528060200260200182016040528015612a82578160200160208202803683370190505b50905083815f81518110612a9857612a98615add565b602090810291909101015260015b83811015612aff57612ada82612abd600184615a90565b81518110612acd57612acd615add565b6020026020010151612cd6565b828281518110612aec57612aec615add565b6020908102919091010152600101612aa6565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615d425f395f51905f520360808201525f516020615d425f395f51905f5260a082015260205f60c08360055afa80612b63575f5ffd5b505f51608091909101604052949350505050565b60605f8267ffffffffffffffff811115612b9357612b93615af1565b604051908082528060200260200182016040528015612bbc578160200160208202803683370190505b509050825b8015612ccb575f85612bd4600184615a90565b81518110612be457612be4615add565b602002602001015190505f89600184612bfd9190615a90565b601c8110612c0d57612c0d615add565b602002015190505f612c68612c2c612c25858d61274b565b600261274b565b61079e8b612c3b600189615a90565b601c8110612c4b57612c4b615add565b602002015161077b612c628861077b60018a61277f565b8761277f565b9050612c898161077b610b35612c838761077b60018961277f565b86612766565b99508990508085612c9b600187615a90565b81518110612cab57612cab615add565b60200260200101818152505050505080612cc490615c5c565b9050612bc1565b509695505050505050565b5f612760828361274b565b604080518082019091525f80825260208201525f612d207f00000000000000000000000000000000000000000000000000000000000000006024615aa3565b612d2b906002615aa3565b90505f5b81811015612d6157612d59858281518110612d4c57612d4c615add565b6020026020010151612f8f565b600101612d2f565b50604051600190815b60018401811015612dc65760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d6a565b5080518452602081015160208501525080612df4576040516352ec174560e11b815260040160405180910390fd5b505092915050565b604080518082019091525f80825260208201525f516020615d225f395f51905f5282602001515f516020615d225f395f51905f52612e3a9190615a90565b612e449190615b3a565b60208301525090565b5f5f5f612e5986612ec3565b91509150612e6561589d565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612eb89161223891849101615c71565b979650505050505050565b6040805180820182525f80825260208083018281528451808601865283815280830193845286519287015195870151606088015160cc90811b608892831b6044998a1b90961795909517949094178652608088015160a089015160c08a015160e08b0151871b90841b918a1b90921717179092526101008701516101208801516101408901516101608a0151861b90851b91891b909217171781526101808701516101a08801516101c08901516101e09099015190941b9790921b9290951b1717939093179092529091565b805160208201515f5f516020615d225f395f51905f528380095f516020615d225f395f51905f5260035f516020615d225f395f51905f52838709085f516020615d225f395f51905f52848509149150508061302c5760405162461bcd60e51b815260206004820152601960248201527f706f696e74206973206e6f74206f6e207468652063757276650000000000000060448201526064016100e5565b50505050565b604080518082019091525f8082526020820152604080518082019091525f808252602082015261306283866150f8565b90506129bb8185615164565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132049190615ca5565b5f60405180830381855afa9150503d805f811461323c576040519150601f19603f3d011682016040523d82523d5f602084013e613241565b606091505b50915091508180156109b65750808060200190518101906109b69190615cbb565b5f80808080613272866001615aa3565b61327d906006615aa3565b67ffffffffffffffff81111561329557613295615af1565b6040519080825280602002602001820160405280156132be578160200160208202803683370190505b509050865f1b815f815181106132d6576132d6615add565b60209081029190910101525f5b6132ee601088615a90565b81101561333f5789898281811061330757613307615add565b905060200201358282600161331c9190615aa3565b8151811061332c5761332c615add565b60209081029190910101526001016132e3565b505f5b60108110156133b0578a5161336a90826010811061336257613362615add565b602002015190565b828260106133798b6001615aa3565b6133839190615a90565b61338d9190615aa3565b8151811061339d5761339d615add565b6020908102919091010152600101613342565b5060208a015151816133c3886001615aa3565b815181106133d3576133d3615add565b6020908102919091018101919091528a8101510151816133f4886001615aa3565b6133ff906001615aa3565b8151811061340f5761340f615add565b602090810291909101015260408a0151518161342c886001615aa3565b613437906002615aa3565b8151811061344757613447615add565b60209081029190910181019190915260408b0151015181613469886001615aa3565b613474906003615aa3565b8151811061348457613484615add565b602090810291909101015260608a015151816134a1886001615aa3565b6134ac906004615aa3565b815181106134bc576134bc615add565b60209081029190910181019190915260608b01510151816134de886001615aa3565b6134e9906005615aa3565b815181106134f9576134f9615add565b602002602001018181525050613519816040516020016122389190615bf4565b9150613524826135e7565b604080516020810186905292975090955061353f9101612238565b91505f61354b836135e7565b50959b949a5094985090965091945050505050565b5f5f5f61356b6158bc565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135cd9161223891849101615cda565b91506135d8826135e7565b90979096509194509092505050565b5f80826f7fffffffffffffffffffffffffffffff8116607f82901c61360b826127a7565b9450613616816127a7565b9350505050915091565b5f61362c8460076151db565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61368d61368761366185600361277f565b61077b61367c6136718b5f6151db565b61077b8c601d6151db565b61077b8b601c6151db565b8361274b565b905061370e6137036136ea6136d16136b8856107806136ad8d60026151db565b61077b8e601c6151db565b6107806136c68c60036151db565b61077b8d601d6151db565b6107806136df8b60046151db565b61077b8c601e6151db565b6107806136f88a60056151db565b61077b8b601f6151db565b6107808860016151db565b905061372d8161078061372286600161277f565b61077b8a60276151db565b9050613739818461274b565b9050613745818561274b565b8552505f905061377f61377561376a61375f88601c6151db565b61078089601f6151db565b61079e8860246151db565b610780875f6151db565b90506137908161077b84600261277f565b90506137a18161077b84600161277f565b90506137ad818361274b565b90506137b9818461274b565b9050808460015b60200201525050505050565b5f5f5f6138026137f86137e089601c6151db565b6107806137ee8b60126151db565b8a6060015161274b565b8760800151612766565b905061383b8161077b6138316138198b601d6151db565b6107806138278d60136151db565b8c6060015161274b565b8960800151612766565b90506138608161077b6138316138528b601e6151db565b6107806138278d60146151db565b90506138858161077b6138316138778b601f6151db565b6107806138278d60156151db565b92505f90506138a96137f861389b89601c6151db565b6107806137ee8b600e6151db565b90506138ce8161077b6138316138c08b601d6151db565b6107806138278d600f6151db565b90506138f38161077b6138316138e58b601e6151db565b6107806138278d60106151db565b90506139188161077b61383161390a8b601f6151db565b6107806138278d60116151db565b91505f905061393f61393961392e8960206151db565b6107808a601a6151db565b8461274b565b90506139748161079e61396e6139568b60286151db565b6107806139648d601b6151db565b8c60a0015161274b565b8561274b565b9050613980818561274b565b6040860152505f6139a361396e61399889601b6151db565b61077b8a60286151db565b9050808560035b602002015250505050505050565b5f5f613a166139fe6139e66139d16138318a60166151db565b6107806139df8b60176151db565b8a5161274b565b6107806139f48a60186151db565b896020015161274b565b610780613a0c8960196151db565b886040015161274b565b91505f613a4d613a34613a2a89601c6151db565b8860800151612766565b610780613a428a60036151db565b61077b8b60246151db565b90505f613a76613a5e89601d6151db565b610780613a6b8b5f6151db565b61077b8c60256151db565b90505f613aa0613a878a601e6151db565b610780613a958c60016151db565b61077b8d60266151db565b9050613adf613ac7613ab985610780868d5f015161274b565b610780848c6020015161274b565b610780613ad58c60046151db565b8b6040015161274b565b93505050505f613af36139398860216151db565b90505f613b046139398960216151db565b90505f613b3c613b23613b188b60236151db565b6107808c60066151db565b61079e613b318c60236151db565b61077b8d60066151db565b90505f613b60613b5a613b4f878961274b565b61077b8d60216151db565b8361277f565b9050613b6c818861274b565b90505f613b94613b86613b808d60066151db565b8761274b565b61079e613b808e60226151db565b90505f613ba28c60236151db565b90505f613bb2613b5a838461274b565b60808c0185905260a08c018490529050613bcc818b61274b565b8b6006602002015250505050505050505050505050565b5f613bef5f600161277f565b90505f613bfd5f600261277f565b90505f613c0b5f600361277f565b90505f613c27613c1c88601d6151db565b61079e89601c6151db565b90505f613c43613c3889601e6151db565b61079e8a601d6151db565b90505f613c5f613c548a601f6151db565b61079e8b601e6151db565b90505f613c7b613c708b60246151db565b61079e8c601f6151db565b905083613c8c8161077b818b612766565b9050613c9c8161077b878a612766565b9050613cac8161077b8789612766565b9050613cbd8161077b8d60086151db565b9050613cc9818a61274b565b60e08b01525082613cde8161077b818b612766565b9050613cee8161077b868a612766565b9050613cfe8161077b8689612766565b9050613d0f8161077b8d60086151db565b9050613d1b818a61274b565b6101008b01525081613d318161077b818b612766565b9050613d418161077b858a612766565b9050613d518161077b8589612766565b9050613d628161077b8d60086151db565b9050613d6e818a61274b565b6101208b01525080613d848161077b818b612766565b9050613d948161077b848a612766565b9050613da48161077b8489612766565b9050613db58161077b8d60086151db565b9050613dc1818a61274b565b610140909a019990995250505050505050505050565b613e106040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e1b84601d6151db565b8152613e2884601e6151db565b6020820152613e388460246151db565b6040820152613e488460276151db565b6060820152613e588460266151db565b6080820152613e688460256151db565b60a08201525f613e798560026151db565b90505f613e86865f6151db565b90505f613e9a8460400151855f015161277f565b90505f613eaf8560200151866020015161274b565b606086015190915086905f90613ec5908061274b565b90505f613ee3613edd89602001518a6060015161274b565b8861274b565b90505f613f02613efb8a60a001518b60400151612766565b8a51612766565b9050613f11613b80828861274b565b9050613f38613f32613f2c613f26848761277f565b8861277f565b84612766565b83612766565b9050613f60613f55613f4a838761274b565b61077b8f60096151db565b61077b60018a61277f565b6101608c015250505050602085015160808601515f91613f7f91612766565b90505f613f9d613f9388606001518861274b565b886020015161277f565b90505f613fc1613fad848761274b565b61078061396e8b60a001518c5f015161277f565b9050613fe9613fde613fd3838c61274b565b61077b8e60096151db565b61077b60018961277f565b6101808b0152505f915061400a9050614003836011612766565b875161274b565b90505f6140178384612766565b90506140238182612766565b90505f61403183600961274b565b905061405a61405461393961404d8b60a001518c5f0151612766565b8b51612766565b8261277f565b60c089018190525f9061407590613edd90613f4a908d61274b565b90506140888b600b602002015182612766565b6101608c0152505086515f92506140af9150614003906140a89080612766565b8851612766565b90505f6140ef6140ca8361077b8a5f01518b60a0015161277f565b602089015161079e906140dd9080612766565b61077b8b602001518c60800151612766565b905061410c89600c6020020151610780613edd613f4a858d61274b565b89600c602002015250505050505050505050565b61418a604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141a261419886601e6151db565b856040015161274b565b8082526141c1906107806141b788601d6151db565b876020015161274b565b8082526141d69061078061400388601c6151db565b8082526141e8906107808760016151db565b808252602082018190526142019061079e87601f6151db565b815261421c6142118660246151db565b61079e87601c6151db565b608082015261423a61422f8660276151db565b61079e87601f6151db565b606082015260808101516142539061077b81600161277f565b6101c0820152608081015161429390614289906142829061077b60015f516020615d425f395f51905f52615a90565b6001612766565b826060015161274b565b60a082018190526142c9906142bb9061077b6142b08960026151db565b61077b8a60036151db565b61077b61396e88600a6151db565b83600e60200201526101c08101516142ed906142bb9061077b6142b08960026151db565b6101e084015280516143129061077b6143078860026151db565b61077b8960036151db565b6101208201525f61433161432787601f6151db565b836020015161277f565b90506143428161077b83600161277f565b60e083015261435f6143558760266151db565b866040015161274b565b60408301819052614382906107806143788960256151db565b886020015161274b565b604083018190526143a29061078061439b8960246151db565b885161274b565b60408301526143bf6143b58760276151db565b836040015161277f565b60408301525f6143de6143d38860266151db565b61079e89601e6151db565b905061443061440b613687614282866080015160015f516020615d425f395f51905f5261077b9190615a90565b61077b614282866040015160015f516020615d425f395f51905f5261077b9190615a90565b60c0840152604083015161445290614448908061274b565b846040015161277f565b61010084015260c083015161447e906144709061077b8a60046151db565b61077b613b808a600a6151db565b6102008601526101c083015161449d906144709061077b8a60046151db565b6102208601526101008301516144bc906144709061077b8a60046151db565b61024086015260e08301516144d69061077b8960046151db565b6101408401526144f56144ea8860256151db565b61079e89601d6151db565b6101608401526080830151614533906143d390614528906142829061077b60015f516020615d425f395f51905f52615a90565b85610160015161274b565b61018084018190526101208401516101a0850181905261456a916107809061077b61455f8c60056151db565b61077b8d60026151db565b6101a08401819052835161458a91906107809061077b61455f8c5f6151db565b6101a084018190526101408401516145a29190612766565b6101a084018190526145bc9061077b613b808a600a6151db565b6101a0840181905285600d6139aa565b6146056040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61463a61462161461686601c6151db565b61077b8760256151db565b61078061462f8760246151db565b61077b88601d6151db565b815261467f61467461465b61465087601c6151db565b61077b88601f6151db565b61078061466988601d6151db565b61077b89601e6151db565b61079e8660266151db565b6040820181905261469490600160441b61274b565b604082018190526146aa9061079e8660276151db565b6040820181905281516146bd9190612766565b604082018190526146d39061077b8660056151db565b604082015280516146e890600160441b61274b565b808252614708906107806146fd8760246151db565b61077b8860256151db565b8082526020820181905261472f9061079e61472487601e6151db565b61078088601f6151db565b602082018190526147459061077b8660046151db565b60208201528051606082018190526147629061078086601f6151db565b606082018190526147869061079e61477b8760266151db565b6107808860276151db565b6060820181905261479b9061077b865f6151db565b8160600181815250505f6147c46147ba83602001518460400151612766565b8360600151612766565b90506147d58161077b8760036151db565b90506147ed6147e58660256151db565b61400061274b565b60808301819052614803906107808760246151db565b608083018190526148169061400061274b565b6080830181905261482c9061078087601e6151db565b6080830181905261483f9061400061274b565b608083018190526148559061078087601d6151db565b608083018190526148689061400061274b565b6080830181905261487e9061078087601c6151db565b608083018190526148949061079e87601f6151db565b608083018190526148aa9061077b8760056151db565b60808301526148bd6147e58660266151db565b60a083018190526148d3906107808760256151db565b60a083018190526148e69061400061274b565b60a083018190526148fc906107808760246151db565b60a0830181905261490f9061400061274b565b60a083018190526149259061078087601f6151db565b60a083018190526149389061400061274b565b60a0830181905261494e9061078087601e6151db565b60a083018190526149649061079e8760276151db565b60a083018190526149799061077b875f6151db565b60a0830181905260808301515f916149919190612766565b90506149a28161077b8860046151db565b90506149ae8282612766565b60c084018190526149c79061077b613b8089600b6151db565b60c084018190528560136020020152505050505050565b614a546040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a6d614a6285601c6151db565b6107808660026151db565b8152614a88614a7d85601d6151db565b6107808660036151db565b6020820152614aa6614a9b85601e6151db565b6107808660046151db565b6040820152614ac4614ab985601f6151db565b6107808660056151db565b60608201528051614af690614aef90614ae890614ae1908061274b565b845161274b565b835161274b565b825161274b565b60808201526020810151614b3490614b2a90614b2090614b16908061274b565b846020015161274b565b836020015161274b565b826020015161274b565b60a08201526040810151614b7290614b6890614b5e90614b54908061274b565b846040015161274b565b836040015161274b565b826040015161274b565b60c08201526060810151614ba69061428990614b9c90614b92908061274b565b846060015161274b565b836060015161274b565b60e0820152608081015160a0820151614bbf9190612766565b61010082015260c081015160e0820151614bd99190612766565b61012082015260a0810151614bfd90614bf29080612766565b826101200151612766565b61014082015260e0810151614c2190614c169080612766565b826101000151612766565b610160820152610120810151614c379080612766565b6101e08201819052614c5890614c4d9080612766565b826101600151612766565b6101e0820152610100810151614c6e9080612766565b6101a08201819052614c8f90614c849080612766565b826101400151612766565b6101a08201819052610160820151614ca691612766565b6101808201526101408101516101e0820151614cc29190612766565b6101c0820152614cd661368785600c6151db565b6102008201819052610280840151610180830151614d01926107809161077b9061079e8a60246151db565b8360146020020152614d31836015602002015161078083610200015161077b856101a0015161079e8a60256151db565b8360156020020152614d61836016602002015161078083610200015161077b856101c0015161079e8a60266151db565b8360166020020152614d91836017602002015161078083610200015161077b856101e0015161079e8a60276151db565b836017602002015250505050565b614df16040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e267f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612733565b8152602001614e547f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612733565b8152602001614e817e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612733565b8152602001614eaf7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612733565b90529050614ecc614ec186601c6151db565b6107808760026151db565b6101208301819052614f0b90614f0090614ef590614eea908061274b565b85610120015161274b565b84610120015161274b565b83610120015161274b565b8252614f1885601d6151db565b6020830152614f2885601e6151db565b6040830152614f3885601f6151db565b606083015281516020830151614f60916147ba91614f569190612766565b8460400151612766565b6080830152614f7361393986600d6151db565b6101408301528151614f9490614f8a90835f6114d0565b8360800151612766565b60a0830152614fc0846018602002015161078084610140015161077b8660a0015161079e8b60246151db565b6103008501526020820151614fdb90614f8a908360016114d0565b60c0830152615007846019602002015161078084610140015161077b8660c0015161079e8b60256151db565b610320850152604082015161502290614f8a908360026114d0565b60e083015261504e84601a602002015161078084610140015161077b8660e0015161079e8b60266151db565b610340850152606082015161506990614f8a908360036114d0565b61010083015261509784601b602002015161078084610140015161077b86610100015161079e8b60276151db565b84601b6137c0565b815160015b601c8110156150f1576150e7826107808684601c81106150c6576150c6615add565b6020020151866150d7600187615a90565b601b81106114d0576114d0615add565b91506001016150a4565b5092915050565b604080518082019091525f8082526020820152604080518082019091525f8082526020820152604051835181526020840151602082015284604082015260408160608360075afa80615148575f5ffd5b5080518252602080820151908301526060016040529392505050565b604080518082019091525f8082526020820152604080518082019091525f80825260208201526040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bf575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151ef576151ef615d0d565b602981106151ff576151ff615add565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161524460405180604001604052805f81526020015f81525090565b815260200161526460405180604001604052805f81526020015f81525090565b815260200161528460405180604001604052805f81526020015f81525090565b81526020016152a460405180604001604052805f81526020015f81525090565b81526020016152c460405180604001604052805f81526020015f81525090565b81526020016152e460405180604001604052805f81526020015f81525090565b815260200161530460405180604001604052805f81526020015f81525090565b815260200161532460405180604001604052805f81526020015f81525090565b815260200161534460405180604001604052805f81526020015f81525090565b815260200161536460405180604001604052805f81526020015f81525090565b815260200161538460405180604001604052805f81526020015f81525090565b81526020016153a460405180604001604052805f81526020015f81525090565b81526020016153c460405180604001604052805f81526020015f81525090565b81526020016153e460405180604001604052805f81526020015f81525090565b815260200161540460405180604001604052805f81526020015f81525090565b815260200161542460405180604001604052805f81526020015f81525090565b815260200161544460405180604001604052805f81526020015f81525090565b815260200161546460405180604001604052805f81526020015f81525090565b815260200161548460405180604001604052805f81526020015f81525090565b81526020016154a460405180604001604052805f81526020015f81525090565b81526020016154c460405180604001604052805f81526020015f81525090565b81526020016154e460405180604001604052805f81526020015f81525090565b815260200161550460405180604001604052805f81526020015f81525090565b815260200161552460405180604001604052805f81526020015f81525090565b815260200161554460405180604001604052805f81526020015f81525090565b815260200161556460405180604001604052805f81526020015f81525090565b815260200161558460405180604001604052805f81526020015f81525090565b81526020016155a460405180604001604052805f81526020015f81525090565b905290565b604051806101e001604052806155bd6158da565b81526020016155dd60405180604001604052805f81526020015f81525090565b81526020016155fd60405180604001604052805f81526020015f81525090565b815260200161561d60405180604001604052805f81526020015f81525090565b815260200161563d60405180604001604052805f81526020015f81525090565b815260200161565d60405180604001604052805f81526020015f81525090565b815260200161567d60405180604001604052805f81526020015f81525090565b815260200161569d60405180604001604052805f81526020015f81525090565b81526020016156bd60405180604001604052805f81526020015f81525090565b81526020016156ca6158f9565b81526020016156d7615927565b81526020016156e4615946565b8152602001615564615822565b6040518061010001604052806157306040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b815260200161573d6157e5565b815260200161574a615822565b8152602001615757615822565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016157b361597f565b81526020016157c061597f565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61591161589d565b8152602001906001900390816159095790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b604080518082019091525f80825260208201528152602001906001900390816159565790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156159b0575f5ffd5b843567ffffffffffffffff8111156159c6575f5ffd5b8501601f810187136159d6575f5ffd5b803567ffffffffffffffff8111156159ec575f5ffd5b8760208284010111156159fd575f5ffd5b60209182019550935085013567ffffffffffffffff811115615a1d575f5ffd5b8501601f81018713615a2d575f5ffd5b803567ffffffffffffffff811115615a43575f5ffd5b8760208260051b8401011115615a57575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761276057612760615a65565b8181038181111561276057612760615a65565b8082018082111561276057612760615a65565b5f5f85851115615ac4575f5ffd5b83861115615ad0575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615b1657615b16615a65565b5060010190565b80356020831015612760575f19602084900360031b1b1692915050565b5f82615b5457634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b6005811015615b7d578151835260209283019290910190600101615b5e565b50505060a08201905092915050565b5f8183825b6009811015615bb0578151835260209283019290910190600101615b91565b5050506101208201905092915050565b5f8183825b602a811015615be4578151835260209283019290910190600101615bc5565b5050506105408201905092915050565b81515f90829060208501835b82811015615c1e578151845260209384019390910190600101615c00565b509195945050505050565b5f8183825b6003811015615c4d578151835260209283019290910190600101615c2e565b50505060608201905092915050565b5f81615c6a57615c6a615a65565b505f190190565b5f8183825b6008811015615c95578151835260209283019290910190600101615c76565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615ccb575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615cfe578151835260209283019290910190600101615cdf565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212200cd5e03317447948287650fd0f7d0a9285a0a0d939b796baeb90204f4a3a4a8264736f6c634300081b0033";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
package/dest/InboxBytecode.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inbox bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea2646970667358221220036dd47f0b993c4bccc5df256674c59b215718f21333d1a6cc0fd3bd9b22514d64736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea264697066735822122009ef770963680a4a4adcfe63ed404e04db929893bbd3ec9daf6c02eb4ecace5e64736f6c634300081b0033";
|
|
4
|
+
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea2646970667358221220f022223c51e9c6bc53aa528412dbda5e199ba5033a8eac9f0c985c8ca52b28bb64736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220d8deb4596f8855dd1c64ea7b30b6349acb6af90392d5b5fd7035e4d655617acc64736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* Inbox link references.
|
|
7
7
|
*/
|