Contract 0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B 3

Maker 
 
Txn Hash
Method
Block
From
To
Value
0xa556a8548dec9ec64edcdebefc1671d8c592aa9f6e5f595cfd627be1e8a9c331Frob153405662022-08-14 15:24:501 day 12 hrs ago0xae721fb008c3035e568f4d9ac0c9a6bccff4f87f IN  Maker: MCD Vat0 Ether0.‍00081161 11.‍9797053
0x6ca07e52ebd9a99e51a7bf29a39bc7b0bad307b8232a6f1d96e6ae47a8c4db02Hope153404882022-08-14 15:09:241 day 12 hrs ago0xae721fb008c3035e568f4d9ac0c9a6bccff4f87f IN  Maker: MCD Vat0 Ether0.‍00079894 16.‍52211291
0xfa8037986a806d9250df40434c305df04aee9b074b64546b48ce5309d12a83acFrob153404772022-08-14 15:06:271 day 12 hrs ago0xae721fb008c3035e568f4d9ac0c9a6bccff4f87f IN  Maker: MCD Vat0 Ether0.‍00116592 13.‍55146944
0xcd51e0e4578470e197a2570492ef6ae19d7caaa1d500a42c80f63b85bf0a28b7Hope153296792022-08-12 22:31:083 days 5 hrs ago0x56d48a77e5f302dc369f2f93e1aa86cd1f9470f2 IN  Maker: MCD Vat0 Ether0.‍00267222 55.‍26152226
0xd205c30f131777a854c54c3f85854bbcb14e007463b2c6dacdab38fedfa18cc6Hope153228992022-08-11 20:51:024 days 7 hrs ago0x56d48a77e5f302dc369f2f93e1aa86cd1f9470f2 IN  Maker: MCD Vat0 Ether0.‍00120038 24.‍8240108
0x015cd18555151bc8e49d63e564436967eecac572662e1f5210d4d51b413d7f28Frob153228392022-08-11 20:37:544 days 7 hrs ago0xae721fb008c3035e568f4d9ac0c9a6bccff4f87f IN  Maker: MCD Vat0 Ether0.‍00882559 69.‍74711569
0x61219b5d2e48ff7de5164a1785e3af9543a41d1eba27a3945303bcb1f6b6e5deFrob153228262022-08-11 20:34:314 days 7 hrs ago0xae721fb008c3035e568f4d9ac0c9a6bccff4f87f IN  Maker: MCD Vat0 Ether0.‍00254477 45.‍9237403
0xa8579b47e6c711e414343cc20461c2bbf452114c0b5ab0e1b65c97fd83a27ce8Hope152004722022-07-23 18:24:1123 days 9 hrs ago0xf74a354b18012ed62b240b003f4f674aabc4b8a2 IN  Maker: MCD Vat0 Ether0.‍00063576 13.‍14758976
0x21d3ca413fa8e75a539269906712dc9d695ecbf800fff351ed632705c01c4edcHope151923172022-07-22 12:16:4524 days 15 hrs ago0x2e0929bd71c21cfc66dce799b132f979ff8db7a0 IN  Maker: MCD Vat0 Ether0.‍00039729 8.‍21611838
0x2a9e93b6343b1692f181de11a5f1b7fbfd20bc2c60db483c0f5e32c76ac22f41Hope151921842022-07-22 11:50:5324 days 16 hrs ago0x645b933aa20391ac98b67586a4728fe62ee09883 IN  Maker: MCD Vat0 Ether0.‍0006132 12.‍68097254
0xc1661e43c75d82f3aae54b913c9ed9ed13ca9270464632cee5c1ed6b154f2367Hope151874792022-07-21 18:14:5025 days 9 hrs ago0x645b933aa20391ac98b67586a4728fe62ee09883 IN  Maker: MCD Vat0 Ether0.‍00091854 18.‍99550076
0xa5ca1578449eb3751acfb75aa608775981865cf10b3cefb06bfd580668788722Hope151853032022-07-21 10:11:5625 days 17 hrs ago0x57154a5a9c11465c19d23c43697e3a0c2dbe13c7 IN  Maker: MCD Vat0 Ether0.‍0004258.‍78901496
0x8610023206b25c1787096fe71d8b4925d1ca9710f0e1d53fd4d49203d215e21aHope151852992022-07-21 10:11:2825 days 17 hrs ago0x57154a5a9c11465c19d23c43697e3a0c2dbe13c7 IN  Maker: MCD Vat0 Ether0.‍0004903310.‍14005943
0x2e0604dcd684a1e10754e9e3e8b9327634803e7540451db2c04db6648ef257d9Hope151852972022-07-21 10:11:2025 days 17 hrs ago0x57154a5a9c11465c19d23c43697e3a0c2dbe13c7 IN  Maker: MCD Vat0 Ether0.‍0005334511.‍03192367
0x41fdff9decd481b36624fdb1f9698a27638e681d0557d55ad68660b7c9e3ee8bHope151594322022-07-17 9:43:2129 days 18 hrs ago0x2e0929bd71c21cfc66dce799b132f979ff8db7a0 IN  Maker: MCD Vat0 Ether0.‍00037754 7.‍80770981
0x1b70d3141a4d1d6ae00fc559e21f1bc6a7474bf70ee1a66ac4f9fe75dd6663a5Nope151553592022-07-16 18:40:5830 days 9 hrs ago0x72181c2739928976e82d1cc1786b09f9a59b52de IN  Maker: MCD Vat0 Ether0.‍00070022 26.‍49071471
0xb6b55b89103000184c2c36d8ee901994dff4c7918fd0d6e05f677b4875a00d8fMove151552552022-07-16 18:18:3630 days 9 hrs ago0x645b933aa20391ac98b67586a4728fe62ee09883 IN  Maker: MCD Vat0 Ether0.‍00204556 58.‍54668153
0xc9ed3dfacc35a0a8062afba8de57d60a09a70ec11dcbd0e347d520b457ce261aHope151545822022-07-16 15:38:5930 days 12 hrs ago0x645b933aa20391ac98b67586a4728fe62ee09883 IN  Maker: MCD Vat0 Ether0.‍00158399 32.‍75702047
0x591171a3978d30d23e9f7cb05156c7864e33a465bd7b012e75ae7184e965a2c5Hope151545122022-07-16 15:21:5830 days 12 hrs ago0x72181c2739928976e82d1cc1786b09f9a59b52de IN  Maker: MCD Vat0 Ether0.‍00199138 41.‍18168563
0x8f522af971f2e94f2c7731778d808ad220d13bc15188a87d6f654f24feebb329Hope151545012022-07-16 15:19:2430 days 12 hrs ago0x0048d6225d1f3ea4385627efdc5b4709cab4a21c IN  Maker: MCD Vat0 Ether0.‍00204495 42.‍28958068
0xbf22f325c3fdf64de41a160ee33f9b6939e0529a459746528421a2ed4c5a15b2Hope151317912022-07-13 3:07:4234 days 45 mins ago0x2417b973754fd3b91fe9d5916f3d70d0d0171a39 IN  Maker: MCD Vat0 Ether0.‍00102054 21.‍10490501
0xa39e152f33e44903abaf410ea10a9fb0dd447e894023d566983b0a6afa208c0aHope151220442022-07-11 15:12:4235 days 12 hrs ago0x066d6053a177d1771c5806a1196549949c764a4b IN  Maker: MCD Vat0 Ether0.‍00138516 28.‍64522797
0x3891f52e50989902888a5da609b67cc3bbbc056cfa77fea99ef42adf152ed20eHope151191142022-07-11 4:10:0535 days 23 hrs ago0x8c042eb6d64ad70a1ff28b3cfa68d7118ca2fe93 IN  Maker: MCD Vat0 Ether0.‍00123474 25.‍53451142
0xa0b9c5e00823c37e4c2d95cc11ad301d58af0ef8a623a9b81f1df6a5e15bd7b5Hope151191102022-07-11 4:08:2335 days 23 hrs ago0x8c042eb6d64ad70a1ff28b3cfa68d7118ca2fe93 IN  Maker: MCD Vat0 Ether0.‍00102504 21.‍19793176
0x3dd0ced14aa5e8a0cee7bae97c236bb824d36bca2a8c407bc6ebde17f25b7babHope151190912022-07-11 4:02:5435 days 23 hrs ago0xc713ad7305ec2eb9d8d7654190ac359293a22968 IN  Maker: MCD Vat0 Ether0.‍0008704 18
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xa39edcdeb7310150d7be44b8da94e5043d1cf8600d59f855a65c7a9c035b06a789281522019-11-13 19:16:321006 days 8 hrs ago 0x403689148fa98a5a6fdcc0b984914ae968d788e5  Contract Creation0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vat

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2019-11-14
*/

