{
  "_format": "hh-sol-artifact-1",
  "contractName": "RankingHandlerLib",
  "sourceName": "contracts/V3/handler/RankingHandlerLib.sol",
  "abi": [
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "uint32",
                  "name": "triggerThreshold",
                  "type": "uint32"
                },
                {
                  "internalType": "uint32",
                  "name": "deadLine",
                  "type": "uint32"
                },
                {
                  "internalType": "uint32",
                  "name": "lastTriggerTime",
                  "type": "uint32"
                },
                {
                  "internalType": "bool",
                  "name": "triggerLocked",
                  "type": "bool"
                },
                {
                  "internalType": "uint8",
                  "name": "losePercentage",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "awardMode",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "randomMode",
                  "type": "uint8"
                },
                {
                  "internalType": "uint16",
                  "name": "lockLastTime",
                  "type": "uint16"
                }
              ],
              "internalType": "struct RankingHandlerLib.LotterySetting",
              "name": "lotterySettings",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "participant",
                  "type": "address"
                },
                {
                  "internalType": "uint48",
                  "name": "weightBegin",
                  "type": "uint48"
                },
                {
                  "internalType": "uint48",
                  "name": "weightEnd",
                  "type": "uint48"
                }
              ],
              "internalType": "struct RankingHandlerLib.ParticipantInfo[]",
              "name": "participantInfos",
              "type": "tuple[]"
            },
            {
              "internalType": "uint256",
              "name": "randomResult",
              "type": "uint256"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "winner",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "claimed",
                  "type": "bool"
                },
                {
                  "internalType": "uint8",
                  "name": "roundId",
                  "type": "uint8"
                }
              ],
              "internalType": "struct RankingHandlerLib.Winner[]",
              "name": "winners",
              "type": "tuple[]"
            },
            {
              "internalType": "uint32",
              "name": "currentThreshold",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "claimCountRemain",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "noOneWin",
              "type": "bool"
            }
          ],
          "internalType": "struct RankingHandlerLib.LotteryInfo",
          "name": "self",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "engine",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "clusterArea",
              "type": "address"
            },
            {
              "internalType": "uint32",
              "name": "clusterId",
              "type": "uint32"
            },
            {
              "internalType": "uint16",
              "name": "ruleSlotIndexInput",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "ruleSlotIndexOutput",
              "type": "uint16"
            },
            {
              "internalType": "uint8",
              "name": "branch",
              "type": "uint8"
            },
            {
              "internalType": "address",
              "name": "stateCounter",
              "type": "address"
            },
            {
              "internalType": "uint32",
              "name": "taskId",
              "type": "uint32"
            },
            {
              "internalType": "address",
              "name": "caller",
              "type": "address"
            },
            {
              "internalType": "uint8",
              "name": "cmd",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "args",
              "type": "bytes"
            }
          ],
          "internalType": "struct Handler.StateParams",
          "name": "params",
          "type": "tuple"
        },
        {
          "internalType": "uint256[]",
          "name": "groupArgs",
          "type": "uint256[]"
        }
      ],
      "name": "getState",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x611d4161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806312593de71461003a575b600080fd5b61004d610048366004611906565b610063565b60405161005a9190611a7b565b60405180910390f35b610120820151606090819060ff1661030957604080516007808252610100820190925290816020015b606081526020019060019003908161008c57505060408051808201909152601081526f1d1c9a59d9d95c951a1c995cda1bdb1960821b60208201528651519192506100dc9163ffffffff16610541565b816000815181106100ef576100ef611add565b602002602001018190525061013260405180604001604052806008815260200167646561644c696e6560c01b81525086600001516020015163ffffffff16610541565b8160018151811061014557610145611add565b602002602001018190525061018b6040518060400160405280600e81526020016d6c6f736550657263656e7461676560901b81525086600001516080015160ff16610541565b8160028151811061019e5761019e611add565b60200260200101819052506101df6040518060400160405280600981526020016861776172644d6f646560b81b815250866000015160a0015160ff16610541565b816003815181106101f2576101f2611add565b602002602001018190525061022f6040518060400160405280600c81526020016b1c985b991bdb54995cdd5b1d60a21b8152508660400151610541565b8160048151811061024257610242611add565b602002602001018190525061028c604051806040016040528060088152602001673737a7b732abb4b760c11b8152508660c00151610281576000610284565b60015b60ff16610541565b8160058151811061029f5761029f611add565b60200260200101819052506102e66040518060400160405280601081526020016f18dd5c9c995b9d151a1c995cda1bdb1960821b815250866080015163ffffffff16610541565b816006815181106102f9576102f9611add565b6020026020010181905250610539565b600160ff1684610120015160ff16036103ce5760408051600180825281830190925290816020015b606081526020019060019003908161033157505061014085015190915060009061035b9082610663565b90506103aa604051806040016040528060068152602001653bb4b73732b960d11b81525087606001518361ffff168151811061039957610399611add565b6020026020010151600001516106e8565b826000815181106103bd576103bd611add565b602002602001018190525050610539565b600260ff1684610120015160ff1603610539576003835110156103f2576000610400565b600183516104009190611b09565b6001600160401b03811115610417576104176113db565b60405190808252806020026020018201604052801561044a57816020015b60608152602001906001900390816104355790505b50805190915015610539576104946040518060400160405280600381526020016266656560e81b8152508460008151811061048757610487611add565b6020026020010151610541565b816000815181106104a7576104a7611add565b602090810291909101015260015b815181101561053757604080518082019091526012815271636f756e74416e6450657263656e7461676560701b602082015261050790856104f7846001611b1c565b8151811061048757610487611add565b82828151811061051957610519611add565b6020026020010181905250808061052f90611b2f565b9150506104b5565b505b949350505050565b6060600061054e84610778565b9050600061055b84610783565b905061059e6040518060400160405280600e81526020016d0b4b4b4b4b4b4b481d1bd55a5b9d60921b8152506105998361059490611b48565b610796565b6107e2565b60408051600380825260808201909252600091816020015b60608152602001906001900390816105b657905050905082816000815181106105e1576105e1611add565b6020026020010181905250610611604051806040016040528060048152602001631d5a5b9d60e21b815250610778565b8160018151811061062457610624611add565b6020026020010181905250818160028151811061064357610643611add565b60200260200101819052506106578161082b565b93505050505b92915050565b60008061069f61069a8560408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6108b0565b90506105396106c9828560ff16815181106106bc576106bc611add565b60200260200101516108b0565b6002815181106106db576106db611add565b60200260200101516109c5565b606060006106f584610778565b9050600061070284610a12565b6040805160038082526080820190925291925060009190816020015b606081526020019060019003908161071e579050509050828160008151811061074957610749611add565b6020026020010181905250610611604051806040016040528060078152602001666164647265737360c81b8152505b606061065d82610a31565b606061065d61079183610a81565b610a31565b60606107a182610bb2565b6107ae608084901b610bb2565b60405161060f60f31b6020820152602281019290925260428201526062016040516020818303038152906040529050919050565b61082782826040516024016107f8929190611b6c565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052610d5c565b5050565b606061085a6040518060400160405280600c81526020016b656e636f64654c697374203160a01b815250610d68565b600061086583610dab565b90506108946040518060400160405280600c81526020016b32b731b7b232a634b9ba101960a11b815250610d68565b6108a96108a3825160c0610ede565b82611094565b9392505050565b60606108bb82611111565b6108c457600080fd5b60006108cf8361114c565b90506000816001600160401b038111156108eb576108eb6113db565b60405190808252806020026020018201604052801561093057816020015b60408051808201909152600080825260208201528152602001906001900390816109095790505b509050600061094285602001516111d1565b85602001516109519190611b1c565b90506000805b848110156109ba5761096883611252565b915060405180604001604052808381526020018481525084828151811061099157610991611add565b60209081029190910101526109a68284611b1c565b9250806109b281611b2f565b915050610957565b509195945050505050565b8051600090158015906109da57508151602110155b6109e357600080fd5b6000806109ef846112f6565b8151919350915060208210156105395760208290036101000a9004949350505050565b60408051600560a21b83186014820152603481019091526060906108a9815b60608082516001148015610a605750608083600081518110610a5557610a55611add565b016020015160f81c11155b15610a6c57508161065d565b6108a9610a7b84516080610ede565b84611094565b6040805160208082528183019092526060916000919060208201818036833701905050905082602082015260005b6020811015610af257818181518110610aca57610aca611add565b01602001516001600160f81b031916600003610af25780610aea81611b2f565b915050610aaf565b6000610aff826020611b09565b6001600160401b03811115610b1657610b166113db565b6040519080825280601f01601f191660200182016040528015610b40576020820181803683370190505b50905060005b8151811015610537578383610b5a81611b2f565b945081518110610b6c57610b6c611add565b602001015160f81c60f81b828281518110610b8957610b89611add565b60200101906001600160f81b031916908160001a90535080610baa81611b2f565b915050610b46565b7aff00000000000000ff00000000000000ff00000000000000ff000063ffffffff60401b604083901c90811663ffffffff60c01b84161760201c63ffffffff60601b919091166001600160e01b031984161717601081901c91821678ff00000000000000ff00000000000000ff00000000000000ff60301b821617600890811c7bff00000000000000ff00000000000000ff00000000000000ff000000939093167fff00000000000000ff00000000000000ff00000000000000ff000000000000009290921691909117919091179081901c7e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f167f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f00600492831c161790610cf8827f0606060606060606060606060606060606060606060606060606060606060606611b1c565b901c7f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f166007610d289190611b9a565b610d52827f3030303030303030303030303030303030303030303030303030303030303030611b1c565b61065d9190611b1c565b610d658161133d565b50565b610d6581604051602401610d7c9190611bb1565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610d5c565b60608151600003610dcf5760408051600080825260208201909252905b5092915050565b6000805b8351811015610e1657838181518110610dee57610dee611add565b60200260200101515182610e029190611b1c565b915080610e0e81611b2f565b915050610dd3565b6000826001600160401b03811115610e3057610e306113db565b6040519080825280601f01601f191660200182016040528015610e5a576020820181803683370190505b50600092509050602081015b8551831015610537576000868481518110610e8357610e83611add565b602002602001015190506000602082019050610ea18382845161135e565b878581518110610eb357610eb3611add565b60200260200101515183610ec79190611b1c565b925050508280610ed690611b2f565b935050610e66565b6060806038841015610f485760408051600180825281830190925290602082018180368337019050509050610f138385611b1c565b601f1a60f81b81600081518110610f2c57610f2c611add565b60200101906001600160f81b031916908160001a9053506108a9565b600060015b610f578187611bda565b15610f7d5781610f6681611b2f565b9250610f76905061010082611b9a565b9050610f4d565b610f88826001611b1c565b6001600160401b03811115610f9f57610f9f6113db565b6040519080825280601f01601f191660200182016040528015610fc9576020820181803683370190505b509250610fd68583611b1c565b610fe1906037611b1c565b601f1a60f81b83600081518110610ffa57610ffa611add565b60200101906001600160f81b031916908160001a905350600190505b81811161108b5761010061102a8284611b09565b61103690610100611cd2565b6110409088611bda565b61104a9190611cde565b601f1a60f81b83828151811061106257611062611add565b60200101906001600160f81b031916908160001a9053508061108381611b2f565b915050611016565b50509392505050565b6060806040519050835180825260208201818101602087015b818310156110c55780518352602092830192016110ad565b50855184518101855292509050808201602086015b818310156110f25780518352602092830192016110da565b508651929092011591909101601f01601f191660405250905092915050565b8051600090810361112457506000919050565b6020820151805160001a9060c0821015611142575060009392505050565b5060019392505050565b8051600090810361115f57506000919050565b60008061116f84602001516111d1565b846020015161117e9190611b1c565b90506000846000015185602001516111969190611b1c565b90505b808210156111c8576111aa82611252565b6111b49083611b1c565b9150826111c081611b2f565b935050611199565b50909392505050565b8051600090811a60808110156111ea5750600092915050565b60b8811080611205575060c08110801590611205575060f881105b156112135750600192915050565b60c081101561124057611228600160b8611cf2565b6112359060ff1682611b09565b6108a9906001611b1c565b611228600160f8611cf2565b50919050565b80516000908190811a608081101561126d5760019150610dc8565b60b881101561129357611281608082611b09565b61128c906001611b1c565b9150610dc8565b60c08110156112c05760b78103600185019450806020036101000a85510460018201810193505050610dc8565b60f88110156112d45761128160c082611b09565b60019390930151602084900360f7016101000a900490920160f5190192915050565b600080600061130884602001516111d1565b9050600081856020015161131c9190611b1c565b905060008286600001516113309190611b09565b9196919550909350505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b8282825b6020811061139a5781518352611379602084611b1c565b9250611386602083611b1c565b9150611393602082611b09565b9050611362565b80156113d357600060016113af836020611b09565b6113bb90610100611cd2565b6113c59190611b09565b835185518216911916178452505b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611413576114136113db565b60405290565b60405161016081016001600160401b0381118282101715611413576114136113db565b60405160e081016001600160401b0381118282101715611413576114136113db565b604051601f8201601f191681016001600160401b0381118282101715611486576114866113db565b604052919050565b803563ffffffff811681146114a257600080fd5b919050565b803580151581146114a257600080fd5b803560ff811681146114a257600080fd5b803561ffff811681146114a257600080fd5b60006101008083850312156114ee57600080fd5b604051908101906001600160401b0382118183101715611510576115106113db565b816040528092506115208461148e565b815261152e6020850161148e565b602082015261153f6040850161148e565b6040820152611550606085016114a7565b6060820152611561608085016114b7565b608082015261157260a085016114b7565b60a082015261158360c085016114b7565b60c082015261159460e085016114c8565b60e0820152505092915050565b60006001600160401b038211156115ba576115ba6113db565b5060051b60200190565b80356001600160a01b03811681146114a257600080fd5b803565ffffffffffff811681146114a257600080fd5b600082601f83011261160257600080fd5b81356020611617611612836115a1565b61145e565b8281526060928302850182019282820191908785111561163657600080fd5b8387015b858110156116925781818a0312156116525760008081fd5b61165a6113f1565b611663826115c4565b81526116708683016115db565b8682015260406116818184016115db565b90820152845292840192810161163a565b5090979650505050505050565b600082601f8301126116b057600080fd5b813560206116c0611612836115a1565b828152606092830285018201928282019190878511156116df57600080fd5b8387015b858110156116925781818a0312156116fb5760008081fd5b6117036113f1565b61170c826115c4565b81526117198683016114a7565b86820152604061172a8184016114b7565b9082015284529284019281016116e3565b600082601f83011261174c57600080fd5b81356001600160401b03811115611765576117656113db565b611778601f8201601f191660200161145e565b81815284602083860101111561178d57600080fd5b816020850160208301376000918101602001919091529392505050565b600061016082840312156117bd57600080fd5b6117c5611419565b90506117d0826115c4565b81526117de602083016115c4565b60208201526117ef6040830161148e565b6040820152611800606083016114c8565b6060820152611811608083016114c8565b608082015261182260a083016114b7565b60a082015261183360c083016115c4565b60c082015261184460e0830161148e565b60e08201526101006118578184016115c4565b908201526101206118698382016114b7565b90820152610140828101356001600160401b0381111561188857600080fd5b6118948582860161173b565b82840152505092915050565b600082601f8301126118b157600080fd5b813560206118c1611612836115a1565b82815260059290921b840181019181810190868411156118e057600080fd5b8286015b848110156118fb57803583529183019183016118e4565b509695505050505050565b60008060006060848603121561191b57600080fd5b83356001600160401b038082111561193257600080fd5b908501906101c0828803121561194757600080fd5b61194f61143c565b61195988846114da565b81526101008301358281111561196e57600080fd5b61197a898286016115f1565b60208301525061012083013560408201526101408301358281111561199e57600080fd5b6119aa8982860161169f565b6060830152506119bd610160840161148e565b60808201526119cf610180840161148e565b60a08201526119e16101a084016114a7565b60c0820152945060208601359150808211156119fc57600080fd5b611a08878388016117aa565b93506040860135915080821115611a1e57600080fd5b50611a2b868287016118a0565b9150509250925092565b6000815180845260005b81811015611a5b57602081850181015186830182015201611a3f565b506000602082860101526020601f19601f83011685010191505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611ad057603f19888603018452611abe858351611a35565b94509285019290850190600101611aa2565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561065d5761065d611af3565b8082018082111561065d5761065d611af3565b600060018201611b4157611b41611af3565b5060010190565b8051602080830151919081101561124c5760001960209190910360031b1b16919050565b604081526000611b7f6040830185611a35565b8281036020840152611b918185611a35565b95945050505050565b808202811582820484141761065d5761065d611af3565b6020815260006108a96020830184611a35565b634e487b7160e01b600052601260045260246000fd5b600082611be957611be9611bc4565b500490565b600181815b80851115611c29578160001904821115611c0f57611c0f611af3565b80851615611c1c57918102915b93841c9390800290611bf3565b509250929050565b600082611c405750600161065d565b81611c4d5750600061065d565b8160018114611c635760028114611c6d57611c89565b600191505061065d565b60ff841115611c7e57611c7e611af3565b50506001821b61065d565b5060208310610133831016604e8410600b8410161715611cac575081810a61065d565b611cb68383611bee565b8060001904821115611cca57611cca611af3565b029392505050565b60006108a98383611c31565b600082611ced57611ced611bc4565b500690565b60ff828116828216039081111561065d5761065d611af356fea2646970667358221220f72ca28ce8be9809f3d4fc1a1750d9b8fd8b7fe7a4a1bea7397b3824c8258a7164736f6c63430008110033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806312593de71461003a575b600080fd5b61004d610048366004611906565b610063565b60405161005a9190611a7b565b60405180910390f35b610120820151606090819060ff1661030957604080516007808252610100820190925290816020015b606081526020019060019003908161008c57505060408051808201909152601081526f1d1c9a59d9d95c951a1c995cda1bdb1960821b60208201528651519192506100dc9163ffffffff16610541565b816000815181106100ef576100ef611add565b602002602001018190525061013260405180604001604052806008815260200167646561644c696e6560c01b81525086600001516020015163ffffffff16610541565b8160018151811061014557610145611add565b602002602001018190525061018b6040518060400160405280600e81526020016d6c6f736550657263656e7461676560901b81525086600001516080015160ff16610541565b8160028151811061019e5761019e611add565b60200260200101819052506101df6040518060400160405280600981526020016861776172644d6f646560b81b815250866000015160a0015160ff16610541565b816003815181106101f2576101f2611add565b602002602001018190525061022f6040518060400160405280600c81526020016b1c985b991bdb54995cdd5b1d60a21b8152508660400151610541565b8160048151811061024257610242611add565b602002602001018190525061028c604051806040016040528060088152602001673737a7b732abb4b760c11b8152508660c00151610281576000610284565b60015b60ff16610541565b8160058151811061029f5761029f611add565b60200260200101819052506102e66040518060400160405280601081526020016f18dd5c9c995b9d151a1c995cda1bdb1960821b815250866080015163ffffffff16610541565b816006815181106102f9576102f9611add565b6020026020010181905250610539565b600160ff1684610120015160ff16036103ce5760408051600180825281830190925290816020015b606081526020019060019003908161033157505061014085015190915060009061035b9082610663565b90506103aa604051806040016040528060068152602001653bb4b73732b960d11b81525087606001518361ffff168151811061039957610399611add565b6020026020010151600001516106e8565b826000815181106103bd576103bd611add565b602002602001018190525050610539565b600260ff1684610120015160ff1603610539576003835110156103f2576000610400565b600183516104009190611b09565b6001600160401b03811115610417576104176113db565b60405190808252806020026020018201604052801561044a57816020015b60608152602001906001900390816104355790505b50805190915015610539576104946040518060400160405280600381526020016266656560e81b8152508460008151811061048757610487611add565b6020026020010151610541565b816000815181106104a7576104a7611add565b602090810291909101015260015b815181101561053757604080518082019091526012815271636f756e74416e6450657263656e7461676560701b602082015261050790856104f7846001611b1c565b8151811061048757610487611add565b82828151811061051957610519611add565b6020026020010181905250808061052f90611b2f565b9150506104b5565b505b949350505050565b6060600061054e84610778565b9050600061055b84610783565b905061059e6040518060400160405280600e81526020016d0b4b4b4b4b4b4b481d1bd55a5b9d60921b8152506105998361059490611b48565b610796565b6107e2565b60408051600380825260808201909252600091816020015b60608152602001906001900390816105b657905050905082816000815181106105e1576105e1611add565b6020026020010181905250610611604051806040016040528060048152602001631d5a5b9d60e21b815250610778565b8160018151811061062457610624611add565b6020026020010181905250818160028151811061064357610643611add565b60200260200101819052506106578161082b565b93505050505b92915050565b60008061069f61069a8560408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6108b0565b90506105396106c9828560ff16815181106106bc576106bc611add565b60200260200101516108b0565b6002815181106106db576106db611add565b60200260200101516109c5565b606060006106f584610778565b9050600061070284610a12565b6040805160038082526080820190925291925060009190816020015b606081526020019060019003908161071e579050509050828160008151811061074957610749611add565b6020026020010181905250610611604051806040016040528060078152602001666164647265737360c81b8152505b606061065d82610a31565b606061065d61079183610a81565b610a31565b60606107a182610bb2565b6107ae608084901b610bb2565b60405161060f60f31b6020820152602281019290925260428201526062016040516020818303038152906040529050919050565b61082782826040516024016107f8929190611b6c565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052610d5c565b5050565b606061085a6040518060400160405280600c81526020016b656e636f64654c697374203160a01b815250610d68565b600061086583610dab565b90506108946040518060400160405280600c81526020016b32b731b7b232a634b9ba101960a11b815250610d68565b6108a96108a3825160c0610ede565b82611094565b9392505050565b60606108bb82611111565b6108c457600080fd5b60006108cf8361114c565b90506000816001600160401b038111156108eb576108eb6113db565b60405190808252806020026020018201604052801561093057816020015b60408051808201909152600080825260208201528152602001906001900390816109095790505b509050600061094285602001516111d1565b85602001516109519190611b1c565b90506000805b848110156109ba5761096883611252565b915060405180604001604052808381526020018481525084828151811061099157610991611add565b60209081029190910101526109a68284611b1c565b9250806109b281611b2f565b915050610957565b509195945050505050565b8051600090158015906109da57508151602110155b6109e357600080fd5b6000806109ef846112f6565b8151919350915060208210156105395760208290036101000a9004949350505050565b60408051600560a21b83186014820152603481019091526060906108a9815b60608082516001148015610a605750608083600081518110610a5557610a55611add565b016020015160f81c11155b15610a6c57508161065d565b6108a9610a7b84516080610ede565b84611094565b6040805160208082528183019092526060916000919060208201818036833701905050905082602082015260005b6020811015610af257818181518110610aca57610aca611add565b01602001516001600160f81b031916600003610af25780610aea81611b2f565b915050610aaf565b6000610aff826020611b09565b6001600160401b03811115610b1657610b166113db565b6040519080825280601f01601f191660200182016040528015610b40576020820181803683370190505b50905060005b8151811015610537578383610b5a81611b2f565b945081518110610b6c57610b6c611add565b602001015160f81c60f81b828281518110610b8957610b89611add565b60200101906001600160f81b031916908160001a90535080610baa81611b2f565b915050610b46565b7aff00000000000000ff00000000000000ff00000000000000ff000063ffffffff60401b604083901c90811663ffffffff60c01b84161760201c63ffffffff60601b919091166001600160e01b031984161717601081901c91821678ff00000000000000ff00000000000000ff00000000000000ff60301b821617600890811c7bff00000000000000ff00000000000000ff00000000000000ff000000939093167fff00000000000000ff00000000000000ff00000000000000ff000000000000009290921691909117919091179081901c7e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f167f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f00600492831c161790610cf8827f0606060606060606060606060606060606060606060606060606060606060606611b1c565b901c7f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f166007610d289190611b9a565b610d52827f3030303030303030303030303030303030303030303030303030303030303030611b1c565b61065d9190611b1c565b610d658161133d565b50565b610d6581604051602401610d7c9190611bb1565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610d5c565b60608151600003610dcf5760408051600080825260208201909252905b5092915050565b6000805b8351811015610e1657838181518110610dee57610dee611add565b60200260200101515182610e029190611b1c565b915080610e0e81611b2f565b915050610dd3565b6000826001600160401b03811115610e3057610e306113db565b6040519080825280601f01601f191660200182016040528015610e5a576020820181803683370190505b50600092509050602081015b8551831015610537576000868481518110610e8357610e83611add565b602002602001015190506000602082019050610ea18382845161135e565b878581518110610eb357610eb3611add565b60200260200101515183610ec79190611b1c565b925050508280610ed690611b2f565b935050610e66565b6060806038841015610f485760408051600180825281830190925290602082018180368337019050509050610f138385611b1c565b601f1a60f81b81600081518110610f2c57610f2c611add565b60200101906001600160f81b031916908160001a9053506108a9565b600060015b610f578187611bda565b15610f7d5781610f6681611b2f565b9250610f76905061010082611b9a565b9050610f4d565b610f88826001611b1c565b6001600160401b03811115610f9f57610f9f6113db565b6040519080825280601f01601f191660200182016040528015610fc9576020820181803683370190505b509250610fd68583611b1c565b610fe1906037611b1c565b601f1a60f81b83600081518110610ffa57610ffa611add565b60200101906001600160f81b031916908160001a905350600190505b81811161108b5761010061102a8284611b09565b61103690610100611cd2565b6110409088611bda565b61104a9190611cde565b601f1a60f81b83828151811061106257611062611add565b60200101906001600160f81b031916908160001a9053508061108381611b2f565b915050611016565b50509392505050565b6060806040519050835180825260208201818101602087015b818310156110c55780518352602092830192016110ad565b50855184518101855292509050808201602086015b818310156110f25780518352602092830192016110da565b508651929092011591909101601f01601f191660405250905092915050565b8051600090810361112457506000919050565b6020820151805160001a9060c0821015611142575060009392505050565b5060019392505050565b8051600090810361115f57506000919050565b60008061116f84602001516111d1565b846020015161117e9190611b1c565b90506000846000015185602001516111969190611b1c565b90505b808210156111c8576111aa82611252565b6111b49083611b1c565b9150826111c081611b2f565b935050611199565b50909392505050565b8051600090811a60808110156111ea5750600092915050565b60b8811080611205575060c08110801590611205575060f881105b156112135750600192915050565b60c081101561124057611228600160b8611cf2565b6112359060ff1682611b09565b6108a9906001611b1c565b611228600160f8611cf2565b50919050565b80516000908190811a608081101561126d5760019150610dc8565b60b881101561129357611281608082611b09565b61128c906001611b1c565b9150610dc8565b60c08110156112c05760b78103600185019450806020036101000a85510460018201810193505050610dc8565b60f88110156112d45761128160c082611b09565b60019390930151602084900360f7016101000a900490920160f5190192915050565b600080600061130884602001516111d1565b9050600081856020015161131c9190611b1c565b905060008286600001516113309190611b09565b9196919550909350505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b8282825b6020811061139a5781518352611379602084611b1c565b9250611386602083611b1c565b9150611393602082611b09565b9050611362565b80156113d357600060016113af836020611b09565b6113bb90610100611cd2565b6113c59190611b09565b835185518216911916178452505b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611413576114136113db565b60405290565b60405161016081016001600160401b0381118282101715611413576114136113db565b60405160e081016001600160401b0381118282101715611413576114136113db565b604051601f8201601f191681016001600160401b0381118282101715611486576114866113db565b604052919050565b803563ffffffff811681146114a257600080fd5b919050565b803580151581146114a257600080fd5b803560ff811681146114a257600080fd5b803561ffff811681146114a257600080fd5b60006101008083850312156114ee57600080fd5b604051908101906001600160401b0382118183101715611510576115106113db565b816040528092506115208461148e565b815261152e6020850161148e565b602082015261153f6040850161148e565b6040820152611550606085016114a7565b6060820152611561608085016114b7565b608082015261157260a085016114b7565b60a082015261158360c085016114b7565b60c082015261159460e085016114c8565b60e0820152505092915050565b60006001600160401b038211156115ba576115ba6113db565b5060051b60200190565b80356001600160a01b03811681146114a257600080fd5b803565ffffffffffff811681146114a257600080fd5b600082601f83011261160257600080fd5b81356020611617611612836115a1565b61145e565b8281526060928302850182019282820191908785111561163657600080fd5b8387015b858110156116925781818a0312156116525760008081fd5b61165a6113f1565b611663826115c4565b81526116708683016115db565b8682015260406116818184016115db565b90820152845292840192810161163a565b5090979650505050505050565b600082601f8301126116b057600080fd5b813560206116c0611612836115a1565b828152606092830285018201928282019190878511156116df57600080fd5b8387015b858110156116925781818a0312156116fb5760008081fd5b6117036113f1565b61170c826115c4565b81526117198683016114a7565b86820152604061172a8184016114b7565b9082015284529284019281016116e3565b600082601f83011261174c57600080fd5b81356001600160401b03811115611765576117656113db565b611778601f8201601f191660200161145e565b81815284602083860101111561178d57600080fd5b816020850160208301376000918101602001919091529392505050565b600061016082840312156117bd57600080fd5b6117c5611419565b90506117d0826115c4565b81526117de602083016115c4565b60208201526117ef6040830161148e565b6040820152611800606083016114c8565b6060820152611811608083016114c8565b608082015261182260a083016114b7565b60a082015261183360c083016115c4565b60c082015261184460e0830161148e565b60e08201526101006118578184016115c4565b908201526101206118698382016114b7565b90820152610140828101356001600160401b0381111561188857600080fd5b6118948582860161173b565b82840152505092915050565b600082601f8301126118b157600080fd5b813560206118c1611612836115a1565b82815260059290921b840181019181810190868411156118e057600080fd5b8286015b848110156118fb57803583529183019183016118e4565b509695505050505050565b60008060006060848603121561191b57600080fd5b83356001600160401b038082111561193257600080fd5b908501906101c0828803121561194757600080fd5b61194f61143c565b61195988846114da565b81526101008301358281111561196e57600080fd5b61197a898286016115f1565b60208301525061012083013560408201526101408301358281111561199e57600080fd5b6119aa8982860161169f565b6060830152506119bd610160840161148e565b60808201526119cf610180840161148e565b60a08201526119e16101a084016114a7565b60c0820152945060208601359150808211156119fc57600080fd5b611a08878388016117aa565b93506040860135915080821115611a1e57600080fd5b50611a2b868287016118a0565b9150509250925092565b6000815180845260005b81811015611a5b57602081850181015186830182015201611a3f565b506000602082860101526020601f19601f83011685010191505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611ad057603f19888603018452611abe858351611a35565b94509285019290850190600101611aa2565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561065d5761065d611af3565b8082018082111561065d5761065d611af3565b600060018201611b4157611b41611af3565b5060010190565b8051602080830151919081101561124c5760001960209190910360031b1b16919050565b604081526000611b7f6040830185611a35565b8281036020840152611b918185611a35565b95945050505050565b808202811582820484141761065d5761065d611af3565b6020815260006108a96020830184611a35565b634e487b7160e01b600052601260045260246000fd5b600082611be957611be9611bc4565b500490565b600181815b80851115611c29578160001904821115611c0f57611c0f611af3565b80851615611c1c57918102915b93841c9390800290611bf3565b509250929050565b600082611c405750600161065d565b81611c4d5750600061065d565b8160018114611c635760028114611c6d57611c89565b600191505061065d565b60ff841115611c7e57611c7e611af3565b50506001821b61065d565b5060208310610133831016604e8410600b8410161715611cac575081810a61065d565b611cb68383611bee565b8060001904821115611cca57611cca611af3565b029392505050565b60006108a98383611c31565b600082611ced57611ced611bc4565b500690565b60ff828116828216039081111561065d5761065d611af356fea2646970667358221220f72ca28ce8be9809f3d4fc1a1750d9b8fd8b7fe7a4a1bea7397b3824c8258a7164736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
