@vlayer/sdk 0.1.0-nightly-20250130-cedaf5e → 0.1.0-nightly-20250130-3d69e0c

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.
@@ -10,15 +10,6 @@ export declare const deployProver: ({ proverSpec, proverArgs, }: {
10
10
  proverSpec: ContractSpec;
11
11
  proverArgs?: ContractArg[];
12
12
  }) => Promise<`0x${string}`>;
13
- export declare const deployTestingVlayerContracts: (args: {
14
- proverSpec: ContractSpec;
15
- verifierSpec: ContractSpec;
16
- proverArgs?: ContractArg[];
17
- verifierArgs?: ContractArg[];
18
- }) => Promise<{
19
- prover: `0x${string}`;
20
- verifier: `0x${string}`;
21
- }>;
22
13
  export declare const deployVlayerContracts: ({ proverSpec, verifierSpec, proverArgs, verifierArgs, }: {
23
14
  proverSpec: ContractSpec;
24
15
  verifierSpec: ContractSpec;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/config/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAOpC,eAAO,MAAM,qBAAqB,cAE/B;IACD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CACrB,KAAG,OAAO,CAAC,OAAO,CAgBlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAEnC;IACD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CACrB,+CAQA,CAAC;AAEF,eAAO,MAAM,YAAY,gCAGtB;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B,2BAcA,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAgB;IACvD,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;;;EAiCA,CAAC;AAEF,eAAO,MAAM,qBAAqB,4DAK/B;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;;;EA8BA,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/config/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,qBAAqB,cAE/B;IACD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CACrB,KAAG,OAAO,CAAC,OAAO,CAgBlB,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAEnC;IACD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CACrB,+CAQA,CAAC;AAEF,eAAO,MAAM,YAAY,gCAGtB;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B,2BAcA,CAAC;AAEF,eAAO,MAAM,qBAAqB,4DAK/B;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;;;EA8BA,CAAC"}
@@ -4,7 +4,6 @@ import {} from "../api/lib/types/ethereum.js";
4
4
  import {} from "viem";
5
5
  import { getChainConfirmations } from "./getChainConfirmations.js";
6
6
  import debug from "debug";
7
- import TestVerifierRouterDeployer from "../abi/TestVerifierRouterDeployer.js";
8
7
  const log = debug("vlayer:prover");
9
8
  export const waitForContractDeploy = async ({ hash, }) => {
10
9
  const { ethClient: client } = createContext(getConfig());
@@ -42,36 +41,6 @@ export const deployProver = async ({ proverSpec, proverArgs, }) => {
42
41
  const prover = await waitForContractDeploy({ hash: proverHash });
43
42
  return prover;
44
43
  };
45
- export const deployTestingVlayerContracts = async (args) => {
46
- const { prover, verifier } = await deployVlayerContracts(args);
47
- if (process.env.VLAYER_ENV != "development") {
48
- log("Not in development mode, skipping verifier router deployment");
49
- return { prover, verifier };
50
- }
51
- const config = getConfig();
52
- const { chain, ethClient, account } = createContext(config);
53
- log("Swapping internal verifier");
54
- const routedDeployerHash = await ethClient.deployContract({
55
- chain,
56
- account,
57
- args: [],
58
- abi: TestVerifierRouterDeployer.abi,
59
- bytecode: TestVerifierRouterDeployer.bytecode.object,
60
- });
61
- const routerDeployerAddress = await waitForContractDeploy({
62
- hash: routedDeployerHash,
63
- });
64
- const swapTxHash = await ethClient.writeContract({
65
- chain,
66
- account,
67
- address: routerDeployerAddress,
68
- functionName: "swapProofVerifier",
69
- args: [verifier],
70
- abi: TestVerifierRouterDeployer.abi,
71
- });
72
- await waitForTransactionReceipt({ hash: swapTxHash });
73
- return { prover, verifier };
74
- };
75
44
  export const deployVlayerContracts = async ({ proverSpec, verifierSpec, proverArgs, verifierArgs, }) => {
76
45
  log("Starting contract deployment process...");
77
46
  const config = getConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/config/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/config/deploy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "types": "./dist/config/index.d.ts"
16
16
  }
17
17
  },
18
- "version": "0.1.0-nightly-20250130-cedaf5e",
18
+ "version": "0.1.0-nightly-20250130-3d69e0c",
19
19
  "scripts": {
20
20
  "build": "bun tsc --project tsconfig.build.json && bun tsc-alias",
21
21
  "test:unit": "vitest --run",
@@ -1,231 +0,0 @@
1
- declare const _default: {
2
- readonly abi: readonly [{
3
- readonly type: "function";
4
- readonly name: "swapProofVerifier";
5
- readonly inputs: readonly [{
6
- readonly name: "verifier";
7
- readonly type: "address";
8
- readonly internalType: "contract Verifier";
9
- }];
10
- readonly outputs: readonly [];
11
- readonly stateMutability: "nonpayable";
12
- }];
13
- readonly bytecode: {
14
- readonly object: "0x6080604052348015600e575f5ffd5b50614d448061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063f860554b1461002d575b5f5ffd5b61004061003b366004610254565b610042565b005b5f816001600160a01b0316632b7ac3f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610276565b6001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100de573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101029190610276565b9050816001600160a01b0316639b8b30c88260405161012090610216565b6001600160a01b039091168152602001604051809103905ff080158015610149573d5f5f3e3d5ffd5b508360405161015790610223565b6001600160a01b039091168152602001604051809103905ff080158015610180573d5f5f3e3d5ffd5b5060405161018d90610230565b6001600160a01b03928316815291166020820152604001604051809103905ff0801580156101bd573d5f5f3e3d5ffd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b1580156101fc575f5ffd5b505af115801561020e573d5f5f3e3d5ffd5b505050505050565b6113ad8061029283390190565b612f1c8061163f83390190565b6107b48061455b83390190565b6001600160a01b0381168114610251575f5ffd5b50565b5f60208284031215610264575f5ffd5b813561026f8161023d565b9392505050565b5f60208284031215610286575f5ffd5b815161026f8161023d56fe60e060405234801561000f575f5ffd5b506040516113ad3803806113ad83398101604081905261002e91610115565b6001600160a01b03811660c0526100436100b8565b1561006157604051633d23e4d160e11b815260040160405180910390fd5b60405163deafbeef60e01b9061007690610108565b6001600160e01b03199091168152602001604051809103905ff0801580156100a0573d5f5f3e3d5ffd5b506001600160a01b031660a052506001608052610142565b5f46600114806100c8575046600a145b806100d4575046612105145b806100e057504661a4b1145b806100ec57504661a4ba145b806100f75750466089145b80610103575046610144145b905090565b6108af80610afe83390190565b5f60208284031215610125575f5ffd5b81516001600160a01b038116811461013b575f5ffd5b9392505050565b60805160a05160c0516109796101855f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea264697066735822122054c192be77332b47bb8956220352d1dd1dd666eea70bf7f7563c1e39af378abf64736f6c634300081c003360a060405234801561000f575f5ffd5b506040516108af3803806108af83398101604081905261002e91610040565b6001600160e01b03191660805261006e565b5f60208284031215610050575f5ffd5b81516001600160e01b031981168114610067575f5ffd5b9392505050565b6080516108166100995f395f8181605e0152818160ea015281816101f4015261025801526108165ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063053c238d146100595780631599ead51461009e5780633a115bb1146100b357806366cf0e4b14610145578063ab750e7514610158575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100b16100ac3660046105b6565b61016b565b005b6101386100c13660046105ed565b60408051808201909152606081525f6020820152604080518082019091526001600160e01b03197f000000000000000000000000000000000000000000000000000000000000000016606082015260648101839052806084810160408051601f198184030181529190528152602001929092525090565b6040516100959190610604565b61013861015336600461064d565b610185565b6100b161016636600461066d565b6101b5565b61018261017882806106e7565b83602001356101d2565b50565b60408051808201909152606081525f60208201526101ae6100c16101a985856102f5565b61037f565b9392505050565b6101cc84846101c76101a986866102f5565b6101d2565b50505050565b6101df60045f8486610731565b6101e891610758565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461028b5761022f60045f8486610731565b61023891610758565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60408051602081018390520160408051601f1981840301815291905280516020909101206102bc8360048187610731565b6040516102ca929190610790565b6040518091039020146102f05760405163439cc0cd60e01b815260040160405180910390fd5b505050565b6102fd610574565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161037660405180604001604052808681526020015f5f1b8152506104df565b90529392505050565b5f6002806040516103a8907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa1580156103c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103e691906107b3565b606084015184516020860151608087015160408801515160189060028111156104115761041161079f565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261049b916107ca565b602060405180830381855afa1580156104b6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104d991906107b3565b92915050565b5f600280604051610502906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561051d573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061054091906107b3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610481565b6040518060a001604052805f81526020015f81526020016105a4604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f602082840312156105c6575f5ffd5b813567ffffffffffffffff8111156105dc575f5ffd5b8201604081850312156101ae575f5ffd5b5f602082840312156105fd575f5ffd5b5035919050565b602081525f82516040602084015280518060608501528060208301608086015e5f60808286010152602085015160408501526080601f19601f8301168501019250505092915050565b5f5f6040838503121561065e575f5ffd5b50508035926020909101359150565b5f5f5f5f60608587031215610680575f5ffd5b843567ffffffffffffffff811115610696575f5ffd5b8501601f810187136106a6575f5ffd5b803567ffffffffffffffff8111156106bc575f5ffd5b8760208284010111156106cd575f5ffd5b602091820198909750908601359560400135945092505050565b5f5f8335601e198436030181126106fc575f5ffd5b83018035915067ffffffffffffffff821115610716575f5ffd5b60200191503681900382131561072a575f5ffd5b9250929050565b5f5f8585111561073f575f5ffd5b8386111561074b575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610789576001600160e01b0319600485900360031b81901b82161691505b5092915050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f602082840312156107c3575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220f60a9ae93de91b6b9140b6bf34d600015071e7e66bd3163c0cda0da6cc20f2b464736f6c634300081c003360e060405234801561000f575f5ffd5b50604051612f1c380380612f1c83398101604081905261002e916100d3565b6001600160a01b03811660c0525f6080526040517f8cdad9242664be3112aba377c5425a4df735eb1c6966472b561d2855932c0469907f04446e66d300eb7fb45c9726bb53c793dda407a62e9601618bb43c5c14657ac09061008f906100c6565b9182526020820152604001604051809103905ff0801580156100b3573d5f5f3e3d5ffd5b506001600160a01b031660a05250610100565b61246080610abc83390190565b5f602082840312156100e3575f5ffd5b81516001600160a01b03811681146100f9575f5ffd5b9392505050565b60805160a05160c0516109796101435f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea2646970667358221220872fbb54f457541ca9955a3cec7fbd47c888fe38acad5aebd93b4d0c52e3c0d464736f6c634300081c0033610100604052348015610010575f5ffd5b5060405161246038038061246083398101604081905261002f91611047565b610038826102b9565b6001600160801b031990811660a0521660805260c08190526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b60208201526002908190602601602060405180830381855afa1580156100a8573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906100cb9190611069565b8361021b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b610223610425565b60408051602081019590955284019290925260608301526080820152600360f81b60a082015260a20160408051601f198184030181529082905261026691611097565b602060405180830381855afa158015610281573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906102a49190611069565b6001600160e01b03191660e052506111359050565b5f808061040b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b60408051600680825260e082019092525f918291906020820160c08036833701905050905060027f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be47f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd46040516020016104a8929190918252602082015260400190565b60408051601f19818403018152908290526104c291611097565b602060405180830381855afa1580156104dd573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105009190611069565b815f81518110610512576105126110a9565b60200260200101818152505060027f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f7f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff664260405160200161057c929190918252602082015260400190565b60408051601f198184030181529082905261059691611097565b602060405180830381855afa1580156105b1573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105d49190611069565b816001815181106105e7576105e76110a9565b60200260200101818152505060027f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc3477f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b604051602001610651929190918252602082015260400190565b60408051601f198184030181529082905261066b91611097565b602060405180830381855afa158015610686573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106a99190611069565b816002815181106106bc576106bc6110a9565b60200260200101818152505060027f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a77f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd6604051602001610726929190918252602082015260400190565b60408051601f198184030181529082905261074091611097565b602060405180830381855afa15801561075b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061077e9190611069565b81600381518110610791576107916110a9565b60200260200101818152505060027f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d7f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e826040516020016107fb929190918252602082015260400190565b60408051601f198184030181529082905261081591611097565b602060405180830381855afa158015610830573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108539190611069565b81600481518110610866576108666110a9565b60200260200101818152505060027f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d4937f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8096040516020016108d0929190918252602082015260400190565b60408051601f19818403018152908290526108ea91611097565b602060405180830381855afa158015610905573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109289190611069565b8160058151811061093b5761093b6110a9565b60200260200101818152505060028060405161097a907f72697363305f67726f746831362e566572696679696e674b65790000000000008152601a0190565b602060405180830381855afa158015610995573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109b89190611069565b60027f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e27f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d1926604051602001610a16929190918252602082015260400190565b60408051601f1981840301815290829052610a3091611097565b602060405180830381855afa158015610a4b573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a6e9190611069565b604080517f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c60208201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab918101919091527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a760608201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8608082015260029060a00160408051601f1981840301815290829052610b2c91611097565b602060405180830381855afa158015610b47573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b6a9190611069565b604080517f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260208201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed918101919091527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60608201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa608082015260029060a00160408051601f1981840301815290829052610c2891611097565b602060405180830381855afa158015610c43573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c669190611069565b604080517f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c60208201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e0333918101919091527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d03076260608201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d3608082015260029060a00160408051601f1981840301815290829052610d2491611097565b602060405180830381855afa158015610d3f573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610d629190611069565b610ddb6002604051610d97907f72697363305f67726f746831362e566572696679696e674b65792e49430000008152601d0190565b602060405180830381855afa158015610db2573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610dd59190611069565b88610e6f565b6040805160208101979097528601949094526060850192909252608084015260a083015260c0820152600560f81b60e082015260e20160408051601f1981840301815290829052610e2b91611097565b602060405180830381855afa158015610e46573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610e699190611069565b91505090565b5f80805b8351811015610ec857610ebe85858360018851610e9091906110bd565b610e9a91906110bd565b81518110610eaa57610eaa6110a9565b602002602001015184610ed260201b60201c565b9150600101610e73565b5090505b92915050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110610f0957610f096110a9565b6020026020010181815250508281600181518110610f2957610f296110a9565b6020908102919091010152610f3e8582610f47565b95945050505050565b604080515f80825260208201909252610f61848483610f69565b949350505050565b5f5f610f7b845161101160201b60201c565b90505f60088261ffff16901c60088361ffff16901b1760f01b9050600286868684604051602001610faf94939291906110dc565b60408051601f1981840301815290829052610fc991611097565b602060405180830381855afa158015610fe4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110079190611069565b9695505050505050565b5f61ffff821115611043576040516306dfcc6560e41b8152601060048201526024810183905260440160405180910390fd5b5090565b5f5f60408385031215611058575f5ffd5b505080516020909101519092909150565b5f60208284031215611079575f5ffd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6110a28284611080565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610ecc57634e487b7160e01b5f52601160045260245ffd5b8481525f602082018551602087015f5b8281101561110a5781518452602093840193909101906001016110ec565b5050506111178186611080565b6001600160f01b031994909416845250506002909101949350505050565b60805160a05160c05160e0516112d76111895f395f8181608e01528181610808015261086c01525f818160e8015261094301525f8181610140015261090a01525f818161018001526108e201526112d75ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638989fa2e116100585780638989fa2e1461013b5780639181e4b11461017b578063ab750e75146101a2578063ffa1ad74146101b5575f5ffd5b8063053c238d146100895780631599ead5146100ce578063258038e2146100e357806334baeab914610118575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e16100dc366004610e1c565b6101e6565b005b61010a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100c5565b61012b610126366004610e6a565b610200565b60405190151581526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160801b031990911681526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101b0366004610ecc565b6107c4565b6101d9604051806040016040528060058152602001640312e322e360dc1b81525081565b6040516100c59190610f46565b6101fd6101f38280610f7b565b83602001356107e6565b50565b5f610755565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181106101fd575f5f5260205ff35b5f60405183815284602082015285604082015260408160608360076107d05a03fa915081610265575f5f5260205ff35b825160408201526020830151606082015260408360808360066107d05a03fa91505080610294575f5f5260205ff35b5050505050565b7f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be485527f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd460208601525f608086018661033787357f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff66427f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f84610235565b61038760208801357f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b7f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34784610235565b6103d760408801357f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd67f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a784610235565b61042760608801357f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e827f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d84610235565b61047760808801357f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8097f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49384610235565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86101608201525f87015161018082015260205f018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c6102808201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e03336102a08201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d0307626102c08201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d36102e08201526020816103008360086107d05a03fa9051169695505050505050565b604051610380810160405261076c5f840135610206565b6107796020840135610206565b6107866040840135610206565b6107936060840135610206565b6107a06080840135610206565b6107ad60a0840135610206565b6107ba818486888a61029b565b9050805f5260205ff35b6107e084846107db6107d686866109fa565b610a86565b6107e6565b50505050565b6107f360045f8486610fc5565b6107fc91610fec565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461089f5761084360045f8486610fc5565b61084c91610fec565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b5f5f6108aa83610be0565b90925090505f6108bd8560048189610fc5565b8101906108ca91906110e1565b8051602080830151604080850151815160a0810183527f0000000000000000000000000000000000000000000000000000000000000000608090811c82527f0000000000000000000000000000000000000000000000000000000000000000811c9582019590955289851c8184015288851c60608201527f00000000000000000000000000000000000000000000000000000000000000009481019490945290516334baeab960e01b81529495505f9430946334baeab99461099294919391926004016111be565b602060405180830381865afa1580156109ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d19190611241565b9050806109f15760405163439cc0cd60e01b815260040160405180910390fd5b50505050505050565b610a02610dda565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b8152602001610a7b60405180604001604052808681526020015f5f1b815250610d45565b905290505b92915050565b5f600280604051610aaf907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa158015610aca573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610aed9190611274565b60608401518451602086015160808701516040880151516018906002811115610b1857610b18611260565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f1981840301815290829052610ba29161128b565b602060405180830381855afa158015610bbd573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a809190611274565b5f8080610d2b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b60408277ffffffffffffffff0000000000000000ffffffffffffffff1916901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b5f600280604051610d68906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa158015610d83573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610da69190611274565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610b88565b6040518060a001604052805f81526020015f8152602001610e0a604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610e2c575f5ffd5b813567ffffffffffffffff811115610e42575f5ffd5b820160408185031215610e53575f5ffd5b9392505050565b8060408101831015610a80575f5ffd5b5f5f5f5f6101a08587031215610e7e575f5ffd5b610e888686610e5a565b935060c0850186811115610e9a575f5ffd5b604086019350610eaa8782610e5a565b925050856101a086011115610ebd575f5ffd5b50919490935090916101000190565b5f5f5f5f60608587031215610edf575f5ffd5b843567ffffffffffffffff811115610ef5575f5ffd5b8501601f81018713610f05575f5ffd5b803567ffffffffffffffff811115610f1b575f5ffd5b876020828401011115610f2c575f5ffd5b602091820198909750908601359560400135945092505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f8335601e19843603018112610f90575f5ffd5b83018035915067ffffffffffffffff821115610faa575f5ffd5b602001915036819003821315610fbe575f5ffd5b9250929050565b5f5f85851115610fd3575f5ffd5b83861115610fdf575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561101d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561105b5761105b611024565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561108a5761108a611024565b604052919050565b5f82601f8301126110a1575f5ffd5b6110ab6040611061565b8060408401858111156110bc575f5ffd5b845b818110156110d65780358452602093840193016110be565b509095945050505050565b5f6101008284031280156110f3575f5ffd5b506110fc611038565b6111068484611092565b815283605f840112611116575f5ffd5b604061112181611061565b8060c0860187811115611132575f5ffd5b604087015b81811015611158576111498982611092565b84526020909301928401611137565b508160208601526111698882611092565b604086015250929695505050505050565b805f5b60028110156107e057815184526020938401939091019060010161117d565b805f5b60058110156107e057815184526020938401939091019060010161119f565b6101a081016111cd828761117a565b60408201855f5b600281101561121a578151835f5b60028110156112015782518252602092830192909101906001016111e2565b50505060409290920191602091909101906001016111d4565b50505061122a60c083018561117a565b61123861010083018461119c565b95945050505050565b5f60208284031215611251575f5ffd5b81518015158114610e53575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611284575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea26469706673582212202a001cf42514057842304ec6ca3a486e5970fa3eb64fd673c04a9333313cce3a64736f6c634300081c003360c060405234801561000f575f5ffd5b506040516107b43803806107b483398101604081905261002e9161018b565b816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906101c3565b6001600160a01b0316816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f791906101c3565b6001600160a01b03161461015d5760405162461bcd60e51b8152602060048201526024808201527f5665726966696572732073686f756c64207573652073616d65207265706f7369604482015263746f727960e01b606482015260840160405180910390fd5b6001600160a01b039182166080521660a0526101e5565b6001600160a01b0381168114610188575f5ffd5b50565b5f5f6040838503121561019c575f5ffd5b82516101a781610174565b60208401519092506101b881610174565b809150509250929050565b5f602082840312156101d3575f5ffd5b81516101de81610174565b9392505050565b60805160a05161059c6102185f395f818160530152818160d8015261024f01525f818160b301526101a3015261059c5ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806319f9dd0a1461004e5780633fd66f22146100915780634bc8e31c14610099578063d06da682146100ae575b5f5ffd5b6100757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100756100d5565b6100ac6100a73660046102f0565b61015b565b005b6100757f000000000000000000000000000000000000000000000000000000000000000081565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610132573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610348565b905090565b600161017661016f368790038701876103ed565b6040015190565b60018111156101875761018761036a565b0361020f576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c906101de908790879087908790600401610478565b5f6040518083038186803b1580156101f4575f5ffd5b505afa158015610206573d5f5f3e3d5ffd5b505050506102b7565b5f61022261016f368790038701876103ed565b60018111156102335761023361036a565b036102b7576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c9061028a908790879087908790600401610478565b5f6040518083038186803b1580156102a0575f5ffd5b505afa1580156102b2573d5f5f3e3d5ffd5b505050505b50505050565b6001600160a01b03811681146102d1575f5ffd5b50565b80356001600160e01b0319811681146102eb575f5ffd5b919050565b5f5f5f5f848603610260811215610305575f5ffd5b610200811215610313575f5ffd5b50849350610200840135925061022084013561032e816102bd565b915061033d61024086016102d4565b905092959194509250565b5f60208284031215610358575f5ffd5b8151610363816102bd565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156103b5576103b561037e565b60405290565b604051610100810167ffffffffffffffff811182821017156103b5576103b561037e565b8035600281106102eb575f5ffd5b5f6101408284031280156103ff575f5ffd5b50610408610392565b610411836102d4565b815283603f840112610421575f5ffd5b6104296103bb565b8061012085018681111561043b575f5ffd5b602086015b81811015610458578035845260209384019301610440565b50816020850152610468816103df565b6040850152509195945050505050565b61026081016001600160e01b031961048f876102d4565b1682526101006020870160208401376104ab61012087016103df565b600281106104c757634e487b7160e01b5f52602160045260245ffd5b610120830152610140868101359083015261016080870135908301526101808601356104f2816102bd565b6001600160a01b03166101808301526001600160e01b03196105176101a088016102d4565b166101a08301526101c086810135908301526101e0808701359083015261020082018590526001600160a01b0384166102208301526001600160e01b031983166102408301529594505050505056fea2646970667358221220ee2d9c330642bcbddbae38effa11507849f2fb7e8fa0c06c4df4d70ce445a27964736f6c634300081c0033a264697066735822122013e8d8edf588592ccda01d017c94841f35dd837746a8efb82de9efeae3b8495964736f6c634300081c0033";
15
- readonly sourceMap: "248:320:56:-:0;;;;;;;;;;;;;;;;;;;";
16
- readonly linkReferences: {};
17
- };
18
- readonly deployedBytecode: {
19
- readonly object: "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063f860554b1461002d575b5f5ffd5b61004061003b366004610254565b610042565b005b5f816001600160a01b0316632b7ac3f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610276565b6001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100de573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101029190610276565b9050816001600160a01b0316639b8b30c88260405161012090610216565b6001600160a01b039091168152602001604051809103905ff080158015610149573d5f5f3e3d5ffd5b508360405161015790610223565b6001600160a01b039091168152602001604051809103905ff080158015610180573d5f5f3e3d5ffd5b5060405161018d90610230565b6001600160a01b03928316815291166020820152604001604051809103905ff0801580156101bd573d5f5f3e3d5ffd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b1580156101fc575f5ffd5b505af115801561020e573d5f5f3e3d5ffd5b505050505050565b6113ad8061029283390190565b612f1c8061163f83390190565b6107b48061455b83390190565b6001600160a01b0381168114610251575f5ffd5b50565b5f60208284031215610264575f5ffd5b813561026f8161023d565b9392505050565b5f60208284031215610286575f5ffd5b815161026f8161023d56fe60e060405234801561000f575f5ffd5b506040516113ad3803806113ad83398101604081905261002e91610115565b6001600160a01b03811660c0526100436100b8565b1561006157604051633d23e4d160e11b815260040160405180910390fd5b60405163deafbeef60e01b9061007690610108565b6001600160e01b03199091168152602001604051809103905ff0801580156100a0573d5f5f3e3d5ffd5b506001600160a01b031660a052506001608052610142565b5f46600114806100c8575046600a145b806100d4575046612105145b806100e057504661a4b1145b806100ec57504661a4ba145b806100f75750466089145b80610103575046610144145b905090565b6108af80610afe83390190565b5f60208284031215610125575f5ffd5b81516001600160a01b038116811461013b575f5ffd5b9392505050565b60805160a05160c0516109796101855f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea264697066735822122054c192be77332b47bb8956220352d1dd1dd666eea70bf7f7563c1e39af378abf64736f6c634300081c003360a060405234801561000f575f5ffd5b506040516108af3803806108af83398101604081905261002e91610040565b6001600160e01b03191660805261006e565b5f60208284031215610050575f5ffd5b81516001600160e01b031981168114610067575f5ffd5b9392505050565b6080516108166100995f395f8181605e0152818160ea015281816101f4015261025801526108165ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063053c238d146100595780631599ead51461009e5780633a115bb1146100b357806366cf0e4b14610145578063ab750e7514610158575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100b16100ac3660046105b6565b61016b565b005b6101386100c13660046105ed565b60408051808201909152606081525f6020820152604080518082019091526001600160e01b03197f000000000000000000000000000000000000000000000000000000000000000016606082015260648101839052806084810160408051601f198184030181529190528152602001929092525090565b6040516100959190610604565b61013861015336600461064d565b610185565b6100b161016636600461066d565b6101b5565b61018261017882806106e7565b83602001356101d2565b50565b60408051808201909152606081525f60208201526101ae6100c16101a985856102f5565b61037f565b9392505050565b6101cc84846101c76101a986866102f5565b6101d2565b50505050565b6101df60045f8486610731565b6101e891610758565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461028b5761022f60045f8486610731565b61023891610758565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60408051602081018390520160408051601f1981840301815291905280516020909101206102bc8360048187610731565b6040516102ca929190610790565b6040518091039020146102f05760405163439cc0cd60e01b815260040160405180910390fd5b505050565b6102fd610574565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161037660405180604001604052808681526020015f5f1b8152506104df565b90529392505050565b5f6002806040516103a8907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa1580156103c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103e691906107b3565b606084015184516020860151608087015160408801515160189060028111156104115761041161079f565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261049b916107ca565b602060405180830381855afa1580156104b6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104d991906107b3565b92915050565b5f600280604051610502906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561051d573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061054091906107b3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610481565b6040518060a001604052805f81526020015f81526020016105a4604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f602082840312156105c6575f5ffd5b813567ffffffffffffffff8111156105dc575f5ffd5b8201604081850312156101ae575f5ffd5b5f602082840312156105fd575f5ffd5b5035919050565b602081525f82516040602084015280518060608501528060208301608086015e5f60808286010152602085015160408501526080601f19601f8301168501019250505092915050565b5f5f6040838503121561065e575f5ffd5b50508035926020909101359150565b5f5f5f5f60608587031215610680575f5ffd5b843567ffffffffffffffff811115610696575f5ffd5b8501601f810187136106a6575f5ffd5b803567ffffffffffffffff8111156106bc575f5ffd5b8760208284010111156106cd575f5ffd5b602091820198909750908601359560400135945092505050565b5f5f8335601e198436030181126106fc575f5ffd5b83018035915067ffffffffffffffff821115610716575f5ffd5b60200191503681900382131561072a575f5ffd5b9250929050565b5f5f8585111561073f575f5ffd5b8386111561074b575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610789576001600160e01b0319600485900360031b81901b82161691505b5092915050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f602082840312156107c3575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220f60a9ae93de91b6b9140b6bf34d600015071e7e66bd3163c0cda0da6cc20f2b464736f6c634300081c003360e060405234801561000f575f5ffd5b50604051612f1c380380612f1c83398101604081905261002e916100d3565b6001600160a01b03811660c0525f6080526040517f8cdad9242664be3112aba377c5425a4df735eb1c6966472b561d2855932c0469907f04446e66d300eb7fb45c9726bb53c793dda407a62e9601618bb43c5c14657ac09061008f906100c6565b9182526020820152604001604051809103905ff0801580156100b3573d5f5f3e3d5ffd5b506001600160a01b031660a05250610100565b61246080610abc83390190565b5f602082840312156100e3575f5ffd5b81516001600160a01b03811681146100f9575f5ffd5b9392505050565b60805160a05160c0516109796101435f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea2646970667358221220872fbb54f457541ca9955a3cec7fbd47c888fe38acad5aebd93b4d0c52e3c0d464736f6c634300081c0033610100604052348015610010575f5ffd5b5060405161246038038061246083398101604081905261002f91611047565b610038826102b9565b6001600160801b031990811660a0521660805260c08190526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b60208201526002908190602601602060405180830381855afa1580156100a8573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906100cb9190611069565b8361021b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b610223610425565b60408051602081019590955284019290925260608301526080820152600360f81b60a082015260a20160408051601f198184030181529082905261026691611097565b602060405180830381855afa158015610281573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906102a49190611069565b6001600160e01b03191660e052506111359050565b5f808061040b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b60408051600680825260e082019092525f918291906020820160c08036833701905050905060027f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be47f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd46040516020016104a8929190918252602082015260400190565b60408051601f19818403018152908290526104c291611097565b602060405180830381855afa1580156104dd573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105009190611069565b815f81518110610512576105126110a9565b60200260200101818152505060027f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f7f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff664260405160200161057c929190918252602082015260400190565b60408051601f198184030181529082905261059691611097565b602060405180830381855afa1580156105b1573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105d49190611069565b816001815181106105e7576105e76110a9565b60200260200101818152505060027f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc3477f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b604051602001610651929190918252602082015260400190565b60408051601f198184030181529082905261066b91611097565b602060405180830381855afa158015610686573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106a99190611069565b816002815181106106bc576106bc6110a9565b60200260200101818152505060027f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a77f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd6604051602001610726929190918252602082015260400190565b60408051601f198184030181529082905261074091611097565b602060405180830381855afa15801561075b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061077e9190611069565b81600381518110610791576107916110a9565b60200260200101818152505060027f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d7f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e826040516020016107fb929190918252602082015260400190565b60408051601f198184030181529082905261081591611097565b602060405180830381855afa158015610830573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108539190611069565b81600481518110610866576108666110a9565b60200260200101818152505060027f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d4937f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8096040516020016108d0929190918252602082015260400190565b60408051601f19818403018152908290526108ea91611097565b602060405180830381855afa158015610905573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109289190611069565b8160058151811061093b5761093b6110a9565b60200260200101818152505060028060405161097a907f72697363305f67726f746831362e566572696679696e674b65790000000000008152601a0190565b602060405180830381855afa158015610995573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109b89190611069565b60027f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e27f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d1926604051602001610a16929190918252602082015260400190565b60408051601f1981840301815290829052610a3091611097565b602060405180830381855afa158015610a4b573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a6e9190611069565b604080517f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c60208201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab918101919091527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a760608201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8608082015260029060a00160408051601f1981840301815290829052610b2c91611097565b602060405180830381855afa158015610b47573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b6a9190611069565b604080517f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260208201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed918101919091527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60608201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa608082015260029060a00160408051601f1981840301815290829052610c2891611097565b602060405180830381855afa158015610c43573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c669190611069565b604080517f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c60208201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e0333918101919091527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d03076260608201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d3608082015260029060a00160408051601f1981840301815290829052610d2491611097565b602060405180830381855afa158015610d3f573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610d629190611069565b610ddb6002604051610d97907f72697363305f67726f746831362e566572696679696e674b65792e49430000008152601d0190565b602060405180830381855afa158015610db2573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610dd59190611069565b88610e6f565b6040805160208101979097528601949094526060850192909252608084015260a083015260c0820152600560f81b60e082015260e20160408051601f1981840301815290829052610e2b91611097565b602060405180830381855afa158015610e46573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610e699190611069565b91505090565b5f80805b8351811015610ec857610ebe85858360018851610e9091906110bd565b610e9a91906110bd565b81518110610eaa57610eaa6110a9565b602002602001015184610ed260201b60201c565b9150600101610e73565b5090505b92915050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110610f0957610f096110a9565b6020026020010181815250508281600181518110610f2957610f296110a9565b6020908102919091010152610f3e8582610f47565b95945050505050565b604080515f80825260208201909252610f61848483610f69565b949350505050565b5f5f610f7b845161101160201b60201c565b90505f60088261ffff16901c60088361ffff16901b1760f01b9050600286868684604051602001610faf94939291906110dc565b60408051601f1981840301815290829052610fc991611097565b602060405180830381855afa158015610fe4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110079190611069565b9695505050505050565b5f61ffff821115611043576040516306dfcc6560e41b8152601060048201526024810183905260440160405180910390fd5b5090565b5f5f60408385031215611058575f5ffd5b505080516020909101519092909150565b5f60208284031215611079575f5ffd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6110a28284611080565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610ecc57634e487b7160e01b5f52601160045260245ffd5b8481525f602082018551602087015f5b8281101561110a5781518452602093840193909101906001016110ec565b5050506111178186611080565b6001600160f01b031994909416845250506002909101949350505050565b60805160a05160c05160e0516112d76111895f395f8181608e01528181610808015261086c01525f818160e8015261094301525f8181610140015261090a01525f818161018001526108e201526112d75ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638989fa2e116100585780638989fa2e1461013b5780639181e4b11461017b578063ab750e75146101a2578063ffa1ad74146101b5575f5ffd5b8063053c238d146100895780631599ead5146100ce578063258038e2146100e357806334baeab914610118575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e16100dc366004610e1c565b6101e6565b005b61010a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100c5565b61012b610126366004610e6a565b610200565b60405190151581526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160801b031990911681526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101b0366004610ecc565b6107c4565b6101d9604051806040016040528060058152602001640312e322e360dc1b81525081565b6040516100c59190610f46565b6101fd6101f38280610f7b565b83602001356107e6565b50565b5f610755565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181106101fd575f5f5260205ff35b5f60405183815284602082015285604082015260408160608360076107d05a03fa915081610265575f5f5260205ff35b825160408201526020830151606082015260408360808360066107d05a03fa91505080610294575f5f5260205ff35b5050505050565b7f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be485527f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd460208601525f608086018661033787357f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff66427f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f84610235565b61038760208801357f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b7f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34784610235565b6103d760408801357f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd67f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a784610235565b61042760608801357f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e827f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d84610235565b61047760808801357f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8097f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49384610235565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86101608201525f87015161018082015260205f018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c6102808201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e03336102a08201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d0307626102c08201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d36102e08201526020816103008360086107d05a03fa9051169695505050505050565b604051610380810160405261076c5f840135610206565b6107796020840135610206565b6107866040840135610206565b6107936060840135610206565b6107a06080840135610206565b6107ad60a0840135610206565b6107ba818486888a61029b565b9050805f5260205ff35b6107e084846107db6107d686866109fa565b610a86565b6107e6565b50505050565b6107f360045f8486610fc5565b6107fc91610fec565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461089f5761084360045f8486610fc5565b61084c91610fec565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b5f5f6108aa83610be0565b90925090505f6108bd8560048189610fc5565b8101906108ca91906110e1565b8051602080830151604080850151815160a0810183527f0000000000000000000000000000000000000000000000000000000000000000608090811c82527f0000000000000000000000000000000000000000000000000000000000000000811c9582019590955289851c8184015288851c60608201527f00000000000000000000000000000000000000000000000000000000000000009481019490945290516334baeab960e01b81529495505f9430946334baeab99461099294919391926004016111be565b602060405180830381865afa1580156109ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d19190611241565b9050806109f15760405163439cc0cd60e01b815260040160405180910390fd5b50505050505050565b610a02610dda565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b8152602001610a7b60405180604001604052808681526020015f5f1b815250610d45565b905290505b92915050565b5f600280604051610aaf907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa158015610aca573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610aed9190611274565b60608401518451602086015160808701516040880151516018906002811115610b1857610b18611260565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f1981840301815290829052610ba29161128b565b602060405180830381855afa158015610bbd573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a809190611274565b5f8080610d2b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b60408277ffffffffffffffff0000000000000000ffffffffffffffff1916901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b5f600280604051610d68906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa158015610d83573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610da69190611274565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610b88565b6040518060a001604052805f81526020015f8152602001610e0a604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610e2c575f5ffd5b813567ffffffffffffffff811115610e42575f5ffd5b820160408185031215610e53575f5ffd5b9392505050565b8060408101831015610a80575f5ffd5b5f5f5f5f6101a08587031215610e7e575f5ffd5b610e888686610e5a565b935060c0850186811115610e9a575f5ffd5b604086019350610eaa8782610e5a565b925050856101a086011115610ebd575f5ffd5b50919490935090916101000190565b5f5f5f5f60608587031215610edf575f5ffd5b843567ffffffffffffffff811115610ef5575f5ffd5b8501601f81018713610f05575f5ffd5b803567ffffffffffffffff811115610f1b575f5ffd5b876020828401011115610f2c575f5ffd5b602091820198909750908601359560400135945092505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f8335601e19843603018112610f90575f5ffd5b83018035915067ffffffffffffffff821115610faa575f5ffd5b602001915036819003821315610fbe575f5ffd5b9250929050565b5f5f85851115610fd3575f5ffd5b83861115610fdf575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561101d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561105b5761105b611024565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561108a5761108a611024565b604052919050565b5f82601f8301126110a1575f5ffd5b6110ab6040611061565b8060408401858111156110bc575f5ffd5b845b818110156110d65780358452602093840193016110be565b509095945050505050565b5f6101008284031280156110f3575f5ffd5b506110fc611038565b6111068484611092565b815283605f840112611116575f5ffd5b604061112181611061565b8060c0860187811115611132575f5ffd5b604087015b81811015611158576111498982611092565b84526020909301928401611137565b508160208601526111698882611092565b604086015250929695505050505050565b805f5b60028110156107e057815184526020938401939091019060010161117d565b805f5b60058110156107e057815184526020938401939091019060010161119f565b6101a081016111cd828761117a565b60408201855f5b600281101561121a578151835f5b60028110156112015782518252602092830192909101906001016111e2565b50505060409290920191602091909101906001016111d4565b50505061122a60c083018561117a565b61123861010083018461119c565b95945050505050565b5f60208284031215611251575f5ffd5b81518015158114610e53575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611284575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea26469706673582212202a001cf42514057842304ec6ca3a486e5970fa3eb64fd673c04a9333313cce3a64736f6c634300081c003360c060405234801561000f575f5ffd5b506040516107b43803806107b483398101604081905261002e9161018b565b816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906101c3565b6001600160a01b0316816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f791906101c3565b6001600160a01b03161461015d5760405162461bcd60e51b8152602060048201526024808201527f5665726966696572732073686f756c64207573652073616d65207265706f7369604482015263746f727960e01b606482015260840160405180910390fd5b6001600160a01b039182166080521660a0526101e5565b6001600160a01b0381168114610188575f5ffd5b50565b5f5f6040838503121561019c575f5ffd5b82516101a781610174565b60208401519092506101b881610174565b809150509250929050565b5f602082840312156101d3575f5ffd5b81516101de81610174565b9392505050565b60805160a05161059c6102185f395f818160530152818160d8015261024f01525f818160b301526101a3015261059c5ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806319f9dd0a1461004e5780633fd66f22146100915780634bc8e31c14610099578063d06da682146100ae575b5f5ffd5b6100757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100756100d5565b6100ac6100a73660046102f0565b61015b565b005b6100757f000000000000000000000000000000000000000000000000000000000000000081565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610132573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610348565b905090565b600161017661016f368790038701876103ed565b6040015190565b60018111156101875761018761036a565b0361020f576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c906101de908790879087908790600401610478565b5f6040518083038186803b1580156101f4575f5ffd5b505afa158015610206573d5f5f3e3d5ffd5b505050506102b7565b5f61022261016f368790038701876103ed565b60018111156102335761023361036a565b036102b7576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c9061028a908790879087908790600401610478565b5f6040518083038186803b1580156102a0575f5ffd5b505afa1580156102b2573d5f5f3e3d5ffd5b505050505b50505050565b6001600160a01b03811681146102d1575f5ffd5b50565b80356001600160e01b0319811681146102eb575f5ffd5b919050565b5f5f5f5f848603610260811215610305575f5ffd5b610200811215610313575f5ffd5b50849350610200840135925061022084013561032e816102bd565b915061033d61024086016102d4565b905092959194509250565b5f60208284031215610358575f5ffd5b8151610363816102bd565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156103b5576103b561037e565b60405290565b604051610100810167ffffffffffffffff811182821017156103b5576103b561037e565b8035600281106102eb575f5ffd5b5f6101408284031280156103ff575f5ffd5b50610408610392565b610411836102d4565b815283603f840112610421575f5ffd5b6104296103bb565b8061012085018681111561043b575f5ffd5b602086015b81811015610458578035845260209384019301610440565b50816020850152610468816103df565b6040850152509195945050505050565b61026081016001600160e01b031961048f876102d4565b1682526101006020870160208401376104ab61012087016103df565b600281106104c757634e487b7160e01b5f52602160045260245ffd5b610120830152610140868101359083015261016080870135908301526101808601356104f2816102bd565b6001600160a01b03166101808301526001600160e01b03196105176101a088016102d4565b166101a08301526101c086810135908301526101e0808701359083015261020082018590526001600160a01b0384166102208301526001600160e01b031983166102408301529594505050505056fea2646970667358221220ee2d9c330642bcbddbae38effa11507849f2fb7e8fa0c06c4df4d70ce445a27964736f6c634300081c0033a264697066735822122013e8d8edf588592ccda01d017c94841f35dd837746a8efb82de9efeae3b8495964736f6c634300081c0033";
20
- readonly sourceMap: "248:320:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;290:276;;;;;;:::i;:::-;;:::i;:::-;;;355:29;387:8;-1:-1:-1;;;;;387:17:56;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;387:37:56;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;355:71;;436:8;-1:-1:-1;;;;;436:25:56;;508:10;486:33;;;;;:::i;:::-;-1:-1:-1;;;;;1216:32:68;;;1198:51;;1186:2;1171:18;486:33:56;;;;;;;;;;;;;;;;;;;;;;;546:10;521:36;;;;;:::i;:::-;-1:-1:-1;;;;;1216:32:68;;;1198:51;;1186:2;1171:18;521:36:56;;;;;;;;;;;;;;;;;;;;;;;462:96;;;;;:::i;:::-;-1:-1:-1;;;;;1509:32:68;;;1491:51;;1578:32;;1573:2;1558:18;;1551:60;1479:2;1464:18;462:96:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;436:123:56;;-1:-1:-1;;;;;;436:123:56;;;;;;;-1:-1:-1;;;;;1216:32:68;;;436:123:56;;;1198:51:68;1171:18;;436:123:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:221;290:276;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:141:68:-;-1:-1:-1;;;;;99:31:68;;89:42;;79:70;;145:1;142;135:12;79:70;14:141;:::o;160:275::-;237:6;290:2;278:9;269:7;265:23;261:32;258:52;;;306:1;303;296:12;258:52;345:9;332:23;364:41;399:5;364:41;:::i;:::-;424:5;160:275;-1:-1:-1;;;160:275:68:o;440:285::-;534:6;587:2;575:9;566:7;562:23;558:32;555:52;;;603:1;600;593:12;555:52;635:9;629:16;654:41;689:5;654:41;:::i";
21
- readonly linkReferences: {};
22
- };
23
- readonly methodIdentifiers: {
24
- readonly "swapProofVerifier(address)": "f860554b";
25
- };
26
- readonly rawMetadata: "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract Verifier\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"swapProofVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/testing/TestVerifierRouterDeployer.sol\":\"TestVerifierRouterDeployer\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.0.1/=dependencies/@openzeppelin-contracts-5.0.1/\",\":@openzeppelin-contracts-5.1.0/=dependencies/risc0-ethereum-1.2.0/dependencies/@openzeppelin-contracts-5.1.0/\",\":forge-std-1.9.4/=dependencies/forge-std-1.9.4/\",\":forge-std/=dependencies/risc0-ethereum-1.2.0/dependencies/forge-std-1.9.4/src/\",\":openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.1/\",\":risc0-ethereum-1.2.0/=dependencies/risc0-ethereum-1.2.0/\"]},\"sources\":{\"dependencies/@openzeppelin-contracts-5.0.1/access/AccessControl.sol\":{\"keccak256\":\"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80\",\"dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z\"]},\"dependencies/@openzeppelin-contracts-5.0.1/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"dependencies/@openzeppelin-contracts-5.0.1/access/extensions/AccessControlEnumerable.sol\":{\"keccak256\":\"0xb1c906fcd870fc8dfedb63bfb1bc58b4d2a7469bc13cc44d996fda430693850a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd98c7779af61b220166cf952a05f6aca82ec859744d407d29043f8100adfb9c\",\"dweb:/ipfs/Qmd6ftRk6cJgdooybM6F1X26R4SSUeNksv6Gni2NwEnKDw\"]},\"dependencies/@openzeppelin-contracts-5.0.1/access/extensions/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xc1435f102633849858e75d7bed14c636f25448ceb3406d82992b0f2df52f4306\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce1815e3a1da24f91b8e2ec24cf09d0d46e0fbeddcbe2cb0d8b2e05b91ceb7b3\",\"dweb:/ipfs/QmYTy1AQB5EV5jwuGsB49yykng2oG3x5ss4bDjFNxk3He4\"]},\"dependencies/@openzeppelin-contracts-5.0.1/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"dependencies/@openzeppelin-contracts-5.0.1/utils/math/SafeCast.sol\":{\"keccak256\":\"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c\",\"dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj\"]},\"dependencies/@openzeppelin-contracts-5.0.1/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1\",\"dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA\"]},\"dependencies/risc0-ethereum-1.2.0/src/IRiscZeroSelectable.sol\":{\"keccak256\":\"0x39019bc9524b46ce9818d4d46a0fec57015ef0484858228bcb3b1c45efc7db19\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://964ecb93cae8853bf4781bdc8cb2cf1049dff5c052da6b798759487093b1c4ab\",\"dweb:/ipfs/QmXfKLM74E3Y4m5y4JiVJdZjmkzCmHPTqS1aqSJ9vdSXyA\"]},\"dependencies/risc0-ethereum-1.2.0/src/IRiscZeroVerifier.sol\":{\"keccak256\":\"0xae73e91e4d2829b0a88176584d876382b4b7540ff07c62cb947cdf9ea43d5cf3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f2dd7da39a6f9b100fc1dcde565d799462cdc7d27722d2265317c3a01619c818\",\"dweb:/ipfs/Qmd3k3kcvrtfkLqVza4jHodbFH8wvq5vmfPtwekBKtPjmz\"]},\"dependencies/risc0-ethereum-1.2.0/src/StructHash.sol\":{\"keccak256\":\"0xce612be2064752d2df89cfa2e9f73bba1ad891438d11d6fa7fc1285350b12fdd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5915dac04779e37024e87f723f9ee2eecc87e9e1162f37d73d5502aced9fb484\",\"dweb:/ipfs/QmRLFdpKoUZeNTNditFTrE72g7sryCVnERE14duRgXHSJs\"]},\"dependencies/risc0-ethereum-1.2.0/src/Util.sol\":{\"keccak256\":\"0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c\",\"dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg\"]},\"dependencies/risc0-ethereum-1.2.0/src/groth16/ControlID.sol\":{\"keccak256\":\"0xf54137d0a508d47c0ecb9d4f1ab478726d79b97943e48ca3abcb47d3fdfd8f95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9563419ad6cd8ddadd12c2714ff06395d0cae6b330dec77fc943b7097494bea7\",\"dweb:/ipfs/QmRCPFrtzu8RZJe3YnwKK6YwhJLih23T4gag1smnzHT5W8\"]},\"dependencies/risc0-ethereum-1.2.0/src/groth16/Groth16Verifier.sol\":{\"keccak256\":\"0xaadc5747c8c88bba828e692020e880ef31d38964d3e419099e3d3a194312ea62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0ad76c8785d08afaf315d027f6e3031c3200760c872de66f5a02d8a4364b228\",\"dweb:/ipfs/QmW2kF7ukKqstmCT5M33U8bvw3AXqP8yaCbWycb7v4Nsef\"]},\"dependencies/risc0-ethereum-1.2.0/src/groth16/RiscZeroGroth16Verifier.sol\":{\"keccak256\":\"0x2eaa58d71a6f53446dc2889279cfec755541970ae8b07f1adced29481b75d5ac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ede637fde23140c135ae3bf7545a29071f80ae4d143491da4b8797b99dffcd78\",\"dweb:/ipfs/QmX4P3R6ktbdy4bfcJ92GfzUfLw8PC8RAH65Yhpa7dnqS4\"]},\"dependencies/risc0-ethereum-1.2.0/src/test/RiscZeroMockVerifier.sol\":{\"keccak256\":\"0x78d0c64eed6d901237c1e9f3a6cffe0a7632ff68b3f571b72e00f43322621453\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://290d76f572ffc0537155f26b1447ac4a1e690409a6d1d92d84b8ecb6a4ac60ac\",\"dweb:/ipfs/QmQ7rgKtTRaKjzYGZLfgJUFCDCWGMNPr6rWNc5AdDrX4JA\"]},\"src/CallAssumptions.sol\":{\"keccak256\":\"0xc3d0b9470794038f8018094138ab2d6fae7d639b8e213889a1a591f92f855025\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a14b286d81c22817c91a87bece4e6a038fcfb798179fcbc782f7dd8fc9e174b7\",\"dweb:/ipfs/QmPZTBbCHZfscMYaqfuQ3WiVdKbBemj5wpgb8bFhygGj8K\"]},\"src/ImageID.sol\":{\"keccak256\":\"0x67c283741512f5c2f0e2d4090ad054310a9b4ce6fe6057458433d5f72f5c6785\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://03ea4b9d7b379b89d9bf266afb0f275deb102e8f094984112be1aed65c8fa824\",\"dweb:/ipfs/QmZJgs2zuyRym7nYmsrD7F1eu3UEe5thboXZbG6p9a7nvm\"]},\"src/Proof.sol\":{\"keccak256\":\"0x32db566314f73f696e2ff0839ca7a41c9f04d74c96f2d8604c53f92dccfa3a43\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2ea032ed2a364dd97eeebe7df93cf252913284ea76a1fa1478d9436a916a83f3\",\"dweb:/ipfs/QmW873QftHexSzpEqmAVJ9vUd1cJD584qTa7mzqkhhipMZ\"]},\"src/Repository.sol\":{\"keccak256\":\"0xd346825794a205b260f3e58e83ced657fffd0819fe78e24e96310f34fc9f5a0d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8185cb6e16f51ff98aa9bb2e0cc003bc1bea796ebc6425a114bb1b767123a928\",\"dweb:/ipfs/Qmb5UppxkVtDePuMs8Kj3SDgw2oPYcDEtZH81CKrXLhZku\"]},\"src/Seal.sol\":{\"keccak256\":\"0xa61c6146260bd3006392ec7b91bfb46c1d73493ff5a01c9ce702b8c90f1a392c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ebf725dc623c0b6d3f8e74c2eb625d662303c22ba646fab710a4fbdf20d5e3c3\",\"dweb:/ipfs/Qmat3kzvD19kLMHRmomknHzJnDdQfyU5pQDbhP5BsZTSvg\"]},\"src/Verifier.sol\":{\"keccak256\":\"0xfdbfa77a7d7a3140e479725f3095d3fbb6c2645f4fb2813f6b4009069e7bf5d6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0858955f429f8d64162c20d443c5e31edbe1bcffea240dfe7542a4c926764e4b\",\"dweb:/ipfs/QmbmYfqgfuM8gzqnYkXVX7vjMYfbUv7NcnUgSzUSxzPqNR\"]},\"src/proof_verifier/ChainId.sol\":{\"keccak256\":\"0x755479916bf59498ad41df7f120f3a0b8da0ec1d00a3ea96024d8647011a73e2\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3fca7683409d8ab96c18c0616c7a1de692282e9d1b5d7006649960c3dffe964e\",\"dweb:/ipfs/QmNo77eW4FTV7knkxgMf8z9pvb9A7xQf5eoARtcPPffjn6\"]},\"src/proof_verifier/FakeProofVerifier.sol\":{\"keccak256\":\"0x12727eeb39e9fb2f95a80cd79865701a86bb11f5220a1b30ad94f5f8f04e658f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://af702f85ff6101562fd768c604480981377b94c66657efa5f2cfc59716f25df1\",\"dweb:/ipfs/QmUrZz1CzgGQQH8LaWg3cKVqH9BuDuBfhX38mq66YFQZKo\"]},\"src/proof_verifier/Groth16ProofVerifier.sol\":{\"keccak256\":\"0x9d20d28f7281d6d7cae608e3e07f485a1ebab01385ea6f6c9f14732388ca19e5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0222b49b98a410ceaaf3780e57527b85f529977dd0ff3e978fda1963d1b61e02\",\"dweb:/ipfs/QmbWuATM3kezBjPaYws1Czbqd5NPDnRkAKPvwHSBXANsQw\"]},\"src/proof_verifier/IProofVerifier.sol\":{\"keccak256\":\"0xf48514ae0258f907c64cafb92d583cdbe704b4c0269da56f7336c3ec5bab0e82\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a79c7bd455e908906b557c6cc7db2b6ec77d9f650a1ac0f4295c68e95894e193\",\"dweb:/ipfs/QmdLufVnM7uAVWLtVwdVKsLMVg2b1iKWKLN9AdJYAy4JHP\"]},\"src/proof_verifier/ProofVerifierBase.sol\":{\"keccak256\":\"0x66f28abed63945dc6055e605176bc38da3f7fe040f7f42b1ef79c9030f2d4e75\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://76fa3565277af4edd785cb55778cd71959288ecd1c87634b16ae3a053e1a006d\",\"dweb:/ipfs/QmVarQXiK5KtLmzNo7ben9gPCHqXspfe29LApcEumgv7cD\"]},\"src/proof_verifier/ProofVerifierFactory.sol\":{\"keccak256\":\"0xb0db7422a77c3484e9eb4980495dbcad0de8ba28c558aaadddaa6c33983e1b76\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://30bb192846a9066cd17e4d4bf9a3a44e521b6fd83975a9f3f3785d6871d97227\",\"dweb:/ipfs/QmR9dVXqBsasgXwRHPyG6ju5ZiQBzhtV9wJW7qUQV7GD7T\"]},\"src/proof_verifier/ProofVerifierRouter.sol\":{\"keccak256\":\"0x57847e7cfea1dea540f57906316f8dcfc5116ed9d3e7f8eb44c6ffaf7345f446\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ec1dafe1aec7724dbcf1b7fd1a9996e32a6366da759c07acfda408c29e63bd81\",\"dweb:/ipfs/QmcvqbizyceFHECiBCesJY3TbbZdGx4PiDm5zFzwtaMZA1\"]},\"src/testing/TestVerifierRouterDeployer.sol\":{\"keccak256\":\"0xdd9a9de9e71103662fa9bbf924f9b7327f01c0c83a415a270b270f9156200649\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://23ef69e70387fe395a035f3597f0ee95a3bce66125281fbe3ad6774c8e9309b7\",\"dweb:/ipfs/QmSPTSS427MDu2eQ6xcxhcfHhvgXWWZ8o6WtYo5Hwv1p9b\"]}},\"version\":1}";
27
- readonly metadata: {
28
- readonly compiler: {
29
- readonly version: "0.8.28+commit.7893614a";
30
- };
31
- readonly language: "Solidity";
32
- readonly output: {
33
- readonly abi: readonly [{
34
- readonly inputs: readonly [{
35
- readonly internalType: "contract Verifier";
36
- readonly name: "verifier";
37
- readonly type: "address";
38
- }];
39
- readonly stateMutability: "nonpayable";
40
- readonly type: "function";
41
- readonly name: "swapProofVerifier";
42
- }];
43
- readonly devdoc: {
44
- readonly kind: "dev";
45
- readonly methods: {};
46
- readonly version: 1;
47
- };
48
- readonly userdoc: {
49
- readonly kind: "user";
50
- readonly methods: {};
51
- readonly version: 1;
52
- };
53
- };
54
- readonly settings: {
55
- readonly remappings: readonly ["@openzeppelin-contracts-5.0.1/=dependencies/@openzeppelin-contracts-5.0.1/", "@openzeppelin-contracts-5.1.0/=dependencies/risc0-ethereum-1.2.0/dependencies/@openzeppelin-contracts-5.1.0/", "forge-std-1.9.4/=dependencies/forge-std-1.9.4/", "forge-std/=dependencies/risc0-ethereum-1.2.0/dependencies/forge-std-1.9.4/src/", "openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.1/", "risc0-ethereum-1.2.0/=dependencies/risc0-ethereum-1.2.0/"];
56
- readonly optimizer: {
57
- readonly enabled: true;
58
- readonly runs: 200;
59
- };
60
- readonly metadata: {
61
- readonly bytecodeHash: "ipfs";
62
- };
63
- readonly compilationTarget: {
64
- readonly "src/testing/TestVerifierRouterDeployer.sol": "TestVerifierRouterDeployer";
65
- };
66
- readonly evmVersion: "cancun";
67
- readonly libraries: {};
68
- };
69
- readonly sources: {
70
- readonly "dependencies/@openzeppelin-contracts-5.0.1/access/AccessControl.sol": {
71
- readonly keccak256: "0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308";
72
- readonly urls: readonly ["bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80", "dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z"];
73
- readonly license: "MIT";
74
- };
75
- readonly "dependencies/@openzeppelin-contracts-5.0.1/access/IAccessControl.sol": {
76
- readonly keccak256: "0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41";
77
- readonly urls: readonly ["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26", "dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"];
78
- readonly license: "MIT";
79
- };
80
- readonly "dependencies/@openzeppelin-contracts-5.0.1/access/extensions/AccessControlEnumerable.sol": {
81
- readonly keccak256: "0xb1c906fcd870fc8dfedb63bfb1bc58b4d2a7469bc13cc44d996fda430693850a";
82
- readonly urls: readonly ["bzz-raw://bd98c7779af61b220166cf952a05f6aca82ec859744d407d29043f8100adfb9c", "dweb:/ipfs/Qmd6ftRk6cJgdooybM6F1X26R4SSUeNksv6Gni2NwEnKDw"];
83
- readonly license: "MIT";
84
- };
85
- readonly "dependencies/@openzeppelin-contracts-5.0.1/access/extensions/IAccessControlEnumerable.sol": {
86
- readonly keccak256: "0xc1435f102633849858e75d7bed14c636f25448ceb3406d82992b0f2df52f4306";
87
- readonly urls: readonly ["bzz-raw://ce1815e3a1da24f91b8e2ec24cf09d0d46e0fbeddcbe2cb0d8b2e05b91ceb7b3", "dweb:/ipfs/QmYTy1AQB5EV5jwuGsB49yykng2oG3x5ss4bDjFNxk3He4"];
88
- readonly license: "MIT";
89
- };
90
- readonly "dependencies/@openzeppelin-contracts-5.0.1/utils/Context.sol": {
91
- readonly keccak256: "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2";
92
- readonly urls: readonly ["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12", "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"];
93
- readonly license: "MIT";
94
- };
95
- readonly "dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/ERC165.sol": {
96
- readonly keccak256: "0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133";
97
- readonly urls: readonly ["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8", "dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"];
98
- readonly license: "MIT";
99
- };
100
- readonly "dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/IERC165.sol": {
101
- readonly keccak256: "0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b";
102
- readonly urls: readonly ["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df", "dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"];
103
- readonly license: "MIT";
104
- };
105
- readonly "dependencies/@openzeppelin-contracts-5.0.1/utils/math/SafeCast.sol": {
106
- readonly keccak256: "0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe";
107
- readonly urls: readonly ["bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c", "dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj"];
108
- readonly license: "MIT";
109
- };
110
- readonly "dependencies/@openzeppelin-contracts-5.0.1/utils/structs/EnumerableSet.sol": {
111
- readonly keccak256: "0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa";
112
- readonly urls: readonly ["bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1", "dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA"];
113
- readonly license: "MIT";
114
- };
115
- readonly "dependencies/risc0-ethereum-1.2.0/src/IRiscZeroSelectable.sol": {
116
- readonly keccak256: "0x39019bc9524b46ce9818d4d46a0fec57015ef0484858228bcb3b1c45efc7db19";
117
- readonly urls: readonly ["bzz-raw://964ecb93cae8853bf4781bdc8cb2cf1049dff5c052da6b798759487093b1c4ab", "dweb:/ipfs/QmXfKLM74E3Y4m5y4JiVJdZjmkzCmHPTqS1aqSJ9vdSXyA"];
118
- readonly license: "Apache-2.0";
119
- };
120
- readonly "dependencies/risc0-ethereum-1.2.0/src/IRiscZeroVerifier.sol": {
121
- readonly keccak256: "0xae73e91e4d2829b0a88176584d876382b4b7540ff07c62cb947cdf9ea43d5cf3";
122
- readonly urls: readonly ["bzz-raw://f2dd7da39a6f9b100fc1dcde565d799462cdc7d27722d2265317c3a01619c818", "dweb:/ipfs/Qmd3k3kcvrtfkLqVza4jHodbFH8wvq5vmfPtwekBKtPjmz"];
123
- readonly license: "Apache-2.0";
124
- };
125
- readonly "dependencies/risc0-ethereum-1.2.0/src/StructHash.sol": {
126
- readonly keccak256: "0xce612be2064752d2df89cfa2e9f73bba1ad891438d11d6fa7fc1285350b12fdd";
127
- readonly urls: readonly ["bzz-raw://5915dac04779e37024e87f723f9ee2eecc87e9e1162f37d73d5502aced9fb484", "dweb:/ipfs/QmRLFdpKoUZeNTNditFTrE72g7sryCVnERE14duRgXHSJs"];
128
- readonly license: "Apache-2.0";
129
- };
130
- readonly "dependencies/risc0-ethereum-1.2.0/src/Util.sol": {
131
- readonly keccak256: "0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82";
132
- readonly urls: readonly ["bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c", "dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg"];
133
- readonly license: "Apache-2.0";
134
- };
135
- readonly "dependencies/risc0-ethereum-1.2.0/src/groth16/ControlID.sol": {
136
- readonly keccak256: "0xf54137d0a508d47c0ecb9d4f1ab478726d79b97943e48ca3abcb47d3fdfd8f95";
137
- readonly urls: readonly ["bzz-raw://9563419ad6cd8ddadd12c2714ff06395d0cae6b330dec77fc943b7097494bea7", "dweb:/ipfs/QmRCPFrtzu8RZJe3YnwKK6YwhJLih23T4gag1smnzHT5W8"];
138
- readonly license: "Apache-2.0";
139
- };
140
- readonly "dependencies/risc0-ethereum-1.2.0/src/groth16/Groth16Verifier.sol": {
141
- readonly keccak256: "0xaadc5747c8c88bba828e692020e880ef31d38964d3e419099e3d3a194312ea62";
142
- readonly urls: readonly ["bzz-raw://a0ad76c8785d08afaf315d027f6e3031c3200760c872de66f5a02d8a4364b228", "dweb:/ipfs/QmW2kF7ukKqstmCT5M33U8bvw3AXqP8yaCbWycb7v4Nsef"];
143
- readonly license: "GPL-3.0";
144
- };
145
- readonly "dependencies/risc0-ethereum-1.2.0/src/groth16/RiscZeroGroth16Verifier.sol": {
146
- readonly keccak256: "0x2eaa58d71a6f53446dc2889279cfec755541970ae8b07f1adced29481b75d5ac";
147
- readonly urls: readonly ["bzz-raw://ede637fde23140c135ae3bf7545a29071f80ae4d143491da4b8797b99dffcd78", "dweb:/ipfs/QmX4P3R6ktbdy4bfcJ92GfzUfLw8PC8RAH65Yhpa7dnqS4"];
148
- readonly license: "GPL-3.0";
149
- };
150
- readonly "dependencies/risc0-ethereum-1.2.0/src/test/RiscZeroMockVerifier.sol": {
151
- readonly keccak256: "0x78d0c64eed6d901237c1e9f3a6cffe0a7632ff68b3f571b72e00f43322621453";
152
- readonly urls: readonly ["bzz-raw://290d76f572ffc0537155f26b1447ac4a1e690409a6d1d92d84b8ecb6a4ac60ac", "dweb:/ipfs/QmQ7rgKtTRaKjzYGZLfgJUFCDCWGMNPr6rWNc5AdDrX4JA"];
153
- readonly license: "Apache-2.0";
154
- };
155
- readonly "src/CallAssumptions.sol": {
156
- readonly keccak256: "0xc3d0b9470794038f8018094138ab2d6fae7d639b8e213889a1a591f92f855025";
157
- readonly urls: readonly ["bzz-raw://a14b286d81c22817c91a87bece4e6a038fcfb798179fcbc782f7dd8fc9e174b7", "dweb:/ipfs/QmPZTBbCHZfscMYaqfuQ3WiVdKbBemj5wpgb8bFhygGj8K"];
158
- readonly license: "Apache-2.0";
159
- };
160
- readonly "src/ImageID.sol": {
161
- readonly keccak256: "0x67c283741512f5c2f0e2d4090ad054310a9b4ce6fe6057458433d5f72f5c6785";
162
- readonly urls: readonly ["bzz-raw://03ea4b9d7b379b89d9bf266afb0f275deb102e8f094984112be1aed65c8fa824", "dweb:/ipfs/QmZJgs2zuyRym7nYmsrD7F1eu3UEe5thboXZbG6p9a7nvm"];
163
- readonly license: "Apache-2.0";
164
- };
165
- readonly "src/Proof.sol": {
166
- readonly keccak256: "0x32db566314f73f696e2ff0839ca7a41c9f04d74c96f2d8604c53f92dccfa3a43";
167
- readonly urls: readonly ["bzz-raw://2ea032ed2a364dd97eeebe7df93cf252913284ea76a1fa1478d9436a916a83f3", "dweb:/ipfs/QmW873QftHexSzpEqmAVJ9vUd1cJD584qTa7mzqkhhipMZ"];
168
- readonly license: "UNLICENSED";
169
- };
170
- readonly "src/Repository.sol": {
171
- readonly keccak256: "0xd346825794a205b260f3e58e83ced657fffd0819fe78e24e96310f34fc9f5a0d";
172
- readonly urls: readonly ["bzz-raw://8185cb6e16f51ff98aa9bb2e0cc003bc1bea796ebc6425a114bb1b767123a928", "dweb:/ipfs/Qmb5UppxkVtDePuMs8Kj3SDgw2oPYcDEtZH81CKrXLhZku"];
173
- readonly license: "UNLICENSED";
174
- };
175
- readonly "src/Seal.sol": {
176
- readonly keccak256: "0xa61c6146260bd3006392ec7b91bfb46c1d73493ff5a01c9ce702b8c90f1a392c";
177
- readonly urls: readonly ["bzz-raw://ebf725dc623c0b6d3f8e74c2eb625d662303c22ba646fab710a4fbdf20d5e3c3", "dweb:/ipfs/Qmat3kzvD19kLMHRmomknHzJnDdQfyU5pQDbhP5BsZTSvg"];
178
- readonly license: "UNLICENSED";
179
- };
180
- readonly "src/Verifier.sol": {
181
- readonly keccak256: "0xfdbfa77a7d7a3140e479725f3095d3fbb6c2645f4fb2813f6b4009069e7bf5d6";
182
- readonly urls: readonly ["bzz-raw://0858955f429f8d64162c20d443c5e31edbe1bcffea240dfe7542a4c926764e4b", "dweb:/ipfs/QmbmYfqgfuM8gzqnYkXVX7vjMYfbUv7NcnUgSzUSxzPqNR"];
183
- readonly license: "UNLICENSED";
184
- };
185
- readonly "src/proof_verifier/ChainId.sol": {
186
- readonly keccak256: "0x755479916bf59498ad41df7f120f3a0b8da0ec1d00a3ea96024d8647011a73e2";
187
- readonly urls: readonly ["bzz-raw://3fca7683409d8ab96c18c0616c7a1de692282e9d1b5d7006649960c3dffe964e", "dweb:/ipfs/QmNo77eW4FTV7knkxgMf8z9pvb9A7xQf5eoARtcPPffjn6"];
188
- readonly license: "UNLICENSED";
189
- };
190
- readonly "src/proof_verifier/FakeProofVerifier.sol": {
191
- readonly keccak256: "0x12727eeb39e9fb2f95a80cd79865701a86bb11f5220a1b30ad94f5f8f04e658f";
192
- readonly urls: readonly ["bzz-raw://af702f85ff6101562fd768c604480981377b94c66657efa5f2cfc59716f25df1", "dweb:/ipfs/QmUrZz1CzgGQQH8LaWg3cKVqH9BuDuBfhX38mq66YFQZKo"];
193
- readonly license: "UNLICENSED";
194
- };
195
- readonly "src/proof_verifier/Groth16ProofVerifier.sol": {
196
- readonly keccak256: "0x9d20d28f7281d6d7cae608e3e07f485a1ebab01385ea6f6c9f14732388ca19e5";
197
- readonly urls: readonly ["bzz-raw://0222b49b98a410ceaaf3780e57527b85f529977dd0ff3e978fda1963d1b61e02", "dweb:/ipfs/QmbWuATM3kezBjPaYws1Czbqd5NPDnRkAKPvwHSBXANsQw"];
198
- readonly license: "UNLICENSED";
199
- };
200
- readonly "src/proof_verifier/IProofVerifier.sol": {
201
- readonly keccak256: "0xf48514ae0258f907c64cafb92d583cdbe704b4c0269da56f7336c3ec5bab0e82";
202
- readonly urls: readonly ["bzz-raw://a79c7bd455e908906b557c6cc7db2b6ec77d9f650a1ac0f4295c68e95894e193", "dweb:/ipfs/QmdLufVnM7uAVWLtVwdVKsLMVg2b1iKWKLN9AdJYAy4JHP"];
203
- readonly license: "UNLICENSED";
204
- };
205
- readonly "src/proof_verifier/ProofVerifierBase.sol": {
206
- readonly keccak256: "0x66f28abed63945dc6055e605176bc38da3f7fe040f7f42b1ef79c9030f2d4e75";
207
- readonly urls: readonly ["bzz-raw://76fa3565277af4edd785cb55778cd71959288ecd1c87634b16ae3a053e1a006d", "dweb:/ipfs/QmVarQXiK5KtLmzNo7ben9gPCHqXspfe29LApcEumgv7cD"];
208
- readonly license: "UNLICENSED";
209
- };
210
- readonly "src/proof_verifier/ProofVerifierFactory.sol": {
211
- readonly keccak256: "0xb0db7422a77c3484e9eb4980495dbcad0de8ba28c558aaadddaa6c33983e1b76";
212
- readonly urls: readonly ["bzz-raw://30bb192846a9066cd17e4d4bf9a3a44e521b6fd83975a9f3f3785d6871d97227", "dweb:/ipfs/QmR9dVXqBsasgXwRHPyG6ju5ZiQBzhtV9wJW7qUQV7GD7T"];
213
- readonly license: "UNLICENSED";
214
- };
215
- readonly "src/proof_verifier/ProofVerifierRouter.sol": {
216
- readonly keccak256: "0x57847e7cfea1dea540f57906316f8dcfc5116ed9d3e7f8eb44c6ffaf7345f446";
217
- readonly urls: readonly ["bzz-raw://ec1dafe1aec7724dbcf1b7fd1a9996e32a6366da759c07acfda408c29e63bd81", "dweb:/ipfs/QmcvqbizyceFHECiBCesJY3TbbZdGx4PiDm5zFzwtaMZA1"];
218
- readonly license: "UNLICENSED";
219
- };
220
- readonly "src/testing/TestVerifierRouterDeployer.sol": {
221
- readonly keccak256: "0xdd9a9de9e71103662fa9bbf924f9b7327f01c0c83a415a270b270f9156200649";
222
- readonly urls: readonly ["bzz-raw://23ef69e70387fe395a035f3597f0ee95a3bce66125281fbe3ad6774c8e9309b7", "dweb:/ipfs/QmSPTSS427MDu2eQ6xcxhcfHhvgXWWZ8o6WtYo5Hwv1p9b"];
223
- readonly license: "UNLICENSED";
224
- };
225
- };
226
- readonly version: 1;
227
- };
228
- readonly id: 56;
229
- };
230
- export default _default;
231
- //# sourceMappingURL=TestVerifierRouterDeployer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestVerifierRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/abi/TestVerifierRouterDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA0XE"}
@@ -1,338 +0,0 @@
1
- export default {
2
- abi: [
3
- {
4
- type: "function",
5
- name: "swapProofVerifier",
6
- inputs: [
7
- {
8
- name: "verifier",
9
- type: "address",
10
- internalType: "contract Verifier",
11
- },
12
- ],
13
- outputs: [],
14
- stateMutability: "nonpayable",
15
- },
16
- ],
17
- bytecode: {
18
- object: "0x6080604052348015600e575f5ffd5b50614d448061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063f860554b1461002d575b5f5ffd5b61004061003b366004610254565b610042565b005b5f816001600160a01b0316632b7ac3f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610276565b6001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100de573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101029190610276565b9050816001600160a01b0316639b8b30c88260405161012090610216565b6001600160a01b039091168152602001604051809103905ff080158015610149573d5f5f3e3d5ffd5b508360405161015790610223565b6001600160a01b039091168152602001604051809103905ff080158015610180573d5f5f3e3d5ffd5b5060405161018d90610230565b6001600160a01b03928316815291166020820152604001604051809103905ff0801580156101bd573d5f5f3e3d5ffd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b1580156101fc575f5ffd5b505af115801561020e573d5f5f3e3d5ffd5b505050505050565b6113ad8061029283390190565b612f1c8061163f83390190565b6107b48061455b83390190565b6001600160a01b0381168114610251575f5ffd5b50565b5f60208284031215610264575f5ffd5b813561026f8161023d565b9392505050565b5f60208284031215610286575f5ffd5b815161026f8161023d56fe60e060405234801561000f575f5ffd5b506040516113ad3803806113ad83398101604081905261002e91610115565b6001600160a01b03811660c0526100436100b8565b1561006157604051633d23e4d160e11b815260040160405180910390fd5b60405163deafbeef60e01b9061007690610108565b6001600160e01b03199091168152602001604051809103905ff0801580156100a0573d5f5f3e3d5ffd5b506001600160a01b031660a052506001608052610142565b5f46600114806100c8575046600a145b806100d4575046612105145b806100e057504661a4b1145b806100ec57504661a4ba145b806100f75750466089145b80610103575046610144145b905090565b6108af80610afe83390190565b5f60208284031215610125575f5ffd5b81516001600160a01b038116811461013b575f5ffd5b9392505050565b60805160a05160c0516109796101855f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea264697066735822122054c192be77332b47bb8956220352d1dd1dd666eea70bf7f7563c1e39af378abf64736f6c634300081c003360a060405234801561000f575f5ffd5b506040516108af3803806108af83398101604081905261002e91610040565b6001600160e01b03191660805261006e565b5f60208284031215610050575f5ffd5b81516001600160e01b031981168114610067575f5ffd5b9392505050565b6080516108166100995f395f8181605e0152818160ea015281816101f4015261025801526108165ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063053c238d146100595780631599ead51461009e5780633a115bb1146100b357806366cf0e4b14610145578063ab750e7514610158575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100b16100ac3660046105b6565b61016b565b005b6101386100c13660046105ed565b60408051808201909152606081525f6020820152604080518082019091526001600160e01b03197f000000000000000000000000000000000000000000000000000000000000000016606082015260648101839052806084810160408051601f198184030181529190528152602001929092525090565b6040516100959190610604565b61013861015336600461064d565b610185565b6100b161016636600461066d565b6101b5565b61018261017882806106e7565b83602001356101d2565b50565b60408051808201909152606081525f60208201526101ae6100c16101a985856102f5565b61037f565b9392505050565b6101cc84846101c76101a986866102f5565b6101d2565b50505050565b6101df60045f8486610731565b6101e891610758565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461028b5761022f60045f8486610731565b61023891610758565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60408051602081018390520160408051601f1981840301815291905280516020909101206102bc8360048187610731565b6040516102ca929190610790565b6040518091039020146102f05760405163439cc0cd60e01b815260040160405180910390fd5b505050565b6102fd610574565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161037660405180604001604052808681526020015f5f1b8152506104df565b90529392505050565b5f6002806040516103a8907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa1580156103c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103e691906107b3565b606084015184516020860151608087015160408801515160189060028111156104115761041161079f565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261049b916107ca565b602060405180830381855afa1580156104b6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104d991906107b3565b92915050565b5f600280604051610502906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561051d573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061054091906107b3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610481565b6040518060a001604052805f81526020015f81526020016105a4604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f602082840312156105c6575f5ffd5b813567ffffffffffffffff8111156105dc575f5ffd5b8201604081850312156101ae575f5ffd5b5f602082840312156105fd575f5ffd5b5035919050565b602081525f82516040602084015280518060608501528060208301608086015e5f60808286010152602085015160408501526080601f19601f8301168501019250505092915050565b5f5f6040838503121561065e575f5ffd5b50508035926020909101359150565b5f5f5f5f60608587031215610680575f5ffd5b843567ffffffffffffffff811115610696575f5ffd5b8501601f810187136106a6575f5ffd5b803567ffffffffffffffff8111156106bc575f5ffd5b8760208284010111156106cd575f5ffd5b602091820198909750908601359560400135945092505050565b5f5f8335601e198436030181126106fc575f5ffd5b83018035915067ffffffffffffffff821115610716575f5ffd5b60200191503681900382131561072a575f5ffd5b9250929050565b5f5f8585111561073f575f5ffd5b8386111561074b575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610789576001600160e01b0319600485900360031b81901b82161691505b5092915050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f602082840312156107c3575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220f60a9ae93de91b6b9140b6bf34d600015071e7e66bd3163c0cda0da6cc20f2b464736f6c634300081c003360e060405234801561000f575f5ffd5b50604051612f1c380380612f1c83398101604081905261002e916100d3565b6001600160a01b03811660c0525f6080526040517f8cdad9242664be3112aba377c5425a4df735eb1c6966472b561d2855932c0469907f04446e66d300eb7fb45c9726bb53c793dda407a62e9601618bb43c5c14657ac09061008f906100c6565b9182526020820152604001604051809103905ff0801580156100b3573d5f5f3e3d5ffd5b506001600160a01b031660a05250610100565b61246080610abc83390190565b5f602082840312156100e3575f5ffd5b81516001600160a01b03811681146100f9575f5ffd5b9392505050565b60805160a05160c0516109796101435f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea2646970667358221220872fbb54f457541ca9955a3cec7fbd47c888fe38acad5aebd93b4d0c52e3c0d464736f6c634300081c0033610100604052348015610010575f5ffd5b5060405161246038038061246083398101604081905261002f91611047565b610038826102b9565b6001600160801b031990811660a0521660805260c08190526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b60208201526002908190602601602060405180830381855afa1580156100a8573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906100cb9190611069565b8361021b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b610223610425565b60408051602081019590955284019290925260608301526080820152600360f81b60a082015260a20160408051601f198184030181529082905261026691611097565b602060405180830381855afa158015610281573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906102a49190611069565b6001600160e01b03191660e052506111359050565b5f808061040b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b60408051600680825260e082019092525f918291906020820160c08036833701905050905060027f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be47f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd46040516020016104a8929190918252602082015260400190565b60408051601f19818403018152908290526104c291611097565b602060405180830381855afa1580156104dd573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105009190611069565b815f81518110610512576105126110a9565b60200260200101818152505060027f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f7f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff664260405160200161057c929190918252602082015260400190565b60408051601f198184030181529082905261059691611097565b602060405180830381855afa1580156105b1573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105d49190611069565b816001815181106105e7576105e76110a9565b60200260200101818152505060027f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc3477f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b604051602001610651929190918252602082015260400190565b60408051601f198184030181529082905261066b91611097565b602060405180830381855afa158015610686573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106a99190611069565b816002815181106106bc576106bc6110a9565b60200260200101818152505060027f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a77f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd6604051602001610726929190918252602082015260400190565b60408051601f198184030181529082905261074091611097565b602060405180830381855afa15801561075b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061077e9190611069565b81600381518110610791576107916110a9565b60200260200101818152505060027f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d7f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e826040516020016107fb929190918252602082015260400190565b60408051601f198184030181529082905261081591611097565b602060405180830381855afa158015610830573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108539190611069565b81600481518110610866576108666110a9565b60200260200101818152505060027f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d4937f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8096040516020016108d0929190918252602082015260400190565b60408051601f19818403018152908290526108ea91611097565b602060405180830381855afa158015610905573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109289190611069565b8160058151811061093b5761093b6110a9565b60200260200101818152505060028060405161097a907f72697363305f67726f746831362e566572696679696e674b65790000000000008152601a0190565b602060405180830381855afa158015610995573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109b89190611069565b60027f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e27f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d1926604051602001610a16929190918252602082015260400190565b60408051601f1981840301815290829052610a3091611097565b602060405180830381855afa158015610a4b573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a6e9190611069565b604080517f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c60208201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab918101919091527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a760608201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8608082015260029060a00160408051601f1981840301815290829052610b2c91611097565b602060405180830381855afa158015610b47573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b6a9190611069565b604080517f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260208201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed918101919091527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60608201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa608082015260029060a00160408051601f1981840301815290829052610c2891611097565b602060405180830381855afa158015610c43573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c669190611069565b604080517f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c60208201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e0333918101919091527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d03076260608201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d3608082015260029060a00160408051601f1981840301815290829052610d2491611097565b602060405180830381855afa158015610d3f573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610d629190611069565b610ddb6002604051610d97907f72697363305f67726f746831362e566572696679696e674b65792e49430000008152601d0190565b602060405180830381855afa158015610db2573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610dd59190611069565b88610e6f565b6040805160208101979097528601949094526060850192909252608084015260a083015260c0820152600560f81b60e082015260e20160408051601f1981840301815290829052610e2b91611097565b602060405180830381855afa158015610e46573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610e699190611069565b91505090565b5f80805b8351811015610ec857610ebe85858360018851610e9091906110bd565b610e9a91906110bd565b81518110610eaa57610eaa6110a9565b602002602001015184610ed260201b60201c565b9150600101610e73565b5090505b92915050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110610f0957610f096110a9565b6020026020010181815250508281600181518110610f2957610f296110a9565b6020908102919091010152610f3e8582610f47565b95945050505050565b604080515f80825260208201909252610f61848483610f69565b949350505050565b5f5f610f7b845161101160201b60201c565b90505f60088261ffff16901c60088361ffff16901b1760f01b9050600286868684604051602001610faf94939291906110dc565b60408051601f1981840301815290829052610fc991611097565b602060405180830381855afa158015610fe4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110079190611069565b9695505050505050565b5f61ffff821115611043576040516306dfcc6560e41b8152601060048201526024810183905260440160405180910390fd5b5090565b5f5f60408385031215611058575f5ffd5b505080516020909101519092909150565b5f60208284031215611079575f5ffd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6110a28284611080565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610ecc57634e487b7160e01b5f52601160045260245ffd5b8481525f602082018551602087015f5b8281101561110a5781518452602093840193909101906001016110ec565b5050506111178186611080565b6001600160f01b031994909416845250506002909101949350505050565b60805160a05160c05160e0516112d76111895f395f8181608e01528181610808015261086c01525f818160e8015261094301525f8181610140015261090a01525f818161018001526108e201526112d75ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638989fa2e116100585780638989fa2e1461013b5780639181e4b11461017b578063ab750e75146101a2578063ffa1ad74146101b5575f5ffd5b8063053c238d146100895780631599ead5146100ce578063258038e2146100e357806334baeab914610118575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e16100dc366004610e1c565b6101e6565b005b61010a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100c5565b61012b610126366004610e6a565b610200565b60405190151581526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160801b031990911681526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101b0366004610ecc565b6107c4565b6101d9604051806040016040528060058152602001640312e322e360dc1b81525081565b6040516100c59190610f46565b6101fd6101f38280610f7b565b83602001356107e6565b50565b5f610755565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181106101fd575f5f5260205ff35b5f60405183815284602082015285604082015260408160608360076107d05a03fa915081610265575f5f5260205ff35b825160408201526020830151606082015260408360808360066107d05a03fa91505080610294575f5f5260205ff35b5050505050565b7f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be485527f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd460208601525f608086018661033787357f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff66427f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f84610235565b61038760208801357f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b7f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34784610235565b6103d760408801357f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd67f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a784610235565b61042760608801357f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e827f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d84610235565b61047760808801357f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8097f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49384610235565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86101608201525f87015161018082015260205f018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c6102808201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e03336102a08201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d0307626102c08201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d36102e08201526020816103008360086107d05a03fa9051169695505050505050565b604051610380810160405261076c5f840135610206565b6107796020840135610206565b6107866040840135610206565b6107936060840135610206565b6107a06080840135610206565b6107ad60a0840135610206565b6107ba818486888a61029b565b9050805f5260205ff35b6107e084846107db6107d686866109fa565b610a86565b6107e6565b50505050565b6107f360045f8486610fc5565b6107fc91610fec565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461089f5761084360045f8486610fc5565b61084c91610fec565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b5f5f6108aa83610be0565b90925090505f6108bd8560048189610fc5565b8101906108ca91906110e1565b8051602080830151604080850151815160a0810183527f0000000000000000000000000000000000000000000000000000000000000000608090811c82527f0000000000000000000000000000000000000000000000000000000000000000811c9582019590955289851c8184015288851c60608201527f00000000000000000000000000000000000000000000000000000000000000009481019490945290516334baeab960e01b81529495505f9430946334baeab99461099294919391926004016111be565b602060405180830381865afa1580156109ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d19190611241565b9050806109f15760405163439cc0cd60e01b815260040160405180910390fd5b50505050505050565b610a02610dda565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b8152602001610a7b60405180604001604052808681526020015f5f1b815250610d45565b905290505b92915050565b5f600280604051610aaf907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa158015610aca573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610aed9190611274565b60608401518451602086015160808701516040880151516018906002811115610b1857610b18611260565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f1981840301815290829052610ba29161128b565b602060405180830381855afa158015610bbd573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a809190611274565b5f8080610d2b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b60408277ffffffffffffffff0000000000000000ffffffffffffffff1916901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b5f600280604051610d68906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa158015610d83573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610da69190611274565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610b88565b6040518060a001604052805f81526020015f8152602001610e0a604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610e2c575f5ffd5b813567ffffffffffffffff811115610e42575f5ffd5b820160408185031215610e53575f5ffd5b9392505050565b8060408101831015610a80575f5ffd5b5f5f5f5f6101a08587031215610e7e575f5ffd5b610e888686610e5a565b935060c0850186811115610e9a575f5ffd5b604086019350610eaa8782610e5a565b925050856101a086011115610ebd575f5ffd5b50919490935090916101000190565b5f5f5f5f60608587031215610edf575f5ffd5b843567ffffffffffffffff811115610ef5575f5ffd5b8501601f81018713610f05575f5ffd5b803567ffffffffffffffff811115610f1b575f5ffd5b876020828401011115610f2c575f5ffd5b602091820198909750908601359560400135945092505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f8335601e19843603018112610f90575f5ffd5b83018035915067ffffffffffffffff821115610faa575f5ffd5b602001915036819003821315610fbe575f5ffd5b9250929050565b5f5f85851115610fd3575f5ffd5b83861115610fdf575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561101d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561105b5761105b611024565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561108a5761108a611024565b604052919050565b5f82601f8301126110a1575f5ffd5b6110ab6040611061565b8060408401858111156110bc575f5ffd5b845b818110156110d65780358452602093840193016110be565b509095945050505050565b5f6101008284031280156110f3575f5ffd5b506110fc611038565b6111068484611092565b815283605f840112611116575f5ffd5b604061112181611061565b8060c0860187811115611132575f5ffd5b604087015b81811015611158576111498982611092565b84526020909301928401611137565b508160208601526111698882611092565b604086015250929695505050505050565b805f5b60028110156107e057815184526020938401939091019060010161117d565b805f5b60058110156107e057815184526020938401939091019060010161119f565b6101a081016111cd828761117a565b60408201855f5b600281101561121a578151835f5b60028110156112015782518252602092830192909101906001016111e2565b50505060409290920191602091909101906001016111d4565b50505061122a60c083018561117a565b61123861010083018461119c565b95945050505050565b5f60208284031215611251575f5ffd5b81518015158114610e53575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611284575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea26469706673582212202a001cf42514057842304ec6ca3a486e5970fa3eb64fd673c04a9333313cce3a64736f6c634300081c003360c060405234801561000f575f5ffd5b506040516107b43803806107b483398101604081905261002e9161018b565b816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906101c3565b6001600160a01b0316816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f791906101c3565b6001600160a01b03161461015d5760405162461bcd60e51b8152602060048201526024808201527f5665726966696572732073686f756c64207573652073616d65207265706f7369604482015263746f727960e01b606482015260840160405180910390fd5b6001600160a01b039182166080521660a0526101e5565b6001600160a01b0381168114610188575f5ffd5b50565b5f5f6040838503121561019c575f5ffd5b82516101a781610174565b60208401519092506101b881610174565b809150509250929050565b5f602082840312156101d3575f5ffd5b81516101de81610174565b9392505050565b60805160a05161059c6102185f395f818160530152818160d8015261024f01525f818160b301526101a3015261059c5ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806319f9dd0a1461004e5780633fd66f22146100915780634bc8e31c14610099578063d06da682146100ae575b5f5ffd5b6100757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100756100d5565b6100ac6100a73660046102f0565b61015b565b005b6100757f000000000000000000000000000000000000000000000000000000000000000081565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610132573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610348565b905090565b600161017661016f368790038701876103ed565b6040015190565b60018111156101875761018761036a565b0361020f576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c906101de908790879087908790600401610478565b5f6040518083038186803b1580156101f4575f5ffd5b505afa158015610206573d5f5f3e3d5ffd5b505050506102b7565b5f61022261016f368790038701876103ed565b60018111156102335761023361036a565b036102b7576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c9061028a908790879087908790600401610478565b5f6040518083038186803b1580156102a0575f5ffd5b505afa1580156102b2573d5f5f3e3d5ffd5b505050505b50505050565b6001600160a01b03811681146102d1575f5ffd5b50565b80356001600160e01b0319811681146102eb575f5ffd5b919050565b5f5f5f5f848603610260811215610305575f5ffd5b610200811215610313575f5ffd5b50849350610200840135925061022084013561032e816102bd565b915061033d61024086016102d4565b905092959194509250565b5f60208284031215610358575f5ffd5b8151610363816102bd565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156103b5576103b561037e565b60405290565b604051610100810167ffffffffffffffff811182821017156103b5576103b561037e565b8035600281106102eb575f5ffd5b5f6101408284031280156103ff575f5ffd5b50610408610392565b610411836102d4565b815283603f840112610421575f5ffd5b6104296103bb565b8061012085018681111561043b575f5ffd5b602086015b81811015610458578035845260209384019301610440565b50816020850152610468816103df565b6040850152509195945050505050565b61026081016001600160e01b031961048f876102d4565b1682526101006020870160208401376104ab61012087016103df565b600281106104c757634e487b7160e01b5f52602160045260245ffd5b610120830152610140868101359083015261016080870135908301526101808601356104f2816102bd565b6001600160a01b03166101808301526001600160e01b03196105176101a088016102d4565b166101a08301526101c086810135908301526101e0808701359083015261020082018590526001600160a01b0384166102208301526001600160e01b031983166102408301529594505050505056fea2646970667358221220ee2d9c330642bcbddbae38effa11507849f2fb7e8fa0c06c4df4d70ce445a27964736f6c634300081c0033a264697066735822122013e8d8edf588592ccda01d017c94841f35dd837746a8efb82de9efeae3b8495964736f6c634300081c0033",
19
- sourceMap: "248:320:56:-:0;;;;;;;;;;;;;;;;;;;",
20
- linkReferences: {},
21
- },
22
- deployedBytecode: {
23
- object: "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063f860554b1461002d575b5f5ffd5b61004061003b366004610254565b610042565b005b5f816001600160a01b0316632b7ac3f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610276565b6001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100de573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101029190610276565b9050816001600160a01b0316639b8b30c88260405161012090610216565b6001600160a01b039091168152602001604051809103905ff080158015610149573d5f5f3e3d5ffd5b508360405161015790610223565b6001600160a01b039091168152602001604051809103905ff080158015610180573d5f5f3e3d5ffd5b5060405161018d90610230565b6001600160a01b03928316815291166020820152604001604051809103905ff0801580156101bd573d5f5f3e3d5ffd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024015f604051808303815f87803b1580156101fc575f5ffd5b505af115801561020e573d5f5f3e3d5ffd5b505050505050565b6113ad8061029283390190565b612f1c8061163f83390190565b6107b48061455b83390190565b6001600160a01b0381168114610251575f5ffd5b50565b5f60208284031215610264575f5ffd5b813561026f8161023d565b9392505050565b5f60208284031215610286575f5ffd5b815161026f8161023d56fe60e060405234801561000f575f5ffd5b506040516113ad3803806113ad83398101604081905261002e91610115565b6001600160a01b03811660c0526100436100b8565b1561006157604051633d23e4d160e11b815260040160405180910390fd5b60405163deafbeef60e01b9061007690610108565b6001600160e01b03199091168152602001604051809103905ff0801580156100a0573d5f5f3e3d5ffd5b506001600160a01b031660a052506001608052610142565b5f46600114806100c8575046600a145b806100d4575046612105145b806100e057504661a4b1145b806100ec57504661a4ba145b806100f75750466089145b80610103575046610144145b905090565b6108af80610afe83390190565b5f60208284031215610125575f5ffd5b81516001600160a01b038116811461013b575f5ffd5b9392505050565b60805160a05160c0516109796101855f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea264697066735822122054c192be77332b47bb8956220352d1dd1dd666eea70bf7f7563c1e39af378abf64736f6c634300081c003360a060405234801561000f575f5ffd5b506040516108af3803806108af83398101604081905261002e91610040565b6001600160e01b03191660805261006e565b5f60208284031215610050575f5ffd5b81516001600160e01b031981168114610067575f5ffd5b9392505050565b6080516108166100995f395f8181605e0152818160ea015281816101f4015261025801526108165ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063053c238d146100595780631599ead51461009e5780633a115bb1146100b357806366cf0e4b14610145578063ab750e7514610158575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100b16100ac3660046105b6565b61016b565b005b6101386100c13660046105ed565b60408051808201909152606081525f6020820152604080518082019091526001600160e01b03197f000000000000000000000000000000000000000000000000000000000000000016606082015260648101839052806084810160408051601f198184030181529190528152602001929092525090565b6040516100959190610604565b61013861015336600461064d565b610185565b6100b161016636600461066d565b6101b5565b61018261017882806106e7565b83602001356101d2565b50565b60408051808201909152606081525f60208201526101ae6100c16101a985856102f5565b61037f565b9392505050565b6101cc84846101c76101a986866102f5565b6101d2565b50505050565b6101df60045f8486610731565b6101e891610758565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461028b5761022f60045f8486610731565b61023891610758565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60408051602081018390520160408051601f1981840301815291905280516020909101206102bc8360048187610731565b6040516102ca929190610790565b6040518091039020146102f05760405163439cc0cd60e01b815260040160405180910390fd5b505050565b6102fd610574565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161037660405180604001604052808681526020015f5f1b8152506104df565b90529392505050565b5f6002806040516103a8907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa1580156103c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103e691906107b3565b606084015184516020860151608087015160408801515160189060028111156104115761041161079f565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261049b916107ca565b602060405180830381855afa1580156104b6573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104d991906107b3565b92915050565b5f600280604051610502906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561051d573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061054091906107b3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610481565b6040518060a001604052805f81526020015f81526020016105a4604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f602082840312156105c6575f5ffd5b813567ffffffffffffffff8111156105dc575f5ffd5b8201604081850312156101ae575f5ffd5b5f602082840312156105fd575f5ffd5b5035919050565b602081525f82516040602084015280518060608501528060208301608086015e5f60808286010152602085015160408501526080601f19601f8301168501019250505092915050565b5f5f6040838503121561065e575f5ffd5b50508035926020909101359150565b5f5f5f5f60608587031215610680575f5ffd5b843567ffffffffffffffff811115610696575f5ffd5b8501601f810187136106a6575f5ffd5b803567ffffffffffffffff8111156106bc575f5ffd5b8760208284010111156106cd575f5ffd5b602091820198909750908601359560400135945092505050565b5f5f8335601e198436030181126106fc575f5ffd5b83018035915067ffffffffffffffff821115610716575f5ffd5b60200191503681900382131561072a575f5ffd5b9250929050565b5f5f8585111561073f575f5ffd5b8386111561074b575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610789576001600160e01b0319600485900360031b81901b82161691505b5092915050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b5f602082840312156107c3575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220f60a9ae93de91b6b9140b6bf34d600015071e7e66bd3163c0cda0da6cc20f2b464736f6c634300081c003360e060405234801561000f575f5ffd5b50604051612f1c380380612f1c83398101604081905261002e916100d3565b6001600160a01b03811660c0525f6080526040517f8cdad9242664be3112aba377c5425a4df735eb1c6966472b561d2855932c0469907f04446e66d300eb7fb45c9726bb53c793dda407a62e9601618bb43c5c14657ac09061008f906100c6565b9182526020820152604001604051809103905ff0801580156100b3573d5f5f3e3d5ffd5b506001600160a01b031660a05250610100565b61246080610abc83390190565b5f602082840312156100e3575f5ffd5b81516001600160a01b03811681146100f9575f5ffd5b9392505050565b60805160a05160c0516109796101435f395f8181609f01528181610111015261049001525f8181605e015261016d01525f818160dd015261020201526109795ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806308c84e70146100595780633fd66f221461009d5780634bc8e31c146100c35780639a44ea84146100d8578063f4cbae941461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610080565b6100d66100d136600461060b565b610133565b005b6100ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100949190610675565b6100807f000000000000000000000000000000000000000000000000000000000000000081565b61014a610145368690038601866107b6565b610200565b61016361015c368690038601866107b6565b8383610293565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ab750e756101a96101a436889003880188610855565b610552565b866101400135866040518463ffffffff1660e01b81526004016101ce93929190610877565b5f6040518083038186803b1580156101e4575f5ffd5b505afa1580156101f6573d5f5f3e3d5ffd5b5050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600181111561023257610232610661565b815160400151600181111561024957610249610661565b146102905760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66206d6f646560701b60448201526064015b60405180910390fd5b50565b816001600160a01b031683606001515f01516001600160a01b0316146102ec5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937bb32b960911b6044820152606401610287565b806001600160e01b0319168360600151602001516001600160e01b0319161461034a5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21039b2b632b1ba37b960811b6044820152606401610287565b43836060015160400151106103b15760405162461bcd60e51b815260206004820152602760248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b2066726f6d6044820152662066757475726560c81b6064820152608401610287565b436101008460600151604001516103c891906108ba565b10156104225760405162461bcd60e51b815260206004820152602360248201527f496e76616c696420626c6f636b206e756d6265723a20626c6f636b20746f6f206044820152621bdb1960ea1b6064820152608401610287565b60608084015160408101519101519040146104745760405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840c4d8dec6d640d0c2e6d60731b6044820152606401610287565b6020830151604051631af6c43160e01b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631af6c43190602401602060405180830381865afa1580156104dd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050191906108df565b61054d5760405162461bcd60e51b815260206004820152601760248201527f556e737570706f727465642043616c6c477565737449640000000000000000006044820152606401610287565b505050565b606060018260400151600181111561056c5761056c610661565b036105ad5750602081810151519151604080516001600160e01b03199092169282019290925260248082019390935281518082039093018352604401905290565b81516020808401516040516105c39392016108fe565b6040516020818303038152906040529050919050565b919050565b80356001600160a01b03811681146105d9575f5ffd5b80356001600160e01b0319811681146105d9575f5ffd5b5f5f5f5f848603610260811215610620575f5ffd5b61020081121561062e575f5ffd5b50849350610200840135925061064761022085016105de565b915061065661024086016105f4565b905092959194509250565b634e487b7160e01b5f52602160045260245ffd5b602081016002831061069557634e487b7160e01b5f52602160045260245ffd5b91905290565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156106d2576106d261069b565b60405290565b604051610100810167ffffffffffffffff811182821017156106d2576106d261069b565b6040516080810167ffffffffffffffff811182821017156106d2576106d261069b565b8035600281106105d9575f5ffd5b5f610140828403121561073e575f5ffd5b6107466106af565b9050610751826105f4565b815282603f830112610761575f5ffd5b6107696106d8565b8061012084018581111561077b575f5ffd5b602085015b81811015610798578035845260209384019301610780565b508160208501526107a88161071f565b604085015250505092915050565b5f818303610200811280156107c9575f5ffd5b506107d26106fc565b6107dc858561072d565b815261014084013560208201526101608401356040820152608061017f1983011215610806575f5ffd5b61080e6106fc565b915061081d61018085016105de565b825261082c6101a085016105f4565b60208301526101c084013560408301526101e09093013560608083019190915283015250919050565b5f6101408284031215610866575f5ffd5b610870838361072d565b9392505050565b606081525f84518060608401528060208701608085015e5f608082850101526080601f19601f830116840101915050836020830152826040830152949350505050565b808201808211156108d957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156108ef575f5ffd5b81518015158114610870575f5ffd5b6001600160e01b0319831681525f6004820183825b6008811015610932578151835260209283019290910190600101610913565b50505061010482019050939250505056fea2646970667358221220872fbb54f457541ca9955a3cec7fbd47c888fe38acad5aebd93b4d0c52e3c0d464736f6c634300081c0033610100604052348015610010575f5ffd5b5060405161246038038061246083398101604081905261002f91611047565b610038826102b9565b6001600160801b031990811660a0521660805260c08190526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b60208201526002908190602601602060405180830381855afa1580156100a8573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906100cb9190611069565b8361021b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b610223610425565b60408051602081019590955284019290925260608301526080820152600360f81b60a082015260a20160408051601f198184030181529082905261026691611097565b602060405180830381855afa158015610281573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906102a49190611069565b6001600160e01b03191660e052506111359050565b5f808061040b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b6040827fffffffffffffffff0000000000000000ffffffffffffffff000000000000000016901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b60408051600680825260e082019092525f918291906020820160c08036833701905050905060027f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be47f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd46040516020016104a8929190918252602082015260400190565b60408051601f19818403018152908290526104c291611097565b602060405180830381855afa1580156104dd573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105009190611069565b815f81518110610512576105126110a9565b60200260200101818152505060027f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f7f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff664260405160200161057c929190918252602082015260400190565b60408051601f198184030181529082905261059691611097565b602060405180830381855afa1580156105b1573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105d49190611069565b816001815181106105e7576105e76110a9565b60200260200101818152505060027f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc3477f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b604051602001610651929190918252602082015260400190565b60408051601f198184030181529082905261066b91611097565b602060405180830381855afa158015610686573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106a99190611069565b816002815181106106bc576106bc6110a9565b60200260200101818152505060027f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a77f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd6604051602001610726929190918252602082015260400190565b60408051601f198184030181529082905261074091611097565b602060405180830381855afa15801561075b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061077e9190611069565b81600381518110610791576107916110a9565b60200260200101818152505060027f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d7f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e826040516020016107fb929190918252602082015260400190565b60408051601f198184030181529082905261081591611097565b602060405180830381855afa158015610830573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108539190611069565b81600481518110610866576108666110a9565b60200260200101818152505060027f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d4937f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8096040516020016108d0929190918252602082015260400190565b60408051601f19818403018152908290526108ea91611097565b602060405180830381855afa158015610905573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109289190611069565b8160058151811061093b5761093b6110a9565b60200260200101818152505060028060405161097a907f72697363305f67726f746831362e566572696679696e674b65790000000000008152601a0190565b602060405180830381855afa158015610995573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906109b89190611069565b60027f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e27f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d1926604051602001610a16929190918252602082015260400190565b60408051601f1981840301815290829052610a3091611097565b602060405180830381855afa158015610a4b573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a6e9190611069565b604080517f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c60208201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab918101919091527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a760608201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8608082015260029060a00160408051601f1981840301815290829052610b2c91611097565b602060405180830381855afa158015610b47573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610b6a9190611069565b604080517f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260208201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed918101919091527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60608201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa608082015260029060a00160408051601f1981840301815290829052610c2891611097565b602060405180830381855afa158015610c43573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c669190611069565b604080517f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c60208201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e0333918101919091527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d03076260608201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d3608082015260029060a00160408051601f1981840301815290829052610d2491611097565b602060405180830381855afa158015610d3f573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610d629190611069565b610ddb6002604051610d97907f72697363305f67726f746831362e566572696679696e674b65792e49430000008152601d0190565b602060405180830381855afa158015610db2573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610dd59190611069565b88610e6f565b6040805160208101979097528601949094526060850192909252608084015260a083015260c0820152600560f81b60e082015260e20160408051601f1981840301815290829052610e2b91611097565b602060405180830381855afa158015610e46573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610e699190611069565b91505090565b5f80805b8351811015610ec857610ebe85858360018851610e9091906110bd565b610e9a91906110bd565b81518110610eaa57610eaa6110a9565b602002602001015184610ed260201b60201c565b9150600101610e73565b5090505b92915050565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110610f0957610f096110a9565b6020026020010181815250508281600181518110610f2957610f296110a9565b6020908102919091010152610f3e8582610f47565b95945050505050565b604080515f80825260208201909252610f61848483610f69565b949350505050565b5f5f610f7b845161101160201b60201c565b90505f60088261ffff16901c60088361ffff16901b1760f01b9050600286868684604051602001610faf94939291906110dc565b60408051601f1981840301815290829052610fc991611097565b602060405180830381855afa158015610fe4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906110079190611069565b9695505050505050565b5f61ffff821115611043576040516306dfcc6560e41b8152601060048201526024810183905260440160405180910390fd5b5090565b5f5f60408385031215611058575f5ffd5b505080516020909101519092909150565b5f60208284031215611079575f5ffd5b5051919050565b5f81518060208401855e5f93019283525090919050565b5f6110a28284611080565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610ecc57634e487b7160e01b5f52601160045260245ffd5b8481525f602082018551602087015f5b8281101561110a5781518452602093840193909101906001016110ec565b5050506111178186611080565b6001600160f01b031994909416845250506002909101949350505050565b60805160a05160c05160e0516112d76111895f395f8181608e01528181610808015261086c01525f818160e8015261094301525f8181610140015261090a01525f818161018001526108e201526112d75ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80638989fa2e116100585780638989fa2e1461013b5780639181e4b11461017b578063ab750e75146101a2578063ffa1ad74146101b5575f5ffd5b8063053c238d146100895780631599ead5146100ce578063258038e2146100e357806334baeab914610118575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e16100dc366004610e1c565b6101e6565b005b61010a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100c5565b61012b610126366004610e6a565b610200565b60405190151581526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160801b031990911681526020016100c5565b6101627f000000000000000000000000000000000000000000000000000000000000000081565b6100e16101b0366004610ecc565b6107c4565b6101d9604051806040016040528060058152602001640312e322e360dc1b81525081565b6040516100c59190610f46565b6101fd6101f38280610f7b565b83602001356107e6565b50565b5f610755565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181106101fd575f5f5260205ff35b5f60405183815284602082015285604082015260408160608360076107d05a03fa915081610265575f5f5260205ff35b825160408201526020830151606082015260408360808360066107d05a03fa91505080610294575f5f5260205ff35b5050505050565b7f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be485527f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd460208601525f608086018661033787357f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff66427f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f84610235565b61038760208801357f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b7f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34784610235565b6103d760408801357f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd67f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a784610235565b61042760608801357f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e827f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d84610235565b61047760808801357f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e8097f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49384610235565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86101608201525f87015161018082015260205f018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c6102808201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e03336102a08201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d0307626102c08201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d36102e08201526020816103008360086107d05a03fa9051169695505050505050565b604051610380810160405261076c5f840135610206565b6107796020840135610206565b6107866040840135610206565b6107936060840135610206565b6107a06080840135610206565b6107ad60a0840135610206565b6107ba818486888a61029b565b9050805f5260205ff35b6107e084846107db6107d686866109fa565b610a86565b6107e6565b50505050565b6107f360045f8486610fc5565b6107fc91610fec565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319161461089f5761084360045f8486610fc5565b61084c91610fec565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b5f5f6108aa83610be0565b90925090505f6108bd8560048189610fc5565b8101906108ca91906110e1565b8051602080830151604080850151815160a0810183527f0000000000000000000000000000000000000000000000000000000000000000608090811c82527f0000000000000000000000000000000000000000000000000000000000000000811c9582019590955289851c8184015288851c60608201527f00000000000000000000000000000000000000000000000000000000000000009481019490945290516334baeab960e01b81529495505f9430946334baeab99461099294919391926004016111be565b602060405180830381865afa1580156109ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d19190611241565b9050806109f15760405163439cc0cd60e01b815260040160405180910390fd5b50505050505050565b610a02610dda565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b8152602001610a7b60405180604001604052808681526020015f5f1b815250610d45565b905290505b92915050565b5f600280604051610aaf907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa158015610aca573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610aed9190611274565b60608401518451602086015160808701516040880151516018906002811115610b1857610b18611260565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f1981840301815290829052610ba29161128b565b602060405180830381855afa158015610bbd573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610a809190611274565b5f8080610d2b845f8190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b6008827fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff0016901c1790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b6010827fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff000016901c1790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b6020827fffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000016901c17905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b60408277ffffffffffffffff0000000000000000ffffffffffffffff1916901c179050608081901b608082901c179050919050565b608081901b956001600160801b0319909116945092505050565b5f600280604051610d68906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa158015610d83573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610da69190611274565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b6080820152608201610b88565b6040518060a001604052805f81526020015f8152602001610e0a604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610e2c575f5ffd5b813567ffffffffffffffff811115610e42575f5ffd5b820160408185031215610e53575f5ffd5b9392505050565b8060408101831015610a80575f5ffd5b5f5f5f5f6101a08587031215610e7e575f5ffd5b610e888686610e5a565b935060c0850186811115610e9a575f5ffd5b604086019350610eaa8782610e5a565b925050856101a086011115610ebd575f5ffd5b50919490935090916101000190565b5f5f5f5f60608587031215610edf575f5ffd5b843567ffffffffffffffff811115610ef5575f5ffd5b8501601f81018713610f05575f5ffd5b803567ffffffffffffffff811115610f1b575f5ffd5b876020828401011115610f2c575f5ffd5b602091820198909750908601359560400135945092505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f8335601e19843603018112610f90575f5ffd5b83018035915067ffffffffffffffff821115610faa575f5ffd5b602001915036819003821315610fbe575f5ffd5b9250929050565b5f5f85851115610fd3575f5ffd5b83861115610fdf575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561101d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561105b5761105b611024565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561108a5761108a611024565b604052919050565b5f82601f8301126110a1575f5ffd5b6110ab6040611061565b8060408401858111156110bc575f5ffd5b845b818110156110d65780358452602093840193016110be565b509095945050505050565b5f6101008284031280156110f3575f5ffd5b506110fc611038565b6111068484611092565b815283605f840112611116575f5ffd5b604061112181611061565b8060c0860187811115611132575f5ffd5b604087015b81811015611158576111498982611092565b84526020909301928401611137565b508160208601526111698882611092565b604086015250929695505050505050565b805f5b60028110156107e057815184526020938401939091019060010161117d565b805f5b60058110156107e057815184526020938401939091019060010161119f565b6101a081016111cd828761117a565b60408201855f5b600281101561121a578151835f5b60028110156112015782518252602092830192909101906001016111e2565b50505060409290920191602091909101906001016111d4565b50505061122a60c083018561117a565b61123861010083018461119c565b95945050505050565b5f60208284031215611251575f5ffd5b81518015158114610e53575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611284575f5ffd5b5051919050565b5f82518060208501845e5f92019182525091905056fea26469706673582212202a001cf42514057842304ec6ca3a486e5970fa3eb64fd673c04a9333313cce3a64736f6c634300081c003360c060405234801561000f575f5ffd5b506040516107b43803806107b483398101604081905261002e9161018b565b816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061008e91906101c3565b6001600160a01b0316816001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100f791906101c3565b6001600160a01b03161461015d5760405162461bcd60e51b8152602060048201526024808201527f5665726966696572732073686f756c64207573652073616d65207265706f7369604482015263746f727960e01b606482015260840160405180910390fd5b6001600160a01b039182166080521660a0526101e5565b6001600160a01b0381168114610188575f5ffd5b50565b5f5f6040838503121561019c575f5ffd5b82516101a781610174565b60208401519092506101b881610174565b809150509250929050565b5f602082840312156101d3575f5ffd5b81516101de81610174565b9392505050565b60805160a05161059c6102185f395f818160530152818160d8015261024f01525f818160b301526101a3015261059c5ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806319f9dd0a1461004e5780633fd66f22146100915780634bc8e31c14610099578063d06da682146100ae575b5f5ffd5b6100757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100756100d5565b6100ac6100a73660046102f0565b61015b565b005b6100757f000000000000000000000000000000000000000000000000000000000000000081565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633fd66f226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610132573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610348565b905090565b600161017661016f368790038701876103ed565b6040015190565b60018111156101875761018761036a565b0361020f576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c906101de908790879087908790600401610478565b5f6040518083038186803b1580156101f4575f5ffd5b505afa158015610206573d5f5f3e3d5ffd5b505050506102b7565b5f61022261016f368790038701876103ed565b60018111156102335761023361036a565b036102b7576040516312f238c760e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634bc8e31c9061028a908790879087908790600401610478565b5f6040518083038186803b1580156102a0575f5ffd5b505afa1580156102b2573d5f5f3e3d5ffd5b505050505b50505050565b6001600160a01b03811681146102d1575f5ffd5b50565b80356001600160e01b0319811681146102eb575f5ffd5b919050565b5f5f5f5f848603610260811215610305575f5ffd5b610200811215610313575f5ffd5b50849350610200840135925061022084013561032e816102bd565b915061033d61024086016102d4565b905092959194509250565b5f60208284031215610358575f5ffd5b8151610363816102bd565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156103b5576103b561037e565b60405290565b604051610100810167ffffffffffffffff811182821017156103b5576103b561037e565b8035600281106102eb575f5ffd5b5f6101408284031280156103ff575f5ffd5b50610408610392565b610411836102d4565b815283603f840112610421575f5ffd5b6104296103bb565b8061012085018681111561043b575f5ffd5b602086015b81811015610458578035845260209384019301610440565b50816020850152610468816103df565b6040850152509195945050505050565b61026081016001600160e01b031961048f876102d4565b1682526101006020870160208401376104ab61012087016103df565b600281106104c757634e487b7160e01b5f52602160045260245ffd5b610120830152610140868101359083015261016080870135908301526101808601356104f2816102bd565b6001600160a01b03166101808301526001600160e01b03196105176101a088016102d4565b166101a08301526101c086810135908301526101e0808701359083015261020082018590526001600160a01b0384166102208301526001600160e01b031983166102408301529594505050505056fea2646970667358221220ee2d9c330642bcbddbae38effa11507849f2fb7e8fa0c06c4df4d70ce445a27964736f6c634300081c0033a264697066735822122013e8d8edf588592ccda01d017c94841f35dd837746a8efb82de9efeae3b8495964736f6c634300081c0033",
24
- sourceMap: "248:320:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;290:276;;;;;;:::i;:::-;;:::i;:::-;;;355:29;387:8;-1:-1:-1;;;;;387:17:56;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;387:37:56;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;355:71;;436:8;-1:-1:-1;;;;;436:25:56;;508:10;486:33;;;;;:::i;:::-;-1:-1:-1;;;;;1216:32:68;;;1198:51;;1186:2;1171:18;486:33:56;;;;;;;;;;;;;;;;;;;;;;;546:10;521:36;;;;;:::i;:::-;-1:-1:-1;;;;;1216:32:68;;;1198:51;;1186:2;1171:18;521:36:56;;;;;;;;;;;;;;;;;;;;;;;462:96;;;;;:::i;:::-;-1:-1:-1;;;;;1509:32:68;;;1491:51;;1578:32;;1573:2;1558:18;;1551:60;1479:2;1464:18;462:96:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;436:123:56;;-1:-1:-1;;;;;;436:123:56;;;;;;;-1:-1:-1;;;;;1216:32:68;;;436:123:56;;;1198:51:68;1171:18;;436:123:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:221;290:276;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:141:68:-;-1:-1:-1;;;;;99:31:68;;89:42;;79:70;;145:1;142;135:12;79:70;14:141;:::o;160:275::-;237:6;290:2;278:9;269:7;265:23;261:32;258:52;;;306:1;303;296:12;258:52;345:9;332:23;364:41;399:5;364:41;:::i;:::-;424:5;160:275;-1:-1:-1;;;160:275:68:o;440:285::-;534:6;587:2;575:9;566:7;562:23;558:32;555:52;;;603:1;600;593:12;555:52;635:9;629:16;654:41;689:5;654:41;:::i",
25
- linkReferences: {},
26
- },
27
- methodIdentifiers: {
28
- "swapProofVerifier(address)": "f860554b",
29
- },
30
- rawMetadata: '{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract Verifier","name":"verifier","type":"address"}],"name":"swapProofVerifier","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"src/testing/TestVerifierRouterDeployer.sol":"TestVerifierRouterDeployer"},"evmVersion":"cancun","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[":@openzeppelin-contracts-5.0.1/=dependencies/@openzeppelin-contracts-5.0.1/",":@openzeppelin-contracts-5.1.0/=dependencies/risc0-ethereum-1.2.0/dependencies/@openzeppelin-contracts-5.1.0/",":forge-std-1.9.4/=dependencies/forge-std-1.9.4/",":forge-std/=dependencies/risc0-ethereum-1.2.0/dependencies/forge-std-1.9.4/src/",":openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.1/",":risc0-ethereum-1.2.0/=dependencies/risc0-ethereum-1.2.0/"]},"sources":{"dependencies/@openzeppelin-contracts-5.0.1/access/AccessControl.sol":{"keccak256":"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308","license":"MIT","urls":["bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80","dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z"]},"dependencies/@openzeppelin-contracts-5.0.1/access/IAccessControl.sol":{"keccak256":"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41","license":"MIT","urls":["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26","dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"]},"dependencies/@openzeppelin-contracts-5.0.1/access/extensions/AccessControlEnumerable.sol":{"keccak256":"0xb1c906fcd870fc8dfedb63bfb1bc58b4d2a7469bc13cc44d996fda430693850a","license":"MIT","urls":["bzz-raw://bd98c7779af61b220166cf952a05f6aca82ec859744d407d29043f8100adfb9c","dweb:/ipfs/Qmd6ftRk6cJgdooybM6F1X26R4SSUeNksv6Gni2NwEnKDw"]},"dependencies/@openzeppelin-contracts-5.0.1/access/extensions/IAccessControlEnumerable.sol":{"keccak256":"0xc1435f102633849858e75d7bed14c636f25448ceb3406d82992b0f2df52f4306","license":"MIT","urls":["bzz-raw://ce1815e3a1da24f91b8e2ec24cf09d0d46e0fbeddcbe2cb0d8b2e05b91ceb7b3","dweb:/ipfs/QmYTy1AQB5EV5jwuGsB49yykng2oG3x5ss4bDjFNxk3He4"]},"dependencies/@openzeppelin-contracts-5.0.1/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","license":"MIT","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"]},"dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","license":"MIT","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"]},"dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","license":"MIT","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"]},"dependencies/@openzeppelin-contracts-5.0.1/utils/math/SafeCast.sol":{"keccak256":"0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe","license":"MIT","urls":["bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c","dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj"]},"dependencies/@openzeppelin-contracts-5.0.1/utils/structs/EnumerableSet.sol":{"keccak256":"0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa","license":"MIT","urls":["bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1","dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA"]},"dependencies/risc0-ethereum-1.2.0/src/IRiscZeroSelectable.sol":{"keccak256":"0x39019bc9524b46ce9818d4d46a0fec57015ef0484858228bcb3b1c45efc7db19","license":"Apache-2.0","urls":["bzz-raw://964ecb93cae8853bf4781bdc8cb2cf1049dff5c052da6b798759487093b1c4ab","dweb:/ipfs/QmXfKLM74E3Y4m5y4JiVJdZjmkzCmHPTqS1aqSJ9vdSXyA"]},"dependencies/risc0-ethereum-1.2.0/src/IRiscZeroVerifier.sol":{"keccak256":"0xae73e91e4d2829b0a88176584d876382b4b7540ff07c62cb947cdf9ea43d5cf3","license":"Apache-2.0","urls":["bzz-raw://f2dd7da39a6f9b100fc1dcde565d799462cdc7d27722d2265317c3a01619c818","dweb:/ipfs/Qmd3k3kcvrtfkLqVza4jHodbFH8wvq5vmfPtwekBKtPjmz"]},"dependencies/risc0-ethereum-1.2.0/src/StructHash.sol":{"keccak256":"0xce612be2064752d2df89cfa2e9f73bba1ad891438d11d6fa7fc1285350b12fdd","license":"Apache-2.0","urls":["bzz-raw://5915dac04779e37024e87f723f9ee2eecc87e9e1162f37d73d5502aced9fb484","dweb:/ipfs/QmRLFdpKoUZeNTNditFTrE72g7sryCVnERE14duRgXHSJs"]},"dependencies/risc0-ethereum-1.2.0/src/Util.sol":{"keccak256":"0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82","license":"Apache-2.0","urls":["bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c","dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg"]},"dependencies/risc0-ethereum-1.2.0/src/groth16/ControlID.sol":{"keccak256":"0xf54137d0a508d47c0ecb9d4f1ab478726d79b97943e48ca3abcb47d3fdfd8f95","license":"Apache-2.0","urls":["bzz-raw://9563419ad6cd8ddadd12c2714ff06395d0cae6b330dec77fc943b7097494bea7","dweb:/ipfs/QmRCPFrtzu8RZJe3YnwKK6YwhJLih23T4gag1smnzHT5W8"]},"dependencies/risc0-ethereum-1.2.0/src/groth16/Groth16Verifier.sol":{"keccak256":"0xaadc5747c8c88bba828e692020e880ef31d38964d3e419099e3d3a194312ea62","license":"GPL-3.0","urls":["bzz-raw://a0ad76c8785d08afaf315d027f6e3031c3200760c872de66f5a02d8a4364b228","dweb:/ipfs/QmW2kF7ukKqstmCT5M33U8bvw3AXqP8yaCbWycb7v4Nsef"]},"dependencies/risc0-ethereum-1.2.0/src/groth16/RiscZeroGroth16Verifier.sol":{"keccak256":"0x2eaa58d71a6f53446dc2889279cfec755541970ae8b07f1adced29481b75d5ac","license":"GPL-3.0","urls":["bzz-raw://ede637fde23140c135ae3bf7545a29071f80ae4d143491da4b8797b99dffcd78","dweb:/ipfs/QmX4P3R6ktbdy4bfcJ92GfzUfLw8PC8RAH65Yhpa7dnqS4"]},"dependencies/risc0-ethereum-1.2.0/src/test/RiscZeroMockVerifier.sol":{"keccak256":"0x78d0c64eed6d901237c1e9f3a6cffe0a7632ff68b3f571b72e00f43322621453","license":"Apache-2.0","urls":["bzz-raw://290d76f572ffc0537155f26b1447ac4a1e690409a6d1d92d84b8ecb6a4ac60ac","dweb:/ipfs/QmQ7rgKtTRaKjzYGZLfgJUFCDCWGMNPr6rWNc5AdDrX4JA"]},"src/CallAssumptions.sol":{"keccak256":"0xc3d0b9470794038f8018094138ab2d6fae7d639b8e213889a1a591f92f855025","license":"Apache-2.0","urls":["bzz-raw://a14b286d81c22817c91a87bece4e6a038fcfb798179fcbc782f7dd8fc9e174b7","dweb:/ipfs/QmPZTBbCHZfscMYaqfuQ3WiVdKbBemj5wpgb8bFhygGj8K"]},"src/ImageID.sol":{"keccak256":"0x67c283741512f5c2f0e2d4090ad054310a9b4ce6fe6057458433d5f72f5c6785","license":"Apache-2.0","urls":["bzz-raw://03ea4b9d7b379b89d9bf266afb0f275deb102e8f094984112be1aed65c8fa824","dweb:/ipfs/QmZJgs2zuyRym7nYmsrD7F1eu3UEe5thboXZbG6p9a7nvm"]},"src/Proof.sol":{"keccak256":"0x32db566314f73f696e2ff0839ca7a41c9f04d74c96f2d8604c53f92dccfa3a43","license":"UNLICENSED","urls":["bzz-raw://2ea032ed2a364dd97eeebe7df93cf252913284ea76a1fa1478d9436a916a83f3","dweb:/ipfs/QmW873QftHexSzpEqmAVJ9vUd1cJD584qTa7mzqkhhipMZ"]},"src/Repository.sol":{"keccak256":"0xd346825794a205b260f3e58e83ced657fffd0819fe78e24e96310f34fc9f5a0d","license":"UNLICENSED","urls":["bzz-raw://8185cb6e16f51ff98aa9bb2e0cc003bc1bea796ebc6425a114bb1b767123a928","dweb:/ipfs/Qmb5UppxkVtDePuMs8Kj3SDgw2oPYcDEtZH81CKrXLhZku"]},"src/Seal.sol":{"keccak256":"0xa61c6146260bd3006392ec7b91bfb46c1d73493ff5a01c9ce702b8c90f1a392c","license":"UNLICENSED","urls":["bzz-raw://ebf725dc623c0b6d3f8e74c2eb625d662303c22ba646fab710a4fbdf20d5e3c3","dweb:/ipfs/Qmat3kzvD19kLMHRmomknHzJnDdQfyU5pQDbhP5BsZTSvg"]},"src/Verifier.sol":{"keccak256":"0xfdbfa77a7d7a3140e479725f3095d3fbb6c2645f4fb2813f6b4009069e7bf5d6","license":"UNLICENSED","urls":["bzz-raw://0858955f429f8d64162c20d443c5e31edbe1bcffea240dfe7542a4c926764e4b","dweb:/ipfs/QmbmYfqgfuM8gzqnYkXVX7vjMYfbUv7NcnUgSzUSxzPqNR"]},"src/proof_verifier/ChainId.sol":{"keccak256":"0x755479916bf59498ad41df7f120f3a0b8da0ec1d00a3ea96024d8647011a73e2","license":"UNLICENSED","urls":["bzz-raw://3fca7683409d8ab96c18c0616c7a1de692282e9d1b5d7006649960c3dffe964e","dweb:/ipfs/QmNo77eW4FTV7knkxgMf8z9pvb9A7xQf5eoARtcPPffjn6"]},"src/proof_verifier/FakeProofVerifier.sol":{"keccak256":"0x12727eeb39e9fb2f95a80cd79865701a86bb11f5220a1b30ad94f5f8f04e658f","license":"UNLICENSED","urls":["bzz-raw://af702f85ff6101562fd768c604480981377b94c66657efa5f2cfc59716f25df1","dweb:/ipfs/QmUrZz1CzgGQQH8LaWg3cKVqH9BuDuBfhX38mq66YFQZKo"]},"src/proof_verifier/Groth16ProofVerifier.sol":{"keccak256":"0x9d20d28f7281d6d7cae608e3e07f485a1ebab01385ea6f6c9f14732388ca19e5","license":"UNLICENSED","urls":["bzz-raw://0222b49b98a410ceaaf3780e57527b85f529977dd0ff3e978fda1963d1b61e02","dweb:/ipfs/QmbWuATM3kezBjPaYws1Czbqd5NPDnRkAKPvwHSBXANsQw"]},"src/proof_verifier/IProofVerifier.sol":{"keccak256":"0xf48514ae0258f907c64cafb92d583cdbe704b4c0269da56f7336c3ec5bab0e82","license":"UNLICENSED","urls":["bzz-raw://a79c7bd455e908906b557c6cc7db2b6ec77d9f650a1ac0f4295c68e95894e193","dweb:/ipfs/QmdLufVnM7uAVWLtVwdVKsLMVg2b1iKWKLN9AdJYAy4JHP"]},"src/proof_verifier/ProofVerifierBase.sol":{"keccak256":"0x66f28abed63945dc6055e605176bc38da3f7fe040f7f42b1ef79c9030f2d4e75","license":"UNLICENSED","urls":["bzz-raw://76fa3565277af4edd785cb55778cd71959288ecd1c87634b16ae3a053e1a006d","dweb:/ipfs/QmVarQXiK5KtLmzNo7ben9gPCHqXspfe29LApcEumgv7cD"]},"src/proof_verifier/ProofVerifierFactory.sol":{"keccak256":"0xb0db7422a77c3484e9eb4980495dbcad0de8ba28c558aaadddaa6c33983e1b76","license":"UNLICENSED","urls":["bzz-raw://30bb192846a9066cd17e4d4bf9a3a44e521b6fd83975a9f3f3785d6871d97227","dweb:/ipfs/QmR9dVXqBsasgXwRHPyG6ju5ZiQBzhtV9wJW7qUQV7GD7T"]},"src/proof_verifier/ProofVerifierRouter.sol":{"keccak256":"0x57847e7cfea1dea540f57906316f8dcfc5116ed9d3e7f8eb44c6ffaf7345f446","license":"UNLICENSED","urls":["bzz-raw://ec1dafe1aec7724dbcf1b7fd1a9996e32a6366da759c07acfda408c29e63bd81","dweb:/ipfs/QmcvqbizyceFHECiBCesJY3TbbZdGx4PiDm5zFzwtaMZA1"]},"src/testing/TestVerifierRouterDeployer.sol":{"keccak256":"0xdd9a9de9e71103662fa9bbf924f9b7327f01c0c83a415a270b270f9156200649","license":"UNLICENSED","urls":["bzz-raw://23ef69e70387fe395a035f3597f0ee95a3bce66125281fbe3ad6774c8e9309b7","dweb:/ipfs/QmSPTSS427MDu2eQ6xcxhcfHhvgXWWZ8o6WtYo5Hwv1p9b"]}},"version":1}',
31
- metadata: {
32
- compiler: {
33
- version: "0.8.28+commit.7893614a",
34
- },
35
- language: "Solidity",
36
- output: {
37
- abi: [
38
- {
39
- inputs: [
40
- {
41
- internalType: "contract Verifier",
42
- name: "verifier",
43
- type: "address",
44
- },
45
- ],
46
- stateMutability: "nonpayable",
47
- type: "function",
48
- name: "swapProofVerifier",
49
- },
50
- ],
51
- devdoc: {
52
- kind: "dev",
53
- methods: {},
54
- version: 1,
55
- },
56
- userdoc: {
57
- kind: "user",
58
- methods: {},
59
- version: 1,
60
- },
61
- },
62
- settings: {
63
- remappings: [
64
- "@openzeppelin-contracts-5.0.1/=dependencies/@openzeppelin-contracts-5.0.1/",
65
- "@openzeppelin-contracts-5.1.0/=dependencies/risc0-ethereum-1.2.0/dependencies/@openzeppelin-contracts-5.1.0/",
66
- "forge-std-1.9.4/=dependencies/forge-std-1.9.4/",
67
- "forge-std/=dependencies/risc0-ethereum-1.2.0/dependencies/forge-std-1.9.4/src/",
68
- "openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.1/",
69
- "risc0-ethereum-1.2.0/=dependencies/risc0-ethereum-1.2.0/",
70
- ],
71
- optimizer: {
72
- enabled: true,
73
- runs: 200,
74
- },
75
- metadata: {
76
- bytecodeHash: "ipfs",
77
- },
78
- compilationTarget: {
79
- "src/testing/TestVerifierRouterDeployer.sol": "TestVerifierRouterDeployer",
80
- },
81
- evmVersion: "cancun",
82
- libraries: {},
83
- },
84
- sources: {
85
- "dependencies/@openzeppelin-contracts-5.0.1/access/AccessControl.sol": {
86
- keccak256: "0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308",
87
- urls: [
88
- "bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80",
89
- "dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z",
90
- ],
91
- license: "MIT",
92
- },
93
- "dependencies/@openzeppelin-contracts-5.0.1/access/IAccessControl.sol": {
94
- keccak256: "0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41",
95
- urls: [
96
- "bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26",
97
- "dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH",
98
- ],
99
- license: "MIT",
100
- },
101
- "dependencies/@openzeppelin-contracts-5.0.1/access/extensions/AccessControlEnumerable.sol": {
102
- keccak256: "0xb1c906fcd870fc8dfedb63bfb1bc58b4d2a7469bc13cc44d996fda430693850a",
103
- urls: [
104
- "bzz-raw://bd98c7779af61b220166cf952a05f6aca82ec859744d407d29043f8100adfb9c",
105
- "dweb:/ipfs/Qmd6ftRk6cJgdooybM6F1X26R4SSUeNksv6Gni2NwEnKDw",
106
- ],
107
- license: "MIT",
108
- },
109
- "dependencies/@openzeppelin-contracts-5.0.1/access/extensions/IAccessControlEnumerable.sol": {
110
- keccak256: "0xc1435f102633849858e75d7bed14c636f25448ceb3406d82992b0f2df52f4306",
111
- urls: [
112
- "bzz-raw://ce1815e3a1da24f91b8e2ec24cf09d0d46e0fbeddcbe2cb0d8b2e05b91ceb7b3",
113
- "dweb:/ipfs/QmYTy1AQB5EV5jwuGsB49yykng2oG3x5ss4bDjFNxk3He4",
114
- ],
115
- license: "MIT",
116
- },
117
- "dependencies/@openzeppelin-contracts-5.0.1/utils/Context.sol": {
118
- keccak256: "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
119
- urls: [
120
- "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
121
- "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF",
122
- ],
123
- license: "MIT",
124
- },
125
- "dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/ERC165.sol": {
126
- keccak256: "0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133",
127
- urls: [
128
- "bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8",
129
- "dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA",
130
- ],
131
- license: "MIT",
132
- },
133
- "dependencies/@openzeppelin-contracts-5.0.1/utils/introspection/IERC165.sol": {
134
- keccak256: "0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b",
135
- urls: [
136
- "bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df",
137
- "dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL",
138
- ],
139
- license: "MIT",
140
- },
141
- "dependencies/@openzeppelin-contracts-5.0.1/utils/math/SafeCast.sol": {
142
- keccak256: "0xe19a4d5f31d2861e7344e8e535e2feafb913d806d3e2b5fe7782741a2a7094fe",
143
- urls: [
144
- "bzz-raw://4aed79c0fa6f0546ed02f2f683e8f77f0fd2ed7eb34d8bbf3d373c9a6d95b13c",
145
- "dweb:/ipfs/QmWqVz6UAVqmnWU5pqYPt1o6iDEZyPaBraAA3rKfTTSfYj",
146
- ],
147
- license: "MIT",
148
- },
149
- "dependencies/@openzeppelin-contracts-5.0.1/utils/structs/EnumerableSet.sol": {
150
- keccak256: "0x86c1470cbfd878491e5de030072b647352d36bd27122cffb928970b1945282aa",
151
- urls: [
152
- "bzz-raw://ad85dd393ee0a1917c57046abc5155f51f77844b2c6a42c05c1b8dd26d6ff3c1",
153
- "dweb:/ipfs/QmNqYc8To2NdnpP6E1tGz7t6A7beuENde5yovwov5pW1fA",
154
- ],
155
- license: "MIT",
156
- },
157
- "dependencies/risc0-ethereum-1.2.0/src/IRiscZeroSelectable.sol": {
158
- keccak256: "0x39019bc9524b46ce9818d4d46a0fec57015ef0484858228bcb3b1c45efc7db19",
159
- urls: [
160
- "bzz-raw://964ecb93cae8853bf4781bdc8cb2cf1049dff5c052da6b798759487093b1c4ab",
161
- "dweb:/ipfs/QmXfKLM74E3Y4m5y4JiVJdZjmkzCmHPTqS1aqSJ9vdSXyA",
162
- ],
163
- license: "Apache-2.0",
164
- },
165
- "dependencies/risc0-ethereum-1.2.0/src/IRiscZeroVerifier.sol": {
166
- keccak256: "0xae73e91e4d2829b0a88176584d876382b4b7540ff07c62cb947cdf9ea43d5cf3",
167
- urls: [
168
- "bzz-raw://f2dd7da39a6f9b100fc1dcde565d799462cdc7d27722d2265317c3a01619c818",
169
- "dweb:/ipfs/Qmd3k3kcvrtfkLqVza4jHodbFH8wvq5vmfPtwekBKtPjmz",
170
- ],
171
- license: "Apache-2.0",
172
- },
173
- "dependencies/risc0-ethereum-1.2.0/src/StructHash.sol": {
174
- keccak256: "0xce612be2064752d2df89cfa2e9f73bba1ad891438d11d6fa7fc1285350b12fdd",
175
- urls: [
176
- "bzz-raw://5915dac04779e37024e87f723f9ee2eecc87e9e1162f37d73d5502aced9fb484",
177
- "dweb:/ipfs/QmRLFdpKoUZeNTNditFTrE72g7sryCVnERE14duRgXHSJs",
178
- ],
179
- license: "Apache-2.0",
180
- },
181
- "dependencies/risc0-ethereum-1.2.0/src/Util.sol": {
182
- keccak256: "0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82",
183
- urls: [
184
- "bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c",
185
- "dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg",
186
- ],
187
- license: "Apache-2.0",
188
- },
189
- "dependencies/risc0-ethereum-1.2.0/src/groth16/ControlID.sol": {
190
- keccak256: "0xf54137d0a508d47c0ecb9d4f1ab478726d79b97943e48ca3abcb47d3fdfd8f95",
191
- urls: [
192
- "bzz-raw://9563419ad6cd8ddadd12c2714ff06395d0cae6b330dec77fc943b7097494bea7",
193
- "dweb:/ipfs/QmRCPFrtzu8RZJe3YnwKK6YwhJLih23T4gag1smnzHT5W8",
194
- ],
195
- license: "Apache-2.0",
196
- },
197
- "dependencies/risc0-ethereum-1.2.0/src/groth16/Groth16Verifier.sol": {
198
- keccak256: "0xaadc5747c8c88bba828e692020e880ef31d38964d3e419099e3d3a194312ea62",
199
- urls: [
200
- "bzz-raw://a0ad76c8785d08afaf315d027f6e3031c3200760c872de66f5a02d8a4364b228",
201
- "dweb:/ipfs/QmW2kF7ukKqstmCT5M33U8bvw3AXqP8yaCbWycb7v4Nsef",
202
- ],
203
- license: "GPL-3.0",
204
- },
205
- "dependencies/risc0-ethereum-1.2.0/src/groth16/RiscZeroGroth16Verifier.sol": {
206
- keccak256: "0x2eaa58d71a6f53446dc2889279cfec755541970ae8b07f1adced29481b75d5ac",
207
- urls: [
208
- "bzz-raw://ede637fde23140c135ae3bf7545a29071f80ae4d143491da4b8797b99dffcd78",
209
- "dweb:/ipfs/QmX4P3R6ktbdy4bfcJ92GfzUfLw8PC8RAH65Yhpa7dnqS4",
210
- ],
211
- license: "GPL-3.0",
212
- },
213
- "dependencies/risc0-ethereum-1.2.0/src/test/RiscZeroMockVerifier.sol": {
214
- keccak256: "0x78d0c64eed6d901237c1e9f3a6cffe0a7632ff68b3f571b72e00f43322621453",
215
- urls: [
216
- "bzz-raw://290d76f572ffc0537155f26b1447ac4a1e690409a6d1d92d84b8ecb6a4ac60ac",
217
- "dweb:/ipfs/QmQ7rgKtTRaKjzYGZLfgJUFCDCWGMNPr6rWNc5AdDrX4JA",
218
- ],
219
- license: "Apache-2.0",
220
- },
221
- "src/CallAssumptions.sol": {
222
- keccak256: "0xc3d0b9470794038f8018094138ab2d6fae7d639b8e213889a1a591f92f855025",
223
- urls: [
224
- "bzz-raw://a14b286d81c22817c91a87bece4e6a038fcfb798179fcbc782f7dd8fc9e174b7",
225
- "dweb:/ipfs/QmPZTBbCHZfscMYaqfuQ3WiVdKbBemj5wpgb8bFhygGj8K",
226
- ],
227
- license: "Apache-2.0",
228
- },
229
- "src/ImageID.sol": {
230
- keccak256: "0x67c283741512f5c2f0e2d4090ad054310a9b4ce6fe6057458433d5f72f5c6785",
231
- urls: [
232
- "bzz-raw://03ea4b9d7b379b89d9bf266afb0f275deb102e8f094984112be1aed65c8fa824",
233
- "dweb:/ipfs/QmZJgs2zuyRym7nYmsrD7F1eu3UEe5thboXZbG6p9a7nvm",
234
- ],
235
- license: "Apache-2.0",
236
- },
237
- "src/Proof.sol": {
238
- keccak256: "0x32db566314f73f696e2ff0839ca7a41c9f04d74c96f2d8604c53f92dccfa3a43",
239
- urls: [
240
- "bzz-raw://2ea032ed2a364dd97eeebe7df93cf252913284ea76a1fa1478d9436a916a83f3",
241
- "dweb:/ipfs/QmW873QftHexSzpEqmAVJ9vUd1cJD584qTa7mzqkhhipMZ",
242
- ],
243
- license: "UNLICENSED",
244
- },
245
- "src/Repository.sol": {
246
- keccak256: "0xd346825794a205b260f3e58e83ced657fffd0819fe78e24e96310f34fc9f5a0d",
247
- urls: [
248
- "bzz-raw://8185cb6e16f51ff98aa9bb2e0cc003bc1bea796ebc6425a114bb1b767123a928",
249
- "dweb:/ipfs/Qmb5UppxkVtDePuMs8Kj3SDgw2oPYcDEtZH81CKrXLhZku",
250
- ],
251
- license: "UNLICENSED",
252
- },
253
- "src/Seal.sol": {
254
- keccak256: "0xa61c6146260bd3006392ec7b91bfb46c1d73493ff5a01c9ce702b8c90f1a392c",
255
- urls: [
256
- "bzz-raw://ebf725dc623c0b6d3f8e74c2eb625d662303c22ba646fab710a4fbdf20d5e3c3",
257
- "dweb:/ipfs/Qmat3kzvD19kLMHRmomknHzJnDdQfyU5pQDbhP5BsZTSvg",
258
- ],
259
- license: "UNLICENSED",
260
- },
261
- "src/Verifier.sol": {
262
- keccak256: "0xfdbfa77a7d7a3140e479725f3095d3fbb6c2645f4fb2813f6b4009069e7bf5d6",
263
- urls: [
264
- "bzz-raw://0858955f429f8d64162c20d443c5e31edbe1bcffea240dfe7542a4c926764e4b",
265
- "dweb:/ipfs/QmbmYfqgfuM8gzqnYkXVX7vjMYfbUv7NcnUgSzUSxzPqNR",
266
- ],
267
- license: "UNLICENSED",
268
- },
269
- "src/proof_verifier/ChainId.sol": {
270
- keccak256: "0x755479916bf59498ad41df7f120f3a0b8da0ec1d00a3ea96024d8647011a73e2",
271
- urls: [
272
- "bzz-raw://3fca7683409d8ab96c18c0616c7a1de692282e9d1b5d7006649960c3dffe964e",
273
- "dweb:/ipfs/QmNo77eW4FTV7knkxgMf8z9pvb9A7xQf5eoARtcPPffjn6",
274
- ],
275
- license: "UNLICENSED",
276
- },
277
- "src/proof_verifier/FakeProofVerifier.sol": {
278
- keccak256: "0x12727eeb39e9fb2f95a80cd79865701a86bb11f5220a1b30ad94f5f8f04e658f",
279
- urls: [
280
- "bzz-raw://af702f85ff6101562fd768c604480981377b94c66657efa5f2cfc59716f25df1",
281
- "dweb:/ipfs/QmUrZz1CzgGQQH8LaWg3cKVqH9BuDuBfhX38mq66YFQZKo",
282
- ],
283
- license: "UNLICENSED",
284
- },
285
- "src/proof_verifier/Groth16ProofVerifier.sol": {
286
- keccak256: "0x9d20d28f7281d6d7cae608e3e07f485a1ebab01385ea6f6c9f14732388ca19e5",
287
- urls: [
288
- "bzz-raw://0222b49b98a410ceaaf3780e57527b85f529977dd0ff3e978fda1963d1b61e02",
289
- "dweb:/ipfs/QmbWuATM3kezBjPaYws1Czbqd5NPDnRkAKPvwHSBXANsQw",
290
- ],
291
- license: "UNLICENSED",
292
- },
293
- "src/proof_verifier/IProofVerifier.sol": {
294
- keccak256: "0xf48514ae0258f907c64cafb92d583cdbe704b4c0269da56f7336c3ec5bab0e82",
295
- urls: [
296
- "bzz-raw://a79c7bd455e908906b557c6cc7db2b6ec77d9f650a1ac0f4295c68e95894e193",
297
- "dweb:/ipfs/QmdLufVnM7uAVWLtVwdVKsLMVg2b1iKWKLN9AdJYAy4JHP",
298
- ],
299
- license: "UNLICENSED",
300
- },
301
- "src/proof_verifier/ProofVerifierBase.sol": {
302
- keccak256: "0x66f28abed63945dc6055e605176bc38da3f7fe040f7f42b1ef79c9030f2d4e75",
303
- urls: [
304
- "bzz-raw://76fa3565277af4edd785cb55778cd71959288ecd1c87634b16ae3a053e1a006d",
305
- "dweb:/ipfs/QmVarQXiK5KtLmzNo7ben9gPCHqXspfe29LApcEumgv7cD",
306
- ],
307
- license: "UNLICENSED",
308
- },
309
- "src/proof_verifier/ProofVerifierFactory.sol": {
310
- keccak256: "0xb0db7422a77c3484e9eb4980495dbcad0de8ba28c558aaadddaa6c33983e1b76",
311
- urls: [
312
- "bzz-raw://30bb192846a9066cd17e4d4bf9a3a44e521b6fd83975a9f3f3785d6871d97227",
313
- "dweb:/ipfs/QmR9dVXqBsasgXwRHPyG6ju5ZiQBzhtV9wJW7qUQV7GD7T",
314
- ],
315
- license: "UNLICENSED",
316
- },
317
- "src/proof_verifier/ProofVerifierRouter.sol": {
318
- keccak256: "0x57847e7cfea1dea540f57906316f8dcfc5116ed9d3e7f8eb44c6ffaf7345f446",
319
- urls: [
320
- "bzz-raw://ec1dafe1aec7724dbcf1b7fd1a9996e32a6366da759c07acfda408c29e63bd81",
321
- "dweb:/ipfs/QmcvqbizyceFHECiBCesJY3TbbZdGx4PiDm5zFzwtaMZA1",
322
- ],
323
- license: "UNLICENSED",
324
- },
325
- "src/testing/TestVerifierRouterDeployer.sol": {
326
- keccak256: "0xdd9a9de9e71103662fa9bbf924f9b7327f01c0c83a415a270b270f9156200649",
327
- urls: [
328
- "bzz-raw://23ef69e70387fe395a035f3597f0ee95a3bce66125281fbe3ad6774c8e9309b7",
329
- "dweb:/ipfs/QmSPTSS427MDu2eQ6xcxhcfHhvgXWWZ8o6WtYo5Hwv1p9b",
330
- ],
331
- license: "UNLICENSED",
332
- },
333
- },
334
- version: 1,
335
- },
336
- id: 56,
337
- };
338
- //# sourceMappingURL=TestVerifierRouterDeployer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestVerifierRouterDeployer.js","sourceRoot":"","sources":["../../src/abi/TestVerifierRouterDeployer.ts"],"names":[],"mappings":"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"}