// hevm: flattened sources of /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/vat.sol
pragma solidity =0.5.12;

////// /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/vat.sol
/// vat.sol -- Dai CDP database

// Copyright (C) 2018 Rain <[email protected]>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

/* pragma solidity 0.5.12; */

contract Vat {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address usr) external note auth { require(live == 1, "Vat/not-live"); wards[usr] = 1; }
    function deny(address usr) external note auth { require(live == 1, "Vat/not-live"); wards[usr] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "Vat/not-authorized");
        _;
    }

    mapping(address => mapping (address => uint)) public can;
    function hope(address usr) external note { can[msg.sender][usr] = 1; }
    function nope(address usr) external note { can[msg.sender][usr] = 0; }
    function wish(address bit, address usr) internal view returns (bool) {
        return either(bit == usr, can[bit][usr] == 1);
    }

    // --- Data ---
    struct Ilk {
        uint256 Art;   // Total Normalised Debt     [wad]
        uint256 rate;  // Accumulated Rates         [ray]
        uint256 spot;  // Price with Safety Margin  [ray]
        uint256 line;  // Debt Ceiling              [rad]
        uint256 dust;  // Urn Debt Floor            [rad]
    }
    struct Urn {
        uint256 ink;   // Locked Collateral  [wad]
        uint256 art;   // Normalised Debt    [wad]
    }

    mapping (bytes32 => Ilk)                       public ilks;
    mapping (bytes32 => mapping (address => Urn )) public urns;
    mapping (bytes32 => mapping (address => uint)) public gem;  // [wad]
    mapping (address => uint256)                   public dai;  // [rad]
    mapping (address => uint256)                   public sin;  // [rad]

    uint256 public debt;  // Total Dai Issued    [rad]
    uint256 public vice;  // Total Unbacked Dai  [rad]
    uint256 public Line;  // Total Debt Ceiling  [rad]
    uint256 public live;  // Access Flag

    // --- Logs ---
    event LogNote(
        bytes4   indexed  sig,
        bytes32  indexed  arg1,
        bytes32  indexed  arg2,
        bytes32  indexed  arg3,
        bytes             data
    ) anonymous;

    modifier note {
        _;
        assembly {
            // log an 'anonymous' event with a constant 6 words of calldata
            // and four indexed topics: the selector and the first three args
            let mark := msize                         // end of memory ensures zero
            mstore(0x40, add(mark, 288))              // update free memory pointer
            mstore(mark, 0x20)                        // bytes type data offset
            mstore(add(mark, 0x20), 224)              // bytes size (padded)
            calldatacopy(add(mark, 0x40), 0, 224)     // bytes payload
            log4(mark, 288,                           // calldata
                 shl(224, shr(224, calldataload(0))), // msg.sig
                 calldataload(4),                     // arg1
                 calldataload(36),                    // arg2
                 calldataload(68)                     // arg3
                )
        }
    }

    // --- Init ---
    constructor() public {
        wards[msg.sender] = 1;
        live = 1;
    }

    // --- Math ---
    function add(uint x, int y) internal pure returns (uint z) {
        z = x + uint(y);
        require(y >= 0 || z <= x);
        require(y <= 0 || z >= x);
    }
    function sub(uint x, int y) internal pure returns (uint z) {
        z = x - uint(y);
        require(y <= 0 || z <= x);
        require(y >= 0 || z >= x);
    }
    function mul(uint x, int y) internal pure returns (int z) {
        z = int(x) * y;
        require(int(x) >= 0);
        require(y == 0 || z / y == int(x));
    }
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }

    // --- Administration ---
    function init(bytes32 ilk) external note auth {
        require(ilks[ilk].rate == 0, "Vat/ilk-already-init");
        ilks[ilk].rate = 10 ** 27;
    }
    function file(bytes32 what, uint data) external note auth {
        require(live == 1, "Vat/not-live");
        if (what == "Line") Line = data;
        else revert("Vat/file-unrecognized-param");
    }
    function file(bytes32 ilk, bytes32 what, uint data) external note auth {
        require(live == 1, "Vat/not-live");
        if (what == "spot") ilks[ilk].spot = data;
        else if (what == "line") ilks[ilk].line = data;
        else if (what == "dust") ilks[ilk].dust = data;
        else revert("Vat/file-unrecognized-param");
    }
    function cage() external note auth {
        live = 0;
    }

    // --- Fungibility ---
    function slip(bytes32 ilk, address usr, int256 wad) external note auth {
        gem[ilk][usr] = add(gem[ilk][usr], wad);
    }
    function flux(bytes32 ilk, address src, address dst, uint256 wad) external note {
        require(wish(src, msg.sender), "Vat/not-allowed");
        gem[ilk][src] = sub(gem[ilk][src], wad);
        gem[ilk][dst] = add(gem[ilk][dst], wad);
    }
    function move(address src, address dst, uint256 rad) external note {
        require(wish(src, msg.sender), "Vat/not-allowed");
        dai[src] = sub(dai[src], rad);
        dai[dst] = add(dai[dst], rad);
    }

    function either(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := or(x, y)}
    }
    function both(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := and(x, y)}
    }

    // --- CDP Manipulation ---
    function frob(bytes32 i, address u, address v, address w, int dink, int dart) external note {
        // system is live
        require(live == 1, "Vat/not-live");

        Urn memory urn = urns[i][u];
        Ilk memory ilk = ilks[i];
        // ilk has been initialised
        require(ilk.rate != 0, "Vat/ilk-not-init");

        urn.ink = add(urn.ink, dink);
        urn.art = add(urn.art, dart);
        ilk.Art = add(ilk.Art, dart);

        int dtab = mul(ilk.rate, dart);
        uint tab = mul(ilk.rate, urn.art);
        debt     = add(debt, dtab);

        // either debt has decreased, or debt ceilings are not exceeded
        require(either(dart <= 0, both(mul(ilk.Art, ilk.rate) <= ilk.line, debt <= Line)), "Vat/ceiling-exceeded");
        // urn is either less risky than before, or it is safe
        require(either(both(dart <= 0, dink >= 0), tab <= mul(urn.ink, ilk.spot)), "Vat/not-safe");

        // urn is either more safe, or the owner consents
        require(either(both(dart <= 0, dink >= 0), wish(u, msg.sender)), "Vat/not-allowed-u");
        // collateral src consents
        require(either(dink <= 0, wish(v, msg.sender)), "Vat/not-allowed-v");
        // debt dst consents
        require(either(dart >= 0, wish(w, msg.sender)), "Vat/not-allowed-w");

        // urn has no debt, or a non-dusty amount
        require(either(urn.art == 0, tab >= ilk.dust), "Vat/dust");

        gem[i][v] = sub(gem[i][v], dink);
        dai[w]    = add(dai[w],    dtab);

        urns[i][u] = urn;
        ilks[i]    = ilk;
    }
    // --- CDP Fungibility ---
    function fork(bytes32 ilk, address src, address dst, int dink, int dart) external note {
        Urn storage u = urns[ilk][src];
        Urn storage v = urns[ilk][dst];
        Ilk storage i = ilks[ilk];

        u.ink = sub(u.ink, dink);
        u.art = sub(u.art, dart);
        v.ink = add(v.ink, dink);
        v.art = add(v.art, dart);

        uint utab = mul(u.art, i.rate);
        uint vtab = mul(v.art, i.rate);

        // both sides consent
        require(both(wish(src, msg.sender), wish(dst, msg.sender)), "Vat/not-allowed");

        // both sides safe
        require(utab <= mul(u.ink, i.spot), "Vat/not-safe-src");
        require(vtab <= mul(v.ink, i.spot), "Vat/not-safe-dst");

        // both sides non-dusty
        require(either(utab >= i.dust, u.art == 0), "Vat/dust-src");
        require(either(vtab >= i.dust, v.art == 0), "Vat/dust-dst");
    }
    // --- CDP Confiscation ---
    function grab(bytes32 i, address u, address v, address w, int dink, int dart) external note auth {
        Urn storage urn = urns[i][u];
        Ilk storage ilk = ilks[i];

        urn.ink = add(urn.ink, dink);
        urn.art = add(urn.art, dart);
        ilk.Art = add(ilk.Art, dart);

        int dtab = mul(ilk.rate, dart);

        gem[i][v] = sub(gem[i][v], dink);
        sin[w]    = sub(sin[w],    dtab);
        vice      = sub(vice,      dtab);
    }

    // --- Settlement ---
    function heal(uint rad) external note {
        address u = msg.sender;
        sin[u] = sub(sin[u], rad);
        dai[u] = sub(dai[u], rad);
        vice   = sub(vice,   rad);
        debt   = sub(debt,   rad);
    }
    function suck(address u, address v, uint rad) external note auth {
        sin[u] = add(sin[u], rad);
        dai[v] = add(dai[v], rad);
        vice   = add(vice,   rad);
        debt   = add(debt,   rad);
    }

    // --- Rates ---
    function fold(bytes32 i, address u, int rate) external note auth {
        require(live == 1, "Vat/not-live");
        Ilk storage ilk = ilks[i];
        ilk.rate = add(ilk.rate, rate);
        int rad  = mul(ilk.Art, rate);
        dai[u]   = add(dai[u], rad);
        debt     = add(debt,   rad);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg3","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"constant":true,"inputs":[],"name":"Line","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"can","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"dai","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"flux","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"i","type":"bytes32"},{"internalType":"address","name":"u","type":"address"},{"internalType":"int256","name":"rate","type":"int256"}],"name":"fold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"int256","name":"dink","type":"int256"},{"internalType":"int256","name":"dart","type":"int256"}],"name":"fork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"i","type":"bytes32"},{"internalType":"address","name":"u","type":"address"},{"internalType":"address","name":"v","type":"address"},{"internalType":"address","name":"w","type":"address"},{"internalType":"int256","name":"dink","type":"int256"},{"internalType":"int256","name":"dart","type":"int256"}],"name":"frob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"gem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"i","type":"bytes32"},{"internalType":"address","name":"u","type":"address"},{"internalType":"address","name":"v","type":"address"},{"internalType":"address","name":"w","type":"address"},{"internalType":"int256","name":"dink","type":"int256"},{"internalType":"int256","name":"dart","type":"int256"}],"name":"grab","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rad","type":"uint256"}],"name":"heal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"hope","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"ilks","outputs":[{"internalType":"uint256","name":"Art","type":"uint256"},{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"spot","type":"uint256"},{"internalType":"uint256","name":"line","type":"uint256"},{"internalType":"uint256","name":"dust","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"live","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"nope","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"address","name":"usr","type":"address"},{"internalType":"int256","name":"wad","type":"int256"}],"name":"slip","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"u","type":"address"},{"internalType":"address","name":"v","type":"address"},{"internalType":"uint256","name":"rad","type":"uint256"}],"name":"suck","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"urns","outputs":[{"internalType":"uint256","name":"ink","type":"uint256"},{"internalType":"uint256","name":"art","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a819055506134b58061006c6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637cdd3fde116100f9578063bb35783b11610097578063dc4d20fa11610071578063dc4d20fa1461096c578063f059212a146109b0578063f24e23eb14610a08578063f37ac61c14610a76576101c4565b8063bb35783b14610848578063bf353dbb146108b6578063d9638d361461090e576101c4565b80639c52a7f1116100d35780639c52a7f11461074a578063a3b22fc41461078e578063b65337df146107d2578063babe8a3f1461082a576101c4565b80637cdd3fde14610652578063870c616d146106aa578063957aa58c1461072c576101c4565b80634538c4eb11610166578063692450091161014057806369245009146104ac5780636c25b346146104b6578063760887031461050e5780637bab3f40146105b0576101c4565b80634538c4eb146103785780636111be2e146103f057806365fae35e14610468576101c4565b80632424be5c116101a25780632424be5c1461028b57806329ae8114146102f45780632d61a3551461032c5780633b6631951461034a576101c4565b80630dca59c1146101c95780631a0b287e146101e7578063214414d514610229575b600080fd5b6101d1610aa4565b6040518082815260200191505060405180910390f35b610227600480360360608110156101fd57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610aaa565b005b6102756004803603604081101561023f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d58565b6040518082815260200191505060405180910390f35b6102d7600480360360408110156102a157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d7d565b604051808381526020018281526020019250505060405180910390f35b61032a6004803603604081101561030a57600080fd5b810190808035906020019092919080359060200190929190505050610dae565b005b610334610fb5565b6040518082815260200191505060405180910390f35b6103766004803603602081101561036057600080fd5b8101908080359060200190929190505050610fbb565b005b6103da6004803603604081101561038e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115a565b6040518082815260200191505060405180910390f35b6104666004803603608081101561040657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117f565b005b6104aa6004803603602081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611392565b005b6104b461153a565b005b6104f8600480360360208110156104cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162d565b6040518082815260200191505060405180910390f35b6105ae600480360360c081101561052457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611645565b005b610650600480360360c08110156105c657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e31565b005b6106a86004803603606081101561066857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612130565b005b61072a600480360360a08110156106c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506122cc565b005b610734612700565b6040518082815260200191505060405180910390f35b61078c6004803603602081101561076057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612706565b005b6107d0600480360360208110156107a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ae565b005b610828600480360360608110156107e857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612967565b005b610832612bac565b6040518082815260200191505060405180910390f35b6108b46004803603606081101561085e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bb2565b005b6108f8600480360360208110156108cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d80565b6040518082815260200191505060405180910390f35b61093a6004803603602081101561092457600080fd5b8101908080359060200190929190505050612d98565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6109ae6004803603602081101561098257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612dce565b005b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e88565b6040518082815260200191505060405180910390f35b610a7460048036036060811015610a1e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612ea0565b005b610aa260048036036020811015610a8c57600080fd5b81019080803590602001909291905050506130ca565b005b60075481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414610bd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b7f73706f7400000000000000000000000000000000000000000000000000000000821415610c1e57806002600085815260200190815260200160002060020181905550610d1e565b7f6c696e6500000000000000000000000000000000000000000000000000000000821415610c6657806002600085815260200190815260200160002060030181905550610d1d565b7f6475737400000000000000000000000000000000000000000000000000000000821415610cae57806002600085815260200190815260200160002060040181905550610d1c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5661742f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b5b5b5961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6003602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b7f4c696e6500000000000000000000000000000000000000000000000000000000821415610f0e5780600981905550610f7c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5661742f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a4505050565b60085481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461106f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60006002600083815260200190815260200160002060010154146110fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661742f696c6b2d616c72656164792d696e697400000000000000000000000081525060200191505060405180910390fd5b6b033b2e3c9fd0803ce800000060026000838152602001908152602001600020600101819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b6001602052816000526040600020602052806000526040600020600091509150505481565b6111898333613244565b6111fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6112556004600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613304565b6004600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113036004600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b6004600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611446576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a54146114be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6000600a819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450565b60056020528060005260406000206000915090505481565b6001600a54146116bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6116c5613437565b6003600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180604001604052908160008201548152602001600182015481525050905061173e613451565b600260008981526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905060008160200151141561180b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f696c6b2d6e6f742d696e69740000000000000000000000000000000081525060200191505060405180910390fd5b611819826000015185613338565b826000018181525050611830826020015184613338565b826020018181525050611847816000015184613338565b8160000181815250506000611860826020015185613377565b90506000611876836020015185602001516133b2565b905061188460075483613338565b6007819055506118c060008613156118bb85606001516118ac876000015188602001516133b2565b111560095460075411156133de565b6133eb565b611932576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661742f6365696c696e672d657863656564656400000000000000000000000081525060200191505060405180910390fd5b611961611947600087131560008912156133de565b611959866000015186604001516133b2565b8311156133eb565b6119d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d73616665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6119f76119e8600087131560008912156133de565b6119f28b33613244565b6133eb565b611a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7500000000000000000000000000000081525060200191505060405180910390fd5b611a806000871315611a7b8a33613244565b6133eb565b611af2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7600000000000000000000000000000081525060200191505060405180910390fd5b611b096000861215611b048933613244565b6133eb565b611b7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7700000000000000000000000000000081525060200191505060405180910390fd5b611b93600085602001511484608001518310156133eb565b611c05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f5661742f6475737400000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611c5f600460008c815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876133f8565b600460008c815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfc600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613338565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600360008c815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015590505082600260008c81526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60006003600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600260008981526020019081526020016000209050611f5e826000015485613338565b8260000181905550611f74826001015484613338565b8260010181905550611f8a816000015484613338565b81600001819055506000611fa2826001015485613377565b9050611ffe600460008b815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866133f8565b600460008b815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061209b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826133f8565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ea600854826133f8565b6008819055505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146121e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b61223e6004600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613338565b6004600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60006003600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006003600088815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006002600089815260200190815260200160002090506123998360000154866133f8565b83600001819055506123af8360010154856133f8565b83600101819055506123c5826000015486613338565b82600001819055506123db826001015485613338565b826001018190555060006123f7846001015483600101546133b2565b9050600061240d846001015484600101546133b2565b905061242b61241c8a33613244565b6124268a33613244565b6133de565b61249d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6124af856000015484600201546133b2565b821115612524576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f6e6f742d736166652d7372630000000000000000000000000000000081525060200191505060405180910390fd5b612536846000015484600201546133b2565b8111156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f6e6f742d736166652d6473740000000000000000000000000000000081525060200191505060405180910390fd5b6125c3836004015483101560008760010154146133eb565b612635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f647573742d737263000000000000000000000000000000000000000081525060200191505060405180910390fd5b61264d836004015482101560008660010154146133eb565b6126bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f647573742d647374000000000000000000000000000000000000000081525060200191505060405180910390fd5b50505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a4505050505050565b600a5481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414612832576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612a1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414612a93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600260008581526020019081526020016000209050612ab8816001015483613338565b81600101819055506000612ad0826000015484613377565b9050612b1b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613338565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b6a60075482613338565b60078190555050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60095481565b612bbc8333613244565b612c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b612c77600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613304565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d03600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60006020528060005260406000206000915090505481565b60026020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60066020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b612f9d600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613029600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130786008548261331e565b60088190555061308a6007548261331e565b6007819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b6000339050613118600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613304565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131a4600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613304565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f360085483613304565b60088190555061320560075483613304565b600781905550505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60006132fc8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161460018060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146133eb565b905092915050565b600082828403915081111561331857600080fd5b92915050565b600082828401915081101561333257600080fd5b92915050565b6000818301905060008212158061334f5750828111155b61335857600080fd5b6000821315806133685750828110155b61337157600080fd5b92915050565b60008183029050600083121561338c57600080fd5b60008214806133a35750828282816133a057fe5b05145b6133ac57600080fd5b92915050565b6000808214806133cf57508282838502925082816133cc57fe5b04145b6133d857600080fd5b92915050565b6000818316905092915050565b6000818317905092915050565b6000818303905060008213158061340f5750828111155b61341857600080fd5b6000821215806134285750828110155b61343157600080fd5b92915050565b604051806040016040528060008152602001600081525090565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fea265627a7a723158208a74d6db3d5b0eba259e13b86f201f0fda2be3ffedbc0b4f90a67d87593f4de764736f6c634300050c0032

Deployed ByteCode Sourcemap

1008:9560:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1008:9560:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2596:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5396:343;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5396:343:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2372:57;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2307:58;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2307:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;5184:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5184:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2652:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5025:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5025:153:0;;;;;;;;;;;;;;;;;:::i;:::-;;1414:56;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1414:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5978:248;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5978:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1094:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1094:101:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5745:62;;;:::i;:::-;;2446:57;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2446:57:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6711:1584;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6711:1584:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9270:473;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9270:473:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5843:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5843:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8333:898;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8333:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2764:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1201:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1201:101:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1477:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1477:70:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10254:311;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10254:311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2708:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6232:215;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6232:215:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1049:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1049:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2242:58;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2242:58:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1553:70:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2520:57;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2520:57:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10007:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10007:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9778:223;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9778:223:0;;;;;;;;;;;;;;;;;:::i;:::-;;2596:19;;;;:::o;5396:343::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5494:1;5486:4;;:9;5478:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5527:14;:4;:14;5523:208;;;5560:4;5543;:9;5548:3;5543:9;;;;;;;;;;;:14;;:21;;;;5523:208;;;5584:14;:4;:14;5580:151;;;5617:4;5600;:9;5605:3;5600:9;;;;;;;;;;;:14;;:21;;;;5580:151;;;5641:14;:4;:14;5637:94;;;5674:4;5657;:9;5662:3;5657:9;;;;;;;;;;;:14;;:21;;;;5637:94;;;5694:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5637:94;5580:151;5523:208;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;:::o;2372:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2307:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5184:206::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5269:1;5261:4;;:9;5253:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5302:14;:4;:14;5298:84;;;5325:4;5318;:11;;;;5298:84;;;5345:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5298:84;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;:::o;2652:19::-;;;;:::o;5025:153::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5108:1;5090:4;:9;5095:3;5090:9;;;;;;;;;;;:14;;;:19;5082:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5162:8;5145:4;:9;5150:3;5145:9;;;;;;;;;;;:14;;:25;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;1414:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5978:248::-;6077:21;6082:3;6087:10;6077:4;:21::i;:::-;6069:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6145:23;6149:3;:8;6153:3;6149:8;;;;;;;;;;;:13;6158:3;6149:13;;;;;;;;;;;;;;;;6164:3;6145;:23::i;:::-;6129:3;:8;6133:3;6129:8;;;;;;;;;;;:13;6138:3;6129:13;;;;;;;;;;;;;;;:39;;;;6195:23;6199:3;:8;6203:3;6199:8;;;;;;;;;;;:13;6208:3;6199:13;;;;;;;;;;;;;;;;6214:3;6195;:23::i;:::-;6179:3;:8;6183:3;6179:8;;;;;;;;;;;:13;6188:3;6179:13;;;;;;;;;;;;;;;:39;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;;:::o;1094:101::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:1;1150:4;;:9;1142:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:1;1178:5;:10;1184:3;1178:10;;;;;;;;;;;;;;;:14;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;5745:62::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5798:1;5791:4;:8;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;:::o;2446:57::-;;;;;;;;;;;;;;;;;:::o;6711:1584::-;6857:1;6849:4;;:9;6841:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6888:14;;:::i;:::-;6905:4;:7;6910:1;6905:7;;;;;;;;;;;:10;6913:1;6905:10;;;;;;;;;;;;;;;6888:27;;;;;;;;;;;;;;;;;;;;;;;;;;;6926:14;;:::i;:::-;6943:4;:7;6948:1;6943:7;;;;;;;;;;;6926:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:1;7006:3;:8;;;:13;;6998:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7063:18;7067:3;:7;;;7076:4;7063:3;:18::i;:::-;7053:3;:7;;:28;;;;;7102:18;7106:3;:7;;;7115:4;7102:3;:18::i;:::-;7092:3;:7;;:28;;;;;7141:18;7145:3;:7;;;7154:4;7141:3;:18::i;:::-;7131:3;:7;;:28;;;;;7172:8;7183:19;7187:3;:8;;;7197:4;7183:3;:19::i;:::-;7172:30;;7213:8;7224:22;7228:3;:8;;;7238:3;:7;;;7224:3;:22::i;:::-;7213:33;;7268:15;7272:4;;7278;7268:3;:15::i;:::-;7257:4;:26;;;;7377:73;7392:1;7384:4;:9;;7395:54;7426:3;:8;;;7400:22;7404:3;:7;;;7413:3;:8;;;7400:3;:22::i;:::-;:34;;7444:4;;7436;;:12;;7395:4;:54::i;:::-;7377:6;:73::i;:::-;7369:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7558:65;7565:26;7578:1;7570:4;:9;;7589:1;7581:4;:9;;7565:4;:26::i;:::-;7600:22;7604:3;:7;;;7613:3;:8;;;7600:3;:22::i;:::-;7593:3;:29;;7558:6;:65::i;:::-;7550:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7720:55;7727:26;7740:1;7732:4;:9;;7751:1;7743:4;:9;;7727:4;:26::i;:::-;7755:19;7760:1;7763:10;7755:4;:19::i;:::-;7720:6;:55::i;:::-;7712:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7852:38;7867:1;7859:4;:9;;7870:19;7875:1;7878:10;7870:4;:19::i;:::-;7852:6;:38::i;:::-;7844:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:38;7976:1;7968:4;:9;;7979:19;7984:1;7987:10;7979:4;:19::i;:::-;7961:6;:38::i;:::-;7953:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8093:37;8111:1;8100:3;:7;;;:12;8121:3;:8;;;8114:3;:15;;8093:6;:37::i;:::-;8085:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8168:20;8172:3;:6;8176:1;8172:6;;;;;;;;;;;:9;8179:1;8172:9;;;;;;;;;;;;;;;;8183:4;8168:3;:20::i;:::-;8156:3;:6;8160:1;8156:6;;;;;;;;;;;:9;8163:1;8156:9;;;;;;;;;;;;;;;:32;;;;8211:20;8215:3;:6;8219:1;8215:6;;;;;;;;;;;;;;;;8226:4;8211:3;:20::i;:::-;8199:3;:6;8203:1;8199:6;;;;;;;;;;;;;;;:32;;;;8257:3;8244:4;:7;8249:1;8244:7;;;;;;;;;;;:10;8252:1;8244:10;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;;8284:3;8271:4;:7;8276:1;8271:7;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3057:1;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;;;;:::o;9270:473::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9378:15;9396:4;:7;9401:1;9396:7;;;;;;;;;;;:10;9404:1;9396:10;;;;;;;;;;;;;;;9378:28;;9417:15;9435:4;:7;9440:1;9435:7;;;;;;;;;;;9417:25;;9465:18;9469:3;:7;;;9478:4;9465:3;:18::i;:::-;9455:3;:7;;:28;;;;9504:18;9508:3;:7;;;9517:4;9504:3;:18::i;:::-;9494:3;:7;;:28;;;;9543:18;9547:3;:7;;;9556:4;9543:3;:18::i;:::-;9533:3;:7;;:28;;;;9574:8;9585:19;9589:3;:8;;;9599:4;9585:3;:19::i;:::-;9574:30;;9629:20;9633:3;:6;9637:1;9633:6;;;;;;;;;;;:9;9640:1;9633:9;;;;;;;;;;;;;;;;9644:4;9629:3;:20::i;:::-;9617:3;:6;9621:1;9617:6;;;;;;;;;;;:9;9624:1;9617:9;;;;;;;;;;;;;;;:32;;;;9672:20;9676:3;:6;9680:1;9676:6;;;;;;;;;;;;;;;;9687:4;9672:3;:20::i;:::-;9660:3;:6;9664:1;9660:6;;;;;;;;;;;;;;;:32;;;;9715:20;9719:4;;9730;9715:3;:20::i;:::-;9703:4;:32;;;;1397:1;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;;;;:::o;5843:129::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5941:23;5945:3;:8;5949:3;5945:8;;;;;;;;;;;:13;5954:3;5945:13;;;;;;;;;;;;;;;;5960:3;5941;:23::i;:::-;5925:3;:8;5929:3;5925:8;;;;;;;;;;;:13;5934:3;5925:13;;;;;;;;;;;;;;;:39;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;:::o;8333:898::-;8431:13;8447:4;:9;8452:3;8447:9;;;;;;;;;;;:14;8457:3;8447:14;;;;;;;;;;;;;;;8431:30;;8472:13;8488:4;:9;8493:3;8488:9;;;;;;;;;;;:14;8498:3;8488:14;;;;;;;;;;;;;;;8472:30;;8513:13;8529:4;:9;8534:3;8529:9;;;;;;;;;;;8513:25;;8559:16;8563:1;:5;;;8570:4;8559:3;:16::i;:::-;8551:1;:5;;:24;;;;8594:16;8598:1;:5;;;8605:4;8594:3;:16::i;:::-;8586:1;:5;;:24;;;;8629:16;8633:1;:5;;;8640:4;8629:3;:16::i;:::-;8621:1;:5;;:24;;;;8664:16;8668:1;:5;;;8675:4;8664:3;:16::i;:::-;8656:1;:5;;:24;;;;8693:9;8705:18;8709:1;:5;;;8716:1;:6;;;8705:3;:18::i;:::-;8693:30;;8734:9;8746:18;8750:1;:5;;;8757:1;:6;;;8746:3;:18::i;:::-;8734:30;;8816:50;8821:21;8826:3;8831:10;8821:4;:21::i;:::-;8844;8849:3;8854:10;8844:4;:21::i;:::-;8816:4;:50::i;:::-;8808:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8943:18;8947:1;:5;;;8954:1;:6;;;8943:3;:18::i;:::-;8935:4;:26;;8927:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9009:18;9013:1;:5;;;9020:1;:6;;;9009:3;:18::i;:::-;9001:4;:26;;8993:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9102:34;9117:1;:6;;;9109:4;:14;;9134:1;9125;:5;;;:10;9102:6;:34::i;:::-;9094:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9172:34;9187:1;:6;;;9179:4;:14;;9204:1;9195;:5;;;:10;9172:6;:34::i;:::-;9164:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3057:1;;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;;;:::o;2764:19::-;;;;:::o;1201:101::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1265:1;1257:4;;:9;1249:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:1;1285:5;:10;1291:3;1285:10;;;;;;;;;;;;;;;:14;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;1477:70::-;1543:1;1520:3;:15;1524:10;1520:15;;;;;;;;;;;;;;;:20;1536:3;1520:20;;;;;;;;;;;;;;;:24;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;10254:311::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10346:1;10338:4;;:9;10330:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10375:15;10393:4;:7;10398:1;10393:7;;;;;;;;;;;10375:25;;10422:19;10426:3;:8;;;10436:4;10422:3;:19::i;:::-;10411:3;:8;;:30;;;;10452:7;10463:18;10467:3;:7;;;10476:4;10463:3;:18::i;:::-;10452:29;;10503:16;10507:3;:6;10511:1;10507:6;;;;;;;;;;;;;;;;10515:3;10503;:16::i;:::-;10492:3;:6;10496:1;10492:6;;;;;;;;;;;;;;;:27;;;;10541:16;10545:4;;10553:3;10541;:16::i;:::-;10530:4;:27;;;;1397:1;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;:::o;2708:19::-;;;;:::o;6232:215::-;6318:21;6323:3;6328:10;6318:4;:21::i;:::-;6310:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6381:18;6385:3;:8;6389:3;6385:8;;;;;;;;;;;;;;;;6395:3;6381;:18::i;:::-;6370:3;:8;6374:3;6370:8;;;;;;;;;;;;;;;:29;;;;6421:18;6425:3;:8;6429:3;6425:8;;;;;;;;;;;;;;;;6435:3;6421;:18::i;:::-;6410:3;:8;6414:3;6410:8;;;;;;;;;;;;;;;:29;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;:::o;1049:38::-;;;;;;;;;;;;;;;;;:::o;2242:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1553:70::-;1619:1;1596:3;:15;1600:10;1596:15;;;;;;;;;;;;;;;:20;1612:3;1596:20;;;;;;;;;;;;;;;:24;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;2520:57::-;;;;;;;;;;;;;;;;;:::o;10007:217::-;1362:1;1341:5;:17;1347:10;1341:17;;;;;;;;;;;;;;;;:22;1333:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10092:16;10096:3;:6;10100:1;10096:6;;;;;;;;;;;;;;;;10104:3;10092;:16::i;:::-;10083:3;:6;10087:1;10083:6;;;;;;;;;;;;;;;:25;;;;10128:16;10132:3;:6;10136:1;10132:6;;;;;;;;;;;;;;;;10140:3;10128;:16::i;:::-;10119:3;:6;10123:1;10119:6;;;;;;;;;;;;;;;:25;;;;10164:16;10168:4;;10176:3;10164;:16::i;:::-;10155:4;:25;;;;10200:16;10204:4;;10212:3;10200;:16::i;:::-;10191:4;:25;;;;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;;;:::o;9778:223::-;9827:9;9839:10;9827:22;;9869:16;9873:3;:6;9877:1;9873:6;;;;;;;;;;;;;;;;9881:3;9869;:16::i;:::-;9860:3;:6;9864:1;9860:6;;;;;;;;;;;;;;;:25;;;;9905:16;9909:3;:6;9913:1;9909:6;;;;;;;;;;;;;;;;9917:3;9905;:16::i;:::-;9896:3;:6;9900:1;9896:6;;;;;;;;;;;;;;;:25;;;;9941:16;9945:4;;9953:3;9941;:16::i;:::-;9932:4;:25;;;;9977:16;9981:4;;9989:3;9977;:16::i;:::-;9968:4;:25;;;;3057:1;3261:5;3357:3;3351:4;3347:14;3341:4;3334:28;3432:4;3426;3419:18;3524:3;3517:4;3511;3507:15;3500:28;3611:3;3608:1;3601:4;3595;3591:15;3578:37;3927:2;3914:16;3864:2;3851:16;3801:1;3788:15;3753:1;3740:15;3735:3;3731:25;3726:3;3722:35;3661:3;3655:4;3650:327;3078:910;;:::o;1629:133::-;1692:4;1716:38;1730:3;1723:10;;:3;:10;;;1752:1;1735:3;:8;1739:3;1735:8;;;;;;;;;;;;;;;:13;1744:3;1735:13;;;;;;;;;;;;;;;;:18;1716:6;:38::i;:::-;1709:45;;1629:133;;;;:::o;4758:104::-;4810:6;4852:1;4846;4842;:5;4838:9;;;4837:16;;4829:25;;;;;;4758:104;;;;:::o;4648:::-;4700:6;4742:1;4736;4732;:5;4728:9;;;4727:16;;4719:25;;;;;;4648:104;;;;:::o;4133:165::-;4184:6;4216:1;4207;:11;4203:15;;4242:1;4237;:6;;:16;;;;4252:1;4247;:6;;4237:16;4229:25;;;;;;4278:1;4273;:6;;:16;;;;4288:1;4283;:6;;4273:16;4265:25;;;;;;4133:165;;;;:::o;4475:167::-;4526:5;4557:1;4552;4548:10;4544:14;;4587:1;4581;4577:11;;4569:20;;;;;;4613:1;4608;:6;:25;;;;4631:1;4622;4618;:5;;;;;;:15;4608:25;4600:34;;;;;;4475:167;;;;:::o;4868:118::-;4920:6;4952:1;4947;:6;:30;;;;4976:1;4971;4966;4962;:5;4958:9;;;4957:15;;;;;;:20;4947:30;4939:39;;;;;;4868:118;;;;:::o;6566:104::-;6619:6;6660:1;6657;6653:9;6648:14;;6646:17;;;;:::o;6455:105::-;6510:6;6550:1;6547;6544:8;6539:13;;6537:16;;;;:::o;4304:165::-;4355:6;4387:1;4378;:11;4374:15;;4413:1;4408;:6;;:16;;;;4423:1;4418;:6;;4408:16;4400:25;;;;;;4449:1;4444;:6;;:16;;;;4459:1;4454;:6;;4444:16;4436:25;;;;;;4304:165;;;;:::o;1008:9560::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://8a74d6db3d5b0eba259e13b86f201f0fda2be3ffedbc0b4f90a67d87593f4de7
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.