Contract 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b03 3

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xecc3173251fef692ad0a82939a778e3411ffd547f6abe51f7717bde8f5187c15Approve111037942021-09-21 9:13:0718 mins ago0x02b135f4b8fc70b18c7d125652d30f7420d308ea IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0x5c14d40c06570e18e379774b90b6eaf46ca60ebd78dc049e368f59293b479105Transfer111028512021-09-21 8:25:551 hr 6 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000408264
0xd4017492a2198ef38a72630bd273b0eaa5caa241fc89c3b69adecf5a00673580Transfer111028512021-09-21 8:25:551 hr 6 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0x32fce45998f6b559ba26079544aa7c80a602329470f216e26557f93057bb665aTransfer111028512021-09-21 8:25:551 hr 6 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0xd0a42eb2f78da5a38826e5e044f9c3f64b2630f33fb15d19479ce820aff4aad7Transfer111028512021-09-21 8:25:551 hr 6 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0x1c208417833dde0e4d509d11c3893e4a9bb783a1b9ce11137d8c6276ace1d577Transfer111028512021-09-21 8:25:551 hr 6 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0x1fc75e5caaf221ee20cac8287f0bb10abd6575d77de947b1a4173b0640241547Approve111015522021-09-21 7:20:562 hrs 11 mins ago0xe4641f0dea0f8b6d7271243bb05e143015ac7c13 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0xf7eb22e1bb80b046837cf97662296555f699bb2a32796eccf5d7371cee7a938cApprove111014712021-09-21 7:16:532 hrs 15 mins ago0xaeefd04d016a74c06355b61c41c7d8a0c99bb489 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221225
0xe57b13f87a9dc5bbc4b754dec1f5e61f32b1f7cdeb174001e95d8366e3ab9cf2Transfer111007462021-09-21 6:40:382 hrs 51 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000408264
0x2fb0b6ef0945ce616c6c39d25a4120b4554689a6d25cf7ea0787c8d81922dd00Transfer111007462021-09-21 6:40:382 hrs 51 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0x114f3b5203aa329641404886624d33d5f503dfc4b4614f4ad6466c14c09d4b4bTransfer111007462021-09-21 6:40:382 hrs 51 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0xd6438f34bd6f93ad94514d96e09804dc17b0106dbb2d8709d99af7da989aad2eTransfer111007462021-09-21 6:40:382 hrs 51 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000527784
0xa798907f57754f73febe567f525f4cc92ef49a7d3613617f395d158c0f36db8cApprove110983262021-09-21 4:39:384 hrs 52 mins ago0xc2719ccb7f963685042ca9e7472b4ce4da7676ee IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221225
0x8be7ea14f8e0edfafafbce1ee040685f9257c60d1601f6873311bfa9e252fd6dTransfer110979172021-09-21 4:19:115 hrs 12 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000707784
0xb61d7ce8a8c9dc25ee47fcc50bacf75932c01fc6d21f918fb5a82472698da9aeApprove110975312021-09-21 3:59:535 hrs 32 mins ago0xa229f78eed3bf58ecb6bb93ccf24a42649709158 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221225
0xf793417df30bb866edce74fe92d937ca743f30e5d5ace6477f9172672e519229Approve110952202021-09-21 2:04:207 hrs 27 mins ago0x219c37af1d3cff6caaab04c7c3862c5ff9f58952 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221225
0xcfd09151e60e8f9b9968ef2209dd0601769d77903c720534aba252be5a8354a0Approve110937212021-09-21 0:48:478 hrs 43 mins ago0xf69b57b7a2432cc97a8acee31c31d467fac37907 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0x13f946efeb274d49d88e42fd737b5a355cd505e2cf7a28e431aa7be49245f70dTransfer110936602021-09-21 0:45:448 hrs 46 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000707784
0x6331c967e63f5b0a37318b075cedde3a4d6247fed65f30597d04d1eff1311880Transfer110936602021-09-21 0:45:448 hrs 46 mins ago0xb888a4f397d7edceab921ab9b6ccdc21c25bdc36 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000408264
0x8dde4df6ef7a0ec4b9df4e4358ce254f3df0a7b111bbd20de05ac68b7dbcff33Approve110934192021-09-21 0:33:008 hrs 59 mins ago0x16880b9a7994fa7e9691a9f7ce58286191ef7b79 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0xe7fe5395111902e09992ecab70e1eabcbb9ea7cdf90f523fb0b44f3de3f472caApprove110927192021-09-20 23:57:239 hrs 34 mins ago0x78964b3a347197a6857587c9ab830ba3fd0dab81 IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0xf6bb370d9a91e8d0bb624d50a2e0a03be9db8559ece68807841f41d3f3f9a626Approve110916132021-09-20 23:01:2510 hrs 30 mins ago0xb57da01e8bca50d3b307883e5c11f1546217cf1b IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0x5c4f5c68686182455c1026e0c15336a336295fa3a9d10749959d55512d1c84d1Approve110905452021-09-20 22:07:5911 hrs 24 mins ago0x099fc7f1a9bb5ce6e15ba5905975949abf7fa75c IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000221345
0x2e96d86e9cdd4713656a10c7699890e400bd22db4100b7531eb681cd672e9eb6Approve110905342021-09-20 22:07:2611 hrs 24 mins ago0x24be7d398e09b054a00ae6c1914081da50ba2a4e IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000222485
0x49f72b8f76fd2c9f5b177cfe19982d43569bd517433a73687e0da838b9960077Approve110905282021-09-20 22:07:0811 hrs 24 mins ago0x099fc7f1a9bb5ce6e15ba5905975949abf7fa75c IN  0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030 BNB0.000222485
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5dd2d27b3fcc7bc3a139370c0cea21f11f762fdac19afadd9a369adb152b97b589385602021-07-07 4:49:3776 days 4 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024429762950994038 BNB
0x20f81832df283c4280767aa91a401cd4ee11d1d5b28a816c6175c0692a53f39d89385602021-07-07 4:49:3776 days 4 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.02445718846999335 BNB
0x4c2c86a4544e5ffeb020ed9ce57bf0921103464d47b6571538726b8aa9e6d89d89385602021-07-07 4:49:3776 days 4 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024484660214116765 BNB
0xfb9ae67f806101aa0aae079c1b22231cf8d2d473c661f491d0e93d526298ef7889385602021-07-07 4:49:3776 days 4 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024512178287305197 BNB
0x9f258dba96ebaf96b84a1b47a75cf1205dade6b36248a042c0fd6137598194d589370572021-07-07 3:34:2876 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024565069601196617 BNB
0x830680f6fde69eb4af7377b7d1b19b23e7b7adf17b56bd3b24bc711d00bfab0a89370572021-07-07 3:34:2876 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024592723518098947 BNB
0xab24d67694cdcd3c54ff2d87cafcc1ef7c823ab10f991f915598750eabe5434f89370572021-07-07 3:34:2876 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024620424174453033 BNB
0x46dabc4f9e30ded983d25811164dc31ae352fbe815238fe22ca88355b68bce9889370572021-07-07 3:34:2876 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024648171675666068 BNB
0xcc98d092c1986bd720666e3fe11b84061e67ac1731677197e45600d23ff77c4789370572021-07-07 3:34:2876 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024675966127442666 BNB
0x70c560b55998acf82f9e27aa8f649a9f3c4a3318596964bd39cdd51f34b5384c89370562021-07-07 3:34:2576 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024703807635785649 BNB
0x2c6ad77370ae6b26204b67f17b60d20d6141a7051e28025bd810aba65311aa8589370562021-07-07 3:34:2576 days 5 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024731532234718397 BNB
0xe7697603699553ecf394b2a6194e3b41ee8f1e6d28a927d8fa376ae4e70bf9fc89354802021-07-07 2:15:3776 days 7 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024759467990082691 BNB
0x47ac143e315fb1e577cf5d22e6c725c566675afcad0f9da046e62ffc155e7f9b89354792021-07-07 2:15:3476 days 7 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024787451121508067 BNB
0xc2a006ce13254154dfe29b8b4706e2b4e2a0a1aae05f9343bac88483bee8ad1b89354792021-07-07 2:15:3476 days 7 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024814595018128546 BNB
0xc16e00e99c55218ec2b8515118d92a5d0d8a4d797d2003f1d4b8f82a786db97189284162021-07-06 20:22:1776 days 13 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.021849874559576019 BNB
0xc767bd9477fdee5b9e22f53948498ce357760bb77b18dfd5634d27980b8a0d4a89284162021-07-06 20:22:1776 days 13 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.021873073098468537 BNB
0xc35c3a9ba7bc1a59a3e489e017cf8c98bd92efdcc942e9ef0d4987f81b30a5fc89284162021-07-06 20:22:1776 days 13 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.021896308615640423 BNB
0x1e14825601bc6f0f01b960abb5f0cf345b61de2e14e367f1971e1696c776bb2389221932021-07-06 15:10:5676 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024333479859150309 BNB
0xbb0c5e622182383b2a4fe291aafef45e74cf6e357b2bd7f40066e4d80244235c89221922021-07-06 15:10:5376 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024360749117487994 BNB
0xf7cea4affeb63980d276e6916c3a4ad4675c83c67cbf7e8e3380e6fa3d06657089221922021-07-06 15:10:5376 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.02438806425648284 BNB
0x8109f35d6b5c8cf960874367fad693e74be9012e47ff5f1fc9c7e390940f79cc89221912021-07-06 15:10:5076 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024415425379136672 BNB
0xfb2dd38de530f0ef6a02ceb5080388b240c6abf0faa49c0cac9df93390a261c289221902021-07-06 15:10:4776 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024442832588740347 BNB
0xc198919d73e2beb43fc6c51d761198ae261f70a9a04832eafa4769124a376b8889221892021-07-06 15:10:4476 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024470285988875178 BNB
0x677fb2d4bf78d52fc0eadffe17ffe4a8c70f3e28fc6915e8e772f035894a2de689221882021-07-06 15:10:4176 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.02449778568341353 BNB
0x60b0087d279ad1a1153ccd7e3dee2d4bf8e50481880d0678a17c6e38feb0e04889221882021-07-06 15:10:4176 days 18 hrs ago 0xbc26fac021ee15dee618c5b67c17a2fc6efa430d 0xc12ecee46ed65d970ee5c899fcc7ae133aff9b030.024525331776519986 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TRYfinance

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-01-24
*/

pragma solidity ^0.5.17;


contract Context {

    constructor () internal { }


    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; 
        return msg.data;
    }
}

contract WhitelistAdminRole is Context {
    using Roles for Roles.Role;

    event WhitelistAdminAdded(address indexed account);
    event WhitelistAdminRemoved(address indexed account);

    Roles.Role private _whitelistAdmins;

    constructor () internal {
        _addWhitelistAdmin(_msgSender());
    }

    modifier onlyWhitelistAdmin() {
        require(isWhitelistAdmin(_msgSender()), "WhitelistAdminRole: caller does not have the WhitelistAdmin role");
        _;
    }

    function isWhitelistAdmin(address account) public view returns (bool) {
        return _whitelistAdmins.has(account);
    }
    function addWhitelistAdmin(address account) public onlyWhitelistAdmin {
        _addWhitelistAdmin(account);
    }

    function renounceWhitelistAdmin() public {
        _removeWhitelistAdmin(_msgSender());
    }

    function _addWhitelistAdmin(address account) internal {
        _whitelistAdmins.add(account);
        emit WhitelistAdminAdded(account);
    } 

    function _removeWhitelistAdmin(address account) internal {
        _whitelistAdmins.remove(account);
        emit WhitelistAdminRemoved(account);
    }
}


interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);
     
    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {

        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
    function ceil(uint a, uint m) internal pure returns (uint r) {
        return (a + m - 1) / m * m;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;
    constructor (uint256 totalSupply) public {
        _mint(_msgSender(),totalSupply);
    }
    
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance"));
    }
}

contract ERC20Burnable is Context, ERC20 {

    function burn(uint256 amount) public {
        _burn(_msgSender(), amount);
    }

    function burnFrom(address account, uint256 amount) public {
        _burnFrom(account, amount);
    }
}

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

contract ERC20TransferLiquidityLock is ERC20 {
    using SafeMath for uint256;


    event Rebalance(uint256 tokenBurnt);
    event SupplyTRYStake(uint256 tokenAmount);
    event RewardStakers(uint256 stakingRewards);
    
    address public TRYStake;
    address public Trident = address (this);
    address public TRYswap1;
    address public token = address (this);
    address payable public treasury;
    mapping(address => bool) public feelessAddr;
    mapping(address => bool) public unlocked;
    mapping(address => bool) public oracle; 
    mapping(address => bool) public boracle; 
    
    uint256 public rewardPoolDivisor;
    uint256 public buyPoolDivisor;
    uint256 public rebalanceRewardDivisor;
    uint256 public rebalanceDivisor; 
    uint256 public burnTxFee; 
    uint256 public callz;
    uint256 public split;
    uint256 public antiDumpFee;       
    uint256 public minRebalanceAmount;
    uint256 public lastRebalance;
    uint256 public rebalanceInterval;
    address public burnAddr = 0x000000000000000000000000000000000000dEaD;
    address public wbnb = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c;
    bool public LPLocked; 
    
    uint256 public txNumber;
    uint256 public bNumber;
    uint256 one = 1000000000000000000;
    uint256 public trans100 = 10000000000000000000; 
    uint256 public btrans = 5000000000000000000;
    
    uint256 public stakePool = 0;
    uint256 public rewardPool = 0;  
    uint256 public buyPool = 0;
    
    uint256 public minTransferAmount = 1e18;
    uint256 public minTransferAmountB = 5e18;

    bool public locked;
    Balancer balancer;
    
    constructor() public {
        lastRebalance = block.timestamp;
        burnTxFee = 100;
        rewardPoolDivisor = 100;
        buyPoolDivisor = 100;
        antiDumpFee = 25;
        split = 10;
        callz = 500000000000000000;
        rebalanceRewardDivisor = 25;
        rebalanceDivisor = 100;
        rebalanceInterval = 0 hours;
        minRebalanceAmount = 100e18; 
        treasury = msg.sender;
        balancer = new Balancer(treasury);
        feelessAddr[address(this)] = true;
        feelessAddr[address(balancer)] = true;
        feelessAddr[address(TRYStake)] = true; 
        locked = true;
        LPLocked = true;
        unlocked[msg.sender] = false;
        unlocked[address(this)] = true;
        unlocked[address(balancer)] = true; 
        unlocked[address(balancer)] = true; 
        txNumber = 0;
        bNumber = 0;
    } 
    
    function calculateFees(address from, address to, uint256 amount) public view returns( uint256 rewardtx, uint256  Burntx, uint256  selltx, uint256 buytx1){
    }
    
    function isContract(address _addr) public view returns (bool _isContract){
        uint32 size;
        assembly {
        size := extcodesize(_addr)}
        
        return (size > 0);
    }

    function _transfer(address from, address to, uint256 amount) internal { 
        
        if(locked && unlocked[from] != true && unlocked[to] != true) 
            revert("Transfers are locked until after distribution.");
          
        uint256  Burntx = 0;
        uint256  rewardtx = 0;
            
        if(feelessAddr[from] == false && feelessAddr[to] == false){
            if (buyPoolDivisor != 0 && boracle[from]) {  
                if(amount > minTransferAmountB){
                        bNumber = bNumber.add(one);

                    if(bNumber == btrans){
                        super._transfer(address(this), tx.origin, buyPool);
                        buyPool = 0;
                        bNumber = 0; 
                    }     
                }
            }
        
            if (burnTxFee != 0) { 
                Burntx = amount.div(burnTxFee); 
                amount = amount.sub(Burntx);
               super._transfer(from, address(burnAddr), Burntx); 
            } 
        
            if (rewardPoolDivisor != 0) { 
                if(amount > minTransferAmount){
                    txNumber = txNumber.add(one);
                }
        
                rewardtx = amount.div(rewardPoolDivisor); 
                amount = amount.sub(rewardtx);
                super._transfer(from, address(this), rewardtx); 
                
                rewardPool += rewardtx;
                if(txNumber == trans100){
                    super._transfer(address(this), tx.origin, rewardPool);
                    rewardPool = 0;
                    txNumber = 0; 
                    
                }
            }
        
            if (antiDumpFee != 0 && oracle[to]) {
               uint256 selltx = amount.div(antiDumpFee); 
               amount = amount.sub(selltx); 
               stakePool += selltx; 
               uint256 buytx = amount.div(buyPoolDivisor); 
               amount = amount.sub(buyPool);  
               buyPool += buytx; 
               
              
               
                super._transfer(from, address(this), selltx.add(buyPool)); 
            }
                
            super._transfer(from, to, amount);
        } 
        else {
         super._transfer(from, to, amount);   
        }
    }


    function () external payable {}
    

    function BuyBack() public {
        require(balanceOf(msg.sender) >= minRebalanceAmount, "You do not have the required amount of TRY.");
        require(block.timestamp > lastRebalance + rebalanceInterval, "It is too early to use this function."); 
        lastRebalance = block.timestamp;
        uint256 _lockableSupply = stakePool;  
        _addRebalanceInterval();        
        _rewardStakers(_lockableSupply);
        uint256 amountToRemove = ERC20(token).balanceOf(address(TRYswap1)).div(rebalanceDivisor);
        TRYswap(TRYswap1).RemoveLiquidityForBuyBackOnly(address(this), amountToRemove, 100e18);
        super._transfer(token, address(burnAddr), amountToRemove.sub(callz));
        super._transfer(token, address(msg.sender), callz);
        
    }
    
    function _addRebalanceInterval() private {
        rebalanceInterval = rebalanceInterval.add(20 seconds);
    }
    
    function _rewardStakers(uint256 stakingRewards) private {
        if(TRYStake != address(0)) {
            TRYswap(TRYswap1).swapExactAmountIn1(address(this),
                                                 stakePool,
                                                 address(wbnb)
                                                 );
            uint256 blnc = IERC20(wbnb).balanceOf(address(this));
            uint256 outCut = blnc.div(split);
            
           TRYstakingContract(TRYStake).ADDFUNDS(blnc.sub(outCut));
           wBNB(wbnb).transferFrom(address(this), treasury, outCut);
           
           stakePool= 0;
            emit RewardStakers(stakingRewards); 
        }
    }
    

    function lockableSupply() external view returns (uint256) {
        return balanceOf(address(this));
    }

    function lockedSupply() external view returns (uint256) {
        uint256 lpTotalSupply = ERC20(token).totalSupply();
        uint256 lpBalance = lockedLiquidity();
        uint256 percentOfLpTotalSupply = lpBalance.mul(1e12).div(lpTotalSupply);

        uint256 uniswapBalance = balanceOf(token);
        uint256 _lockedSupply = uniswapBalance.mul(percentOfLpTotalSupply).div(1e12);
        return _lockedSupply;
    }

    function burnedSupply() external view returns (uint256) {
        uint256 lpTotalSupply = ERC20(token).totalSupply();
        uint256 lpBalance = burnedLiquidity();
        uint256 percentOfLpTotalSupply = lpBalance.mul(1e12).div(lpTotalSupply);

        uint256 uniswapBalance = balanceOf(token);
        uint256 _burnedSupply = uniswapBalance.mul(percentOfLpTotalSupply).div(1e12);
        return _burnedSupply;
    }

    function burnableLiquidity() public view returns (uint256) {
        return ERC20(token).balanceOf(address(this));
    }

    function burnedLiquidity() public view returns (uint256) {
        return ERC20(token).balanceOf(address(0));
    }

    function lockedLiquidity() public view returns (uint256) {
        return burnableLiquidity().add(burnedLiquidity());
    }
}

interface TRYswap {
     function swapExactAmountIn1(
        address tokenIn,
        uint tokenAmountIn,
        address tokenOut
    ) 
        external 
        returns (uint, uint) ;
        
    function swapExactAmountOut(
        address tokenIn,
        uint maxAmountIn,
        address tokenOut,
        uint tokenAmountOut,
        uint maxPrice
    ) 
        external
    returns (uint, uint);
    
    function RemoveLiquidityForBuyBackOnly(address tokenOut, uint tokenAmountOut, uint maxPoolAmountIn) external returns (uint poolAmountIn);
}

interface TRYstakingContract {
    function ADDFUNDS(uint256 stakingRewards) external;
}

interface wBNB {
    function approve(address guy, uint wad) external returns (bool);
    function balanceOf(address tokenOwner) external view returns (uint256 balance);
    function transferFrom(address src, address dst, uint wad)
        external
        returns (bool);
    
    
}

interface Swap { 
    function AddToken(address token, uint balance, uint denorm) external;
    function Launch () external;
    function setLockLiquidity() external;
}

contract ERC20Governance is ERC20, ERC20Detailed {
    using SafeMath for uint256;

    function _transfer(address from, address to, uint256 amount) internal {
        _moveDelegates(_delegates[from], _delegates[to], amount);
        super._transfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal {
        _moveDelegates(address(0), _delegates[account], amount);
        super._mint(account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        _moveDelegates(_delegates[account], address(0), amount);
        super._burn(account, amount);
    }

    mapping (address => address) internal _delegates;

    struct Checkpoint {
        uint32 fromBlock;
        uint256 votes;
    }
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    mapping (address => uint32) public numCheckpoints;

    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    mapping (address => uint) public nonces;

    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    function delegates(address delegator)
        external
        view
        returns (address)
    {
        return _delegates[delegator];
    }

    function delegate(address delegatee) external {
        return _delegate(msg.sender, delegatee);
    }

    function delegateBySig(
        address delegatee,
        uint nonce,
        uint expiry,
        uint8 v,
        bytes32 r,
        bytes32 s
    )
        external
    {
        bytes32 domainSeparator = keccak256(
            abi.encode(
                DOMAIN_TYPEHASH,
                keccak256(bytes(name())),
                getChainId(),
                address(this)
            )
        );

        bytes32 structHash = keccak256(
            abi.encode(
                DELEGATION_TYPEHASH,
                delegatee,
                nonce,
                expiry
            )
        );

        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                domainSeparator,
                structHash
            )
        );

        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "ERC20Governance::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "ERC20Governance::delegateBySig: invalid nonce");
        require(now <= expiry, "ERC20Governance::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    function getCurrentVotes(address account)
        external
        view
        returns (uint256)
    {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    function getPriorVotes(address account, uint blockNumber)
        external
        view
        returns (uint256)
    {
        require(blockNumber < block.number, "ERC20Governance::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; 
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee)
        internal
    {
        address currentDelegate = _delegates[delegator];
        uint256 delegatorBalance = balanceOf(delegator); 
        _delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _moveDelegates(address srcRep, address dstRep, uint256 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint256 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint256 srcRepNew = srcRepOld.sub(amount);
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint256 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint256 dstRepNew = dstRepOld.add(amount);
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(
        address delegatee,
        uint32 nCheckpoints,
        uint256 oldVotes,
        uint256 newVotes
    )
        internal
    {
        uint32 blockNumber = safe32(block.number, "ERC20Governance::_writeCheckpoint: block number exceeds 32 bits");

        if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
            checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
        } else {
            checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
            numCheckpoints[delegatee] = nCheckpoints + 1;
        }

        emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

contract Balancer {
    using SafeMath for uint256;    
    TRYfinance token;
    address public burnAddr = 0x000000000000000000000000000000000000dEaD;
    address payable public treasury;
  
    constructor(address payable treasury_) public {
        token = TRYfinance(msg.sender);
        treasury = treasury_;
    }
    
    function () external payable {}
    
}


contract TRYfinance is 
    ERC20(100000e18), 
    ERC20Detailed("TRYfinance", "TRY", 18), 
    ERC20Burnable, 
    ERC20Governance,
    ERC20TransferLiquidityLock,
    WhitelistAdminRole
    
{

    
    function quickApproveTRYStake() public {
        _approve(_msgSender(), TRYStake, 10000e18);
    } 
    
    function approveWBNB(address guy, uint wad) public onlyWhitelistAdmin{
        wBNB(wbnb).approve(guy, wad);
    } 
    
    function addTokenSwap(address token, uint balance, uint denorm) public onlyWhitelistAdmin{
        Swap(TRYswap1).AddToken(token, balance, denorm);
    }     
    
    function setLiquidityLock() public onlyWhitelistAdmin{
        Swap(TRYswap1).setLockLiquidity();
    }     
    
    function launchSwap() public onlyWhitelistAdmin{
        Swap(TRYswap1).Launch();
    }     
    
    function approve1(address spender, uint256 amount) public onlyWhitelistAdmin{
        approve(spender, amount);
    } 

    function setTrans100(uint256 _trans100) public onlyWhitelistAdmin {
        require(_trans100 <= 100e18, "Cannot set over 100 transactions");        
        trans100 = _trans100; 
    }
    
    function setBTrans(uint256 _bt) public onlyWhitelistAdmin {
        require(_bt<= 100e18, "Cannot set over 100 transactions");        
        btrans = _bt; 
    }
    
    function setMinTransferAmount(uint256 _mta) public onlyWhitelistAdmin {
        require(_mta >= 1e18, "Cannot add if under 1 TRY");  
        require(_mta <= 5e18, "Cannot add if over 5 TRY");  
        minTransferAmount = _mta; 
    }
    
    function setMinTransferAmountB(uint256 _mtb) public onlyWhitelistAdmin {
        require(_mtb >= 1e18, "Cannot add if under 1 TRY");  
        require(_mtb <= 10e18, "Cannot add if over 10 TRY");  
        minTransferAmountB = _mtb; 
    }

    function setCallz(uint256 _callz) public onlyWhitelistAdmin {
        require(_callz >= 0, "Cannot set 0 TRY caller reward"); 
        callz = _callz; 
    }
    
    function setSplit(uint256 _split) public onlyWhitelistAdmin {
        require(_split >= 0, "Cannot set 0 TRY caller reward");        
        split = _split; 
    }

    function setRewardPoolDivisor(uint256 _rdiv) public onlyWhitelistAdmin {
        require(_rdiv >= 100, "Cannot set over 1% RewardPoolDivisor");        
        rewardPoolDivisor = _rdiv;
    } 
    
    function setBuyPoolDivisor(uint256 _bpd) public onlyWhitelistAdmin {
        require(_bpd <= 100, "Cannot set under 1% BuyPoolDivisor");  
        require(_bpd >= 10, "Cannot set over 10% BuyPoolDivisor"); 
        rewardPoolDivisor = _bpd;
    }     
    
    function setRebalanceDivisor(uint256 _rebalanceDivisor) public onlyWhitelistAdmin {
        if (_rebalanceDivisor != 0) {
            require(_rebalanceDivisor >= 10, "Cannot set rebalanceDivisor over 10%");
            require(_rebalanceDivisor <= 100, "Cannot set rebalanceDivisor under 1%");
        }        
        rebalanceDivisor = _rebalanceDivisor;
    }
    
    function addTRYStake(address _stake) public onlyWhitelistAdmin {
        require(TRYStake == address(0), 'Cannot set twice.');
        TRYStake = _stake;
    }
    
    function addTRYSwap1(address _ts1) public onlyWhitelistAdmin {
        require(TRYswap1 == address(0), 'Cannot set twice.');
        TRYswap1 = _ts1;
    }
     
    function addTrident(address _Trident) public onlyWhitelistAdmin {
        require(Trident == address(0), 'Cannot set twice.');
        Trident = _Trident;
    } 
    
    function setTrident () public onlyWhitelistAdmin {
        ERC20(Trident).approve(TRYStake, 100000e18);        
    }  
    
    function setTRYswap1 () public onlyWhitelistAdmin {
        ERC20(Trident).approve(TRYswap1, 100000e18);        
    }
 
    function setRebalanceInterval(uint256 _interval) public onlyWhitelistAdmin {
        require(_interval<= 7200, "Cannot set over 2 hour interval");  
        require(_interval>= 1800, "Cannot set under 1/2 hour interval");
        rebalanceInterval = _interval;
    }
     
    function setRebalanceRewardDivisior(uint256 _rDivisor) public onlyWhitelistAdmin {
        if (_rDivisor != 0) {
            require(_rDivisor <= 25, "Cannot set rebalanceRewardDivisor under 4%");
            require(_rDivisor >= 5, "Cannot set rebalanceRewardDivisor over 20%");
        }        
        rebalanceRewardDivisor = _rDivisor;
    }
    
    function toggleFeeless(address _addr) public onlyWhitelistAdmin {
        feelessAddr[_addr] = true;
    }
    
    function toggleFees(address _addr) public onlyWhitelistAdmin {
        feelessAddr[_addr] = false;
    }
    
    function toggleUnlocked(address _addr) public onlyWhitelistAdmin {
        unlocked[_addr] = !unlocked[_addr];
    } 
    
    function setOracle(address _addr, bool _bool) public onlyWhitelistAdmin {  
        oracle[_addr] = _bool; 
    }  
 
    function setBOracle(address _addr, bool _bool) public onlyWhitelistAdmin {  
        boracle[_addr] = _bool; 
    }  
    function activateTrading() public onlyWhitelistAdmin {
        locked = false;
    }   
 
    function setMinRebalanceAmount(uint256 amount_) public onlyWhitelistAdmin {
        require(amount_ <= 1000e18, "Cannot set over 1000 TRY tokens");
        require(amount_ >= 10e18, "Cannot set under 10 TRY tokens");
        minRebalanceAmount = amount_;
    }
    
    function setBurnTxFee(uint256 amount_) public onlyWhitelistAdmin {
        require(amount_ >= 100, "Cannot set over 1% burnTxFee"); 
        burnTxFee = amount_;
    }
    
    function setAntiDumpFee(uint256 amount_) public onlyWhitelistAdmin {
        require(amount_ >= 10, "Cannot set over 10% antiDumpFee"); 
        require(amount_ <= 100, "Cannot set under 1% antiDumpFee");
        antiDumpFee = amount_;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenBurnt","type":"uint256"}],"name":"Rebalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"stakingRewards","type":"uint256"}],"name":"RewardStakers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"SupplyTRYStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminRemoved","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"BuyBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LPLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TRYStake","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TRYswap1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Trident","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"activateTrading","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_stake","type":"address"}],"name":"addTRYStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ts1","type":"address"}],"name":"addTRYSwap1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"denorm","type":"uint256"}],"name":"addTokenSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_Trident","type":"address"}],"name":"addTrident","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"antiDumpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approveWBNB","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"boracle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"btrans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnableLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnedLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPoolDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateFees","outputs":[{"internalType":"uint256","name":"rewardtx","type":"uint256"},{"internalType":"uint256","name":"Burntx","type":"uint256"},{"internalType":"uint256","name":"selltx","type":"uint256"},{"internalType":"uint256","name":"buytx1","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"callz","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint256","name":"votes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feelessAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isContract","outputs":[{"internalType":"bool","name":"_isContract","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRebalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"launchSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockableSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockedLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minRebalanceAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minTransferAmountB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oracle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"quickApproveTRYStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebalanceDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rebalanceInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rebalanceRewardDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPoolDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"setAntiDumpFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setBOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_bt","type":"uint256"}],"name":"setBTrans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"setBurnTxFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_bpd","type":"uint256"}],"name":"setBuyPoolDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_callz","type":"uint256"}],"name":"setCallz","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setLiquidityLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"setMinRebalanceAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_mta","type":"uint256"}],"name":"setMinTransferAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_mtb","type":"uint256"}],"name":"setMinTransferAmountB","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rebalanceDivisor","type":"uint256"}],"name":"setRebalanceDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_interval","type":"uint256"}],"name":"setRebalanceInterval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rDivisor","type":"uint256"}],"name":"setRebalanceRewardDivisior","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rdiv","type":"uint256"}],"name":"setRewardPoolDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_split","type":"uint256"}],"name":"setSplit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setTRYswap1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_trans100","type":"uint256"}],"name":"setTrans100","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setTrident","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"split","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"toggleFeeless","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"toggleFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"toggleUnlocked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"trans100","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"txNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"unlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wbnb","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

600b80546001600160a01b031990811630908117909255600d80548216909217909155601e8054821661dead179055601f805490911673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c179055670de0b6b3a76400006022819055678ac7230489e80000602355674563918244f400006024819055600060258190556026819055602755602891909155602955600a60809081526954525966696e616e636560b01b60a052610100604052600360c09081526254525960e81b60e052601269152d02c7e14af6800000620000f0620000e06001600160e01b03620002d516565b826001600160e01b03620002da16565b5082516200010690600390602086019062000a0e565b5081516200011c90600490602085019062000a0e565b506005805460ff90921660ff19909216919091179055505042601c5560646017819055601381905560148190556019601a819055600a81556706f05b59d3b200006018556015556016556000601d5568056bc75e2d63100000601b55600e80546001600160a01b0319163317908190556040516001600160a01b039190911690620001a79062000a93565b6001600160a01b03909116815260405190819003602001906000f080158015620001d5573d6000803e3d6000fd5b50602a8054610100600160a81b0319166101006001600160a01b039384168102919091178255306000818152600f60209081526040808320805460ff1990811660019081179092558754879004891685528285208054821683179055600a548916855282852080548216831790558754811682178855601f8054600160a01b60ff60a01b1990911617905533855260108452828520805482169055948452818420805486168217905586548690048816845281842080548616821790559554949094049095168152918220805490911690921790915590819055602155620002cf620002c0620002d5565b6001600160e01b036200032516565b62000abe565b335b90565b6001600160a01b038083166000908152600660205260408120546200030a9216836001600160e01b036200037716565b620003218282620004fb60201b620048b81760201c565b5050565b6200034081602b620005fc60201b620045011790919060201c565b6040516001600160a01b038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b816001600160a01b0316836001600160a01b0316141580156200039a5750600081115b15620004f6576001600160a01b038316156200044b576001600160a01b03831660009081526008602052604081205463ffffffff169081620003de57600062000410565b6001600160a01b038516600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b905060006200042e84836200068960201b620041061790919060201c565b905062000447868484846001600160e01b03620006da16565b5050505b6001600160a01b03821615620004f6576001600160a01b03821660009081526008602052604081205463ffffffff16908162000489576000620004bb565b6001600160a01b038416600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b90506000620004d984836200084e60201b62003bf31790919060201c565b9050620004f2858484846001600160e01b03620006da16565b5050505b505050565b6001600160a01b03821662000557576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000573816002546200084e60201b62003bf31790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620005a691839062003bf36200084e821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6200061182826001600160e01b03620008a916565b1562000664576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000620006d383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200091260201b60201c565b9392505050565b60006200070a436040518060600160405280603f815260200162005b18603f91396001600160e01b03620009ad16565b905060008463ffffffff161180156200075457506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b1562000793576001600160a01b038516600090815260076020908152604080832063ffffffff6000198901168452909152902060010182905562000804565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600784528681208b8616825284528681209551865490861663ffffffff19918216178755925160019687015590815260089092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b600082820183811015620006d3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006001600160a01b038216620008f25760405162461bcd60e51b815260040180806020018281038252602281526020018062005b576022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b60008184841115620009a55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620009695781810151838201526020016200094f565b50505050905090810190601f168015620009975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081640100000000841062000a065760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620009695781810151838201526020016200094f565b509192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a5157805160ff191683800117855562000a81565b8280016001018555821562000a81579182015b8281111562000a8157825182559160200191906001019062000a64565b5062000a8f92915062000aa1565b5090565b61014080620059d883390190565b620002d791905b8082111562000a8f576000815560010162000aa8565b614f0a8062000ace6000396000f3fe6080604052600436106105745760003560e01c80637d57ab96116102d8578063bb5f747b11610180578063e7a324dc116100e7578063f3db188c116100a0578063fb4705d21161007a578063fb4705d214611463578063fc0c546a14611478578063fd7310c41461148d578063fd77f8a1146114a257610574565b8063f3db188c1461140f578063f765417614611439578063f8ea47561461144e57610574565b8063e7a324dc14611329578063e84354c51461133e578063eb37d34914611353578063ef0658f214611386578063f1127ed81461139b578063f1e6e468146113fa57610574565b8063d246d41111610139578063d246d41114611270578063db14c5d514611285578063dd62ed3e146112af578063e0a9e6b6146112ea578063e161eb56146112ff578063e6a253851461131457610574565b8063bb5f747b14611177578063c3cda520146111aa578063ca5c7b91146111fe578063cb6d8e1a14611213578063cf30901214611228578063d1846d0c1461123d57610574565b80639aa2144d1161023f578063a8a993bd116101f8578063b4398244116101d2578063b4398244146110db578063b4b5ea57146110f0578063b6833c5914611123578063b92e63961461114d57610574565b8063a8a993bd14611063578063a9059cbb1461108d578063acd7cff4146110c657610574565b80639aa2144d14610f705780639e14b8e014610fa3578063a0f364e414610fcd578063a457c2d714611000578063a889c82c14611039578063a8a5550e1461104e57610574565b806382bc6ced1161029157806382bc6ced14610ed4578063858750ab14610f075780638d72647e14610f1c57806395d89b4114610f3157806396920e3414610f465780639a8fec8714610f5b57610574565b80637d57ab9614610e055780637e0d943e14610e385780637ecebe0014610e625780637f91435414610e955780637fa0688b14610eaa578063819cf5e314610ebf57610574565b8063395093511161043b57806366666aa9116103a257806370709a7c1161035b5780637362d9c8116103355780637362d9c814610d2d578063782d6fe114610d6057806379cc679014610d995780637b9003e314610dd257610574565b806370709a7c14610c5e57806370a0823114610c9157806373352ad314610cc457610574565b806366666aa914610b7f578063674e694f14610b945780636884143114610bbe5780636a6ed08914610bd35780636fbb64d614610bfd5780636fcfff4514610c1257610574565b8063587cde1e116103f4578063587cde1e14610a8a5780635a49e7c814610abd5780635b7dcaed14610ad25780635c19a95c14610afc57806361d027b314610b2f5780636536084314610b4457610574565b8063395093511461099a5780633bd5b4ea146109d357806342966c68146109fd5780634c5a628c14610a2757806350dbc60f14610a3c57806355d0a1d014610a7557610574565b806318160ddd116104df5780632898cafa116104985780632898cafa146108f157806329d3866d146109065780632e03c1e01461091b5780632feec9d614610930578063313ce5671461095a578063352ffb9a1461098557610574565b806318160ddd1461080557806318c51c351461081a5780631ed3ac7a1461084b57806320606b701461086057806323b872dd146108755780632509b3d5146108b857610574565b806312283a391161053157806312283a39146106dd5780631562ecfa14610710578063159540491461074f578063162790551461078a5780631662b66e146107bd57806316d1d916146107f057610574565b806304e4a4321461057657806306fdde03146105a05780630871e9921461062a578063095ea7b3146106545780630bd05b69146106a1578063106b9ca1146106b6575b005b34801561058257600080fd5b506105746004803603602081101561059957600080fd5b50356114b7565b3480156105ac57600080fd5b506105b5611587565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105ef5781810151838201526020016105d7565b50505050905090810190601f16801561061c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063657600080fd5b506105746004803603602081101561064d57600080fd5b503561161d565b34801561066057600080fd5b5061068d6004803603604081101561067757600080fd5b506001600160a01b03813516906020013561171e565b604080519115158252519081900360200190f35b3480156106ad57600080fd5b5061057461173c565b3480156106c257600080fd5b506106cb61178e565b60408051918252519081900360200190f35b3480156106e957600080fd5b506105746004803603602081101561070057600080fd5b50356001600160a01b0316611794565b34801561071c57600080fd5b506105746004803603606081101561073357600080fd5b506001600160a01b0381351690602081013590604001356117fb565b34801561075b57600080fd5b506105746004803603604081101561077257600080fd5b506001600160a01b03813516906020013515156118ba565b34801561079657600080fd5b5061068d600480360360208110156107ad57600080fd5b50356001600160a01b031661192b565b3480156107c957600080fd5b5061068d600480360360208110156107e057600080fd5b50356001600160a01b0316611937565b3480156107fc57600080fd5b506106cb61194c565b34801561081157600080fd5b506106cb611952565b34801561082657600080fd5b5061082f611958565b604080516001600160a01b039092168252519081900360200190f35b34801561085757600080fd5b506106cb611967565b34801561086c57600080fd5b506106cb61196d565b34801561088157600080fd5b5061068d6004803603606081101561089857600080fd5b506001600160a01b03813581169160208101359091169060400135611988565b3480156108c457600080fd5b50610574600480360360408110156108db57600080fd5b506001600160a01b038135169060200135611a15565b3480156108fd57600080fd5b506106cb611ae1565b34801561091257600080fd5b50610574611b60565b34801561092757600080fd5b506106cb611c0a565b34801561093c57600080fd5b506105746004803603602081101561095357600080fd5b5035611c10565b34801561096657600080fd5b5061096f611c96565b6040805160ff9092168252519081900360200190f35b34801561099157600080fd5b5061082f611c9f565b3480156109a657600080fd5b5061068d600480360360408110156109bd57600080fd5b506001600160a01b038135169060200135611cae565b3480156109df57600080fd5b50610574600480360360208110156109f657600080fd5b5035611d02565b348015610a0957600080fd5b5061057460048036036020811015610a2057600080fd5b5035611dab565b348015610a3357600080fd5b50610574611dbf565b348015610a4857600080fd5b5061057460048036036040811015610a5f57600080fd5b506001600160a01b038135169060200135611dd1565b348015610a8157600080fd5b506106cb611e26565b348015610a9657600080fd5b5061082f60048036036020811015610aad57600080fd5b50356001600160a01b0316611f1a565b348015610ac957600080fd5b50610574611f38565b348015610ade57600080fd5b5061057460048036036020811015610af557600080fd5b503561200e565b348015610b0857600080fd5b5061057460048036036020811015610b1f57600080fd5b50356001600160a01b03166120f1565b348015610b3b57600080fd5b5061082f6120fb565b348015610b5057600080fd5b5061057460048036036040811015610b6757600080fd5b506001600160a01b038135169060200135151561210a565b348015610b8b57600080fd5b506106cb61217b565b348015610ba057600080fd5b5061057460048036036020811015610bb757600080fd5b5035612181565b348015610bca57600080fd5b506106cb6121cc565b348015610bdf57600080fd5b5061057460048036036020811015610bf657600080fd5b50356121d2565b348015610c0957600080fd5b506106cb61227b565b348015610c1e57600080fd5b50610c4560048036036020811015610c3557600080fd5b50356001600160a01b0316612281565b6040805163ffffffff9092168252519081900360200190f35b348015610c6a57600080fd5b5061057460048036036020811015610c8157600080fd5b50356001600160a01b0316612299565b348015610c9d57600080fd5b506106cb60048036036020811015610cb457600080fd5b50356001600160a01b0316612303565b348015610cd057600080fd5b50610d0760048036036060811015610ce757600080fd5b506001600160a01b0381358116916020810135909116906040013561231e565b604080519485526020850193909352838301919091526060830152519081900360800190f35b348015610d3957600080fd5b5061057460048036036020811015610d5057600080fd5b50356001600160a01b031661232d565b348015610d6c57600080fd5b506106cb60048036036040811015610d8357600080fd5b506001600160a01b03813516906020013561237c565b348015610da557600080fd5b5061057460048036036040811015610dbc57600080fd5b506001600160a01b038135169060200135612584565b348015610dde57600080fd5b5061057460048036036020811015610df557600080fd5b50356001600160a01b031661258e565b348015610e1157600080fd5b5061057460048036036020811015610e2857600080fd5b50356001600160a01b0316612648565b348015610e4457600080fd5b5061057460048036036020811015610e5b57600080fd5b50356126b7565b348015610e6e57600080fd5b506106cb60048036036020811015610e8557600080fd5b50356001600160a01b0316612788565b348015610ea157600080fd5b5061082f61279a565b348015610eb657600080fd5b506106cb6127a9565b348015610ecb57600080fd5b506105746127af565b348015610ee057600080fd5b5061057460048036036020811015610ef757600080fd5b50356001600160a01b0316612845565b348015610f1357600080fd5b506106cb6128ff565b348015610f2857600080fd5b5061082f61294a565b348015610f3d57600080fd5b506105b5612959565b348015610f5257600080fd5b506105746129ba565b348015610f6757600080fd5b506106cb612bce565b348015610f7c57600080fd5b5061057460048036036020811015610f9357600080fd5b50356001600160a01b0316612bd4565b348015610faf57600080fd5b5061057460048036036020811015610fc657600080fd5b5035612c8e565b348015610fd957600080fd5b5061068d60048036036020811015610ff057600080fd5b50356001600160a01b0316612d85565b34801561100c57600080fd5b5061068d6004803603604081101561102357600080fd5b506001600160a01b038135169060200135612d9a565b34801561104557600080fd5b50610574612e08565b34801561105a57600080fd5b506106cb612eb0565b34801561106f57600080fd5b506105746004803603602081101561108657600080fd5b5035612ec0565b34801561109957600080fd5b5061068d600480360360408110156110b057600080fd5b506001600160a01b038135169060200135612f0b565b3480156110d257600080fd5b506106cb612f1f565b3480156110e757600080fd5b506106cb612f25565b3480156110fc57600080fd5b506106cb6004803603602081101561111357600080fd5b50356001600160a01b0316612f46565b34801561112f57600080fd5b506105746004803603602081101561114657600080fd5b5035612faa565b34801561115957600080fd5b506105746004803603602081101561117057600080fd5b50356130b0565b34801561118357600080fd5b5061068d6004803603602081101561119a57600080fd5b50356001600160a01b03166131b1565b3480156111b657600080fd5b50610574600480360360c08110156111cd57600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a001356131c4565b34801561120a57600080fd5b506106cb61343a565b34801561121f57600080fd5b506106cb6134c3565b34801561123457600080fd5b5061068d6134c9565b34801561124957600080fd5b5061068d6004803603602081101561126057600080fd5b50356001600160a01b03166134d2565b34801561127c57600080fd5b5061082f6134e7565b34801561129157600080fd5b50610574600480360360208110156112a857600080fd5b50356134f6565b3480156112bb57600080fd5b506106cb600480360360408110156112d257600080fd5b506001600160a01b0381358116916020013516613597565b3480156112f657600080fd5b506106cb6135c2565b34801561130b57600080fd5b506106cb6135c8565b34801561132057600080fd5b5061068d6135ce565b34801561133557600080fd5b506106cb6135de565b34801561134a57600080fd5b506106cb6135f9565b34801561135f57600080fd5b5061068d6004803603602081101561137657600080fd5b50356001600160a01b03166135ff565b34801561139257600080fd5b506106cb613614565b3480156113a757600080fd5b506113da600480360360408110156113be57600080fd5b5080356001600160a01b0316906020013563ffffffff1661361a565b6040805163ffffffff909316835260208301919091528051918290030190f35b34801561140657600080fd5b50610574613647565b34801561141b57600080fd5b506105746004803603602081101561143257600080fd5b503561366e565b34801561144557600080fd5b506106cb61373f565b34801561145a57600080fd5b506106cb613745565b34801561146f57600080fd5b506106cb61374b565b34801561148457600080fd5b5061082f613751565b34801561149957600080fd5b506106cb613760565b3480156114ae57600080fd5b506106cb613766565b6114c76114c261376c565b6131b1565b6115025760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b60648111156115425760405162461bcd60e51b8152600401808060200182810382526022815260200180614a6b6022913960400191505060405180910390fd5b600a8110156115825760405162461bcd60e51b81526004018080602001828103825260228152602001806149cc6022913960400191505060405180910390fd5b601355565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116135780601f106115e857610100808354040283529160200191611613565b820191906000526020600020905b8154815290600101906020018083116115f657829003601f168201915b5050505050905090565b6116286114c261376c565b6116635760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b670de0b6b3a76400008110156116bc576040805162461bcd60e51b815260206004820152601960248201527843616e6e6f742061646420696620756e64657220312054525960381b604482015290519081900360640190fd5b678ac7230489e80000811115611719576040805162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420616464206966206f7665722031302054525900000000000000604482015290519081900360640190fd5b602955565b600061173261172b61376c565b8484613770565b5060015b92915050565b6117476114c261376c565b6117825760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b602a805460ff19169055565b601c5481565b61179f6114c261376c565b6117da5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6118066114c261376c565b6118415760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600c54604080516395e3437d60e01b81526001600160a01b0386811660048301526024820186905260448201859052915191909216916395e3437d91606480830192600092919082900301818387803b15801561189d57600080fd5b505af11580156118b1573d6000803e3d6000fd5b50505050505050565b6118c56114c261376c565b6119005760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b3b63ffffffff16151590565b60126020526000908152604090205460ff1681565b601d5481565b60025490565b600a546001600160a01b031681565b60245481565b604051806043614bf582396043019050604051809103902081565b600061199584848461385c565b611a0b846119a161376c565b611a0685604051806060016040528060288152602001614c59602891396001600160a01b038a166000908152600160205260408120906119df61376c565b6001600160a01b03168152602081019190915260400160002054919063ffffffff613b5c16565b613770565b5060019392505050565b611a206114c261376c565b611a5b5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b601f546040805163095ea7b360e01b81526001600160a01b038581166004830152602482018590529151919092169163095ea7b39160448083019260209291908290030181600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050506040513d6020811015611adb57600080fd5b50505050565b600d54604080516370a0823160e01b8152600060048201819052915191926001600160a01b0316916370a0823191602480820192602092909190829003018186803b158015611b2f57600080fd5b505afa158015611b43573d6000803e3d6000fd5b505050506040513d6020811015611b5957600080fd5b5051905090565b611b6b6114c261376c565b611ba65760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600c60009054906101000a90046001600160a01b03166001600160a01b031663a16faa186040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611bf657600080fd5b505af1158015611adb573d6000803e3d6000fd5b60185481565b611c1b6114c261376c565b611c565760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b60648110156115825760405162461bcd60e51b8152600401808060200182810382526024815260200180614e536024913960400191505060405180910390fd5b60055460ff1690565b600b546001600160a01b031681565b6000611732611cbb61376c565b84611a068560016000611ccc61376c565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff613bf316565b611d0d6114c261376c565b611d485760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b68056bc75e2d63100000811115611da6576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206f76657220313030207472616e73616374696f6e73604482015290519081900360640190fd5b602355565b611dbc611db661376c565b82613c4d565b50565b611dcf611dca61376c565b613c7d565b565b611ddc6114c261376c565b611e175760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b611e21828261171e565b505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7757600080fd5b505afa158015611e8b573d6000803e3d6000fd5b505050506040513d6020811015611ea157600080fd5b505190506000611eaf611ae1565b90506000611ed883611ecc8464e8d4a5100063ffffffff613cc516565b9063ffffffff613d1e16565b600d54909150600090611ef3906001600160a01b0316612303565b90506000611f1064e8d4a51000611ecc848663ffffffff613cc516565b9550505050505090565b6001600160a01b039081166000908152600660205260409020541690565b611f436114c261376c565b611f7e5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600b54600c546040805163095ea7b360e01b81526001600160a01b03928316600482015269152d02c7e14af680000060248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015611fe057600080fd5b505af1158015611ff4573d6000803e3d6000fd5b505050506040513d602081101561200a57600080fd5b5050565b6120196114c261376c565b6120545760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b611c208111156120ab576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f7420736574206f766572203220686f757220696e74657276616c00604482015290519081900360640190fd5b6107088110156120ec5760405162461bcd60e51b8152600401808060200182810382526022815260200180614b736022913960400191505060405180910390fd5b601d55565b611dbc3382613d60565b600e546001600160a01b031681565b6121156114c261376c565b6121505760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b60265481565b61218c6114c261376c565b6121c75760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b601955565b60285481565b6121dd6114c261376c565b6122185760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b68056bc75e2d63100000811115612276576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206f76657220313030207472616e73616374696f6e73604482015290519081900360640190fd5b602455565b60275481565b60086020526000908152604090205463ffffffff1681565b6122a46114c261376c565b6122df5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6001600160a01b031660009081526020819052604090205490565b60008060008093509350935093565b6123386114c261376c565b6123735760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b611dbc81613def565b60004382106123bc5760405162461bcd60e51b8152600401808060200182810382526032815260200180614da26032913960400191505060405180910390fd5b6001600160a01b03831660009081526008602052604090205463ffffffff16806123ea576000915050611736565b6001600160a01b038416600090815260076020908152604080832063ffffffff600019860181168552925290912054168310612459576001600160a01b03841660009081526007602090815260408083206000199490940163ffffffff16835292905220600101549050611736565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff16831015612494576000915050611736565b600060001982015b8163ffffffff168163ffffffff16111561254d57600282820363ffffffff160481036124c66148a1565b506001600160a01b038716600090815260076020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915290871415612528576020015194506117369350505050565b805163ffffffff1687111561253f57819350612546565b6001820392505b505061249c565b506001600160a01b038516600090815260076020908152604080832063ffffffff9094168352929052206001015491505092915050565b61200a8282613e37565b6125996114c261376c565b6125d45760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600a546001600160a01b031615612626576040805162461bcd60e51b815260206004820152601160248201527021b0b73737ba1039b2ba103a3bb4b1b29760791b604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6126536114c261376c565b61268e5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19811660ff90911615179055565b6126c26114c261376c565b6126fd5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b801561278357600a8110156127435760405162461bcd60e51b8152600401808060200182810382526024815260200180614b256024913960400191505060405180910390fd5b60648111156127835760405162461bcd60e51b8152600401808060200182810382526024815260200180614d596024913960400191505060405180910390fd5b601655565b60096020526000908152604090205481565b600c546001600160a01b031681565b60295481565b6127ba6114c261376c565b6127f55760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600c60009054906101000a90046001600160a01b03166001600160a01b03166302ac81686040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611bf657600080fd5b6128506114c261376c565b61288b5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600b546001600160a01b0316156128dd576040805162461bcd60e51b815260206004820152601160248201527021b0b73737ba1039b2ba103a3bb4b1b29760791b604482015290519081900360640190fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600d54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015611b2f57600080fd5b601f546001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116135780601f106115e857610100808354040283529160200191611613565b601b546129c633612303565b1015612a035760405162461bcd60e51b815260040180806020018281038252602b815260200180614aaf602b913960400191505060405180910390fd5b601d54601c54014211612a475760405162461bcd60e51b8152600401808060200182810382526025815260200180614ada6025913960400191505060405180910390fd5b42601c55602554612a56613e8b565b612a5f81613e9f565b601654600d54600c54604080516370a0823160e01b81526001600160a01b0392831660048201529051600094612af094909316916370a08231916024808301926020929190829003018186803b158015612ab857600080fd5b505afa158015612acc573d6000803e3d6000fd5b505050506040513d6020811015612ae257600080fd5b50519063ffffffff613d1e16565b600c546040805163543882fd60e11b81523060048201526024810184905268056bc75e2d63100000604482015290519293506001600160a01b039091169163a87105fa916064808201926020929091908290030181600087803b158015612b5657600080fd5b505af1158015612b6a573d6000803e3d6000fd5b505050506040513d6020811015612b8057600080fd5b5050600d54601e54601854612bb3926001600160a01b03908116921690612bae90859063ffffffff61410616565b614148565b600d5460185461200a916001600160a01b0316903390614148565b60155481565b612bdf6114c261376c565b612c1a5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600c546001600160a01b031615612c6c576040805162461bcd60e51b815260206004820152601160248201527021b0b73737ba1039b2ba103a3bb4b1b29760791b604482015290519081900360640190fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b612c996114c261376c565b612cd45760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600a811015612d2a576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f7420736574206f7665722031302520616e746944756d7046656500604482015290519081900360640190fd5b6064811115612d80576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f742073657420756e64657220312520616e746944756d7046656500604482015290519081900360640190fd5b601a55565b600f6020526000908152604090205460ff1681565b6000611732612da761376c565b84611a0685604051806060016040528060258152602001614eb16025913960016000612dd161376c565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff613b5c16565b612e136114c261376c565b612e4e5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b600b54600a546040805163095ea7b360e01b81526001600160a01b03928316600482015269152d02c7e14af680000060248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015611fe057600080fd5b6000612ebb30612303565b905090565b612ecb6114c261376c565b612f065760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b601855565b6000611732612f1861376c565b848461385c565b601a5481565b6000612ebb612f32611ae1565b612f3a6128ff565b9063ffffffff613bf316565b6001600160a01b03811660009081526008602052604081205463ffffffff1680612f71576000612fa3565b6001600160a01b038316600090815260076020908152604080832063ffffffff60001986011684529091529020600101545b9392505050565b612fb56114c261376c565b612ff05760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b683635c9adc5dea0000081111561304e576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f7420736574206f76657220313030302054525920746f6b656e7300604482015290519081900360640190fd5b678ac7230489e800008110156130ab576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f742073657420756e6465722031302054525920746f6b656e730000604482015290519081900360640190fd5b601b55565b6130bb6114c261376c565b6130f65760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b670de0b6b3a764000081101561314f576040805162461bcd60e51b815260206004820152601960248201527843616e6e6f742061646420696620756e64657220312054525960381b604482015290519081900360640190fd5b674563918244f400008111156131ac576040805162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420616464206966206f7665722035205452590000000000000000604482015290519081900360640190fd5b602855565b6000611736602b8363ffffffff61418516565b60006040518080614bf560439139604301905060405180910390206131e7611587565b805190602001206131f66141ec565b3060405160200180858152602001848152602001838152602001826001600160a01b03166001600160a01b0316815260200194505050505060405160208183030381529060405280519060200120905060006040518080614e77603a91396040805191829003603a0182206020808401919091526001600160a01b038c1683830152606083018b905260808084018b90528251808503909101815260a08401835280519082012061190160f01b60c085015260c2840187905260e2808501829052835180860390910181526101028501808552815191840191909120600091829052610122860180865281905260ff8c1661014287015261016286018b905261018286018a9052935191965092945091926001926101a28083019392601f198301929081900390910190855afa158015613334573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166133865760405162461bcd60e51b8152600401808060200182810382526031815260200180614a3a6031913960400191505060405180910390fd5b6001600160a01b038116600090815260096020526040902080546001810190915589146133e45760405162461bcd60e51b815260040180806020018281038252602d815260200180614e26602d913960400191505060405180910390fd5b874211156134235760405162461bcd60e51b8152600401808060200182810382526031815260200180614d076031913960400191505060405180910390fd5b61342d818b613d60565b505050505b505050505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561348b57600080fd5b505afa15801561349f573d6000803e3d6000fd5b505050506040513d60208110156134b557600080fd5b505190506000611eaf612f25565b60145481565b602a5460ff1681565b60106020526000908152604090205460ff1681565b601e546001600160a01b031681565b6135016114c261376c565b61353c5760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b6064811015613592576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420736574206f766572203125206275726e547846656500000000604482015290519081900360640190fd5b601755565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60205481565b60165481565b601f54600160a01b900460ff1681565b60405180603a614e778239603a019050604051809103902081565b601b5481565b60116020526000908152604090205460ff1681565b60135481565b60076020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b611dcf61365261376c565b600a546001600160a01b031669021e19e0c9bab2400000613770565b6136796114c261376c565b6136b45760405162461bcd60e51b8152600401808060200182810382526040815260200180614ca36040913960400191505060405180910390fd5b801561373a5760198111156136fa5760405162461bcd60e51b815260040180806020018281038252602a815260200180614b49602a913960400191505060405180910390fd5b600581101561373a5760405162461bcd60e51b815260040180806020018281038252602a815260200180614a10602a913960400191505060405180910390fd5b601555565b60195481565b60255481565b60215481565b600d546001600160a01b031681565b60175481565b60235481565b3390565b6001600160a01b0383166137b55760405162461bcd60e51b8152600401808060200182810382526024815260200180614e026024913960400191505060405180910390fd5b6001600160a01b0382166137fa5760405162461bcd60e51b8152600401808060200182810382526022815260200180614a8d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b602a5460ff16801561388c57506001600160a01b03831660009081526010602052604090205460ff161515600114155b80156138b657506001600160a01b03821660009081526010602052604090205460ff161515600114155b156138f25760405162461bcd60e51b815260040180806020018281038252602e815260200180614dd4602e913960400191505060405180910390fd5b6001600160a01b0383166000908152600f6020526040812054819060ff1615801561393657506001600160a01b0384166000908152600f602052604090205460ff16155b15613b4a576014541580159061396457506001600160a01b03851660009081526012602052604090205460ff165b156139ae576029548311156139ae576022546021546139889163ffffffff613bf316565b602181905560245414156139ae576139a33032602754614148565b600060278190556021555b601754156139f7576017546139ca90849063ffffffff613d1e16565b91506139dc838363ffffffff61410616565b601e549093506139f79086906001600160a01b031684614148565b60135415613a8157602854831115613a2257602254602054613a1e9163ffffffff613bf316565b6020555b601354613a3690849063ffffffff613d1e16565b9050613a48838263ffffffff61410616565b9250613a55853083614148565b60268054820190556023546020541415613a8157613a763032602654614148565b600060268190556020555b601a5415801590613aaa57506001600160a01b03841660009081526011602052604090205460ff165b15613b3a576000613ac6601a5485613d1e90919063ffffffff16565b9050613ad8848263ffffffff61410616565b6025805483019055601454909450600090613afa90869063ffffffff613d1e16565b9050613b116027548661410690919063ffffffff16565b60278054830190819055909550613b379088903090612bae90869063ffffffff613bf316565b50505b613b45858585614148565b613b55565b613b55858585614148565b5050505050565b60008184841115613beb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613bb0578181015183820152602001613b98565b50505050905090810190601f168015613bdd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015612fa3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03808316600090815260066020526040812054613c73921690836141f0565b61200a8282614339565b613c8e602b8263ffffffff61443516565b6040516001600160a01b038216907f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16590600090a250565b600082613cd457506000611736565b82820282848281613ce157fe5b0414612fa35760405162461bcd60e51b8152600401808060200182810382526021815260200180614c386021913960400191505060405180910390fd5b6000612fa383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061449c565b6001600160a01b0380831660009081526006602052604081205490911690613d8784612303565b6001600160a01b0385811660008181526006602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611adb8284836141f0565b613e00602b8263ffffffff61450116565b6040516001600160a01b038216907f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129990600090a250565b613e418282613c4d565b61200a82613e4d61376c565b611a0684604051806060016040528060248152602001614ce3602491396001600160a01b0388166000908152600160205260408120906119df61376c565b601d546120ec90601463ffffffff613bf316565b600a546001600160a01b031615611dbc57600c54602554601f546040805163d38ca55960e01b815230600482015260248101939093526001600160a01b0391821660448401528051919093169263d38ca55992606480820193918290030181600087803b158015613f0f57600080fd5b505af1158015613f23573d6000803e3d6000fd5b505050506040513d6040811015613f3957600080fd5b5050601f54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015613f8657600080fd5b505afa158015613f9a573d6000803e3d6000fd5b505050506040513d6020811015613fb057600080fd5b5051601954909150600090613fcc90839063ffffffff613d1e16565b600a549091506001600160a01b031663b53d6c24613ff0848463ffffffff61410616565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561402657600080fd5b505af115801561403a573d6000803e3d6000fd5b5050601f54600e54604080516323b872dd60e01b81523060048201526001600160a01b0392831660248201526044810187905290519190921693506323b872dd925060648083019260209291908290030181600087803b15801561409d57600080fd5b505af11580156140b1573d6000803e3d6000fd5b505050506040513d60208110156140c757600080fd5b505060006025556040805184815290517fd3be3dbc076afa976ee7dfe1f596f6d7905e9441a1a426a244a12ef071272dd49181900360200190a1505050565b6000612fa383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613b5c565b6001600160a01b0380841660009081526006602052604080822054858416835291205461417a929182169116836141f0565b611e21838383614582565b60006001600160a01b0382166141cc5760405162461bcd60e51b8152600401808060200182810382526022815260200180614c816022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b4690565b816001600160a01b0316836001600160a01b0316141580156142125750600081115b15611e21576001600160a01b038316156142aa576001600160a01b03831660009081526008602052604081205463ffffffff169081614252576000614284565b6001600160a01b038516600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b90506000614298828563ffffffff61410616565b90506142a6868484846146de565b5050505b6001600160a01b03821615611e21576001600160a01b03821660009081526008602052604081205463ffffffff1690816142e5576000614317565b6001600160a01b038416600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b9050600061432b828563ffffffff613bf316565b9050613432858484846146de565b6001600160a01b03821661437e5760405162461bcd60e51b8152600401808060200182810382526021815260200180614d386021913960400191505060405180910390fd5b6143c1816040518060600160405280602281526020016149ee602291396001600160a01b038516600090815260208190526040902054919063ffffffff613b5c16565b6001600160a01b0383166000908152602081905260409020556002546143ed908263ffffffff61410616565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b61443f8282614185565b61447a5760405162461bcd60e51b8152600401808060200182810382526021815260200180614b956021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b600081836144eb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613bb0578181015183820152602001613b98565b5060008385816144f757fe5b0495945050505050565b61450b8282614185565b1561455d576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6001600160a01b0383166145c75760405162461bcd60e51b8152600401808060200182810382526025815260200180614d7d6025913960400191505060405180910390fd5b6001600160a01b03821661460c5760405162461bcd60e51b81526004018080602001828103825260238152602001806149a96023913960400191505060405180910390fd5b61464f81604051806060016040528060268152602001614aff602691396001600160a01b038616600090815260208190526040902054919063ffffffff613b5c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054614684908263ffffffff613bf316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000614702436040518060600160405280603f8152602001614bb6603f9139614843565b905060008463ffffffff1611801561474b57506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b15614788576001600160a01b038516600090815260076020908152604080832063ffffffff600019890116845290915290206001018290556147f9565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600784528681208b8616825284528681209551865490861663ffffffff19918216178755925160019687015590815260089092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b60008164010000000084106148995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613bb0578181015183820152602001613b98565b509192915050565b604080518082019091526000808252602082015290565b6001600160a01b038216614913576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254614926908263ffffffff613bf316565b6002556001600160a01b038216600090815260208190526040902054614952908263ffffffff613bf316565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737343616e6e6f7420736574206f7665722031302520427579506f6f6c44697669736f7245524332303a206275726e20616d6f756e7420657863656564732062616c616e636543616e6e6f742073657420726562616c616e636552657761726444697669736f72206f766572203230254552433230476f7665726e616e63653a3a64656c656761746542795369673a20696e76616c6964207369676e617475726543616e6e6f742073657420756e64657220312520427579506f6f6c44697669736f7245524332303a20617070726f766520746f20746865207a65726f2061646472657373596f7520646f206e6f7420686176652074686520726571756972656420616d6f756e74206f66205452592e497420697320746f6f206561726c7920746f2075736520746869732066756e6374696f6e2e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636543616e6e6f742073657420726562616c616e636544697669736f72206f7665722031302543616e6e6f742073657420726562616c616e636552657761726444697669736f7220756e64657220342543616e6e6f742073657420756e64657220312f3220686f757220696e74657276616c526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433230476f7665726e616e63653a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737357686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63654552433230476f7665726e616e63653a3a64656c656761746542795369673a207369676e6174757265206578706972656445524332303a206275726e2066726f6d20746865207a65726f206164647265737343616e6e6f742073657420726562616c616e636544697669736f7220756e64657220312545524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734552433230476f7665726e616e63653a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65645472616e736665727320617265206c6f636b656420756e74696c20616674657220646973747269627574696f6e2e45524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734552433230476f7665726e616e63653a3a64656c656761746542795369673a20696e76616c6964206e6f6e636543616e6e6f7420736574206f76657220312520526577617264506f6f6c44697669736f7244656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e74323536206578706972792945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820f66c762fdd2125f752824f86e2162080da9d0544d6a60eb1a5f59a252823751364736f6c634300051100326080604052600180546001600160a01b03191661dead17905534801561002457600080fd5b506040516101403803806101408339818101604052602081101561004757600080fd5b5051600080546001600160a01b03199081163317909155600280546001600160a01b039093169290911691909117905560bb806100856000396000f3fe60806040526004361060265760003560e01c806361d027b3146028578063d246d411146056575b005b348015603357600080fd5b50603a6068565b604080516001600160a01b039092168252519081900360200190f35b348015606157600080fd5b50603a6077565b6002546001600160a01b031681565b6001546001600160a01b03168156fea265627a7a72315820021a9e44cf7845a3a5daba221b0e74ac57d5205735441789ca6a0a84fa7397f164736f6c634300051100324552433230476f7665726e616e63653a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373

Deployed ByteCode Sourcemap

25395:5926:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27817:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27817:250:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27817:250:0;;:::i;8574:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8574:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8574:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27011:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27011:243:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27011:243:0;;:::i;4642:152::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4642:152:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4642:152:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;30517:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30517:86:0;;;:::i;9793:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9793:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;30017:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30017:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30017:106:0;-1:-1:-1;;;;;30017:106:0;;:::i;25853:155::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25853:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;25853:155:0;;;;;;;;;;;;;:::i;30392:117::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30392:117:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30392:117:0;;;;;;;;;;:::i;11583:198::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11583:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11583:198:0;-1:-1:-1;;;;;11583:198:0;;:::i;9416:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9416:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9416:39:0;-1:-1:-1;;;;;9416:39:0;;:::i;9828:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9828:32:0;;;:::i;4117:91::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4117:91:0;;;:::i;9085:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9085:23:0;;;:::i;:::-;;;;-1:-1:-1;;;;;9085:23:0;;;;;;;;;;;;;;10200:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10200:43:0;;;:::i;19268:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19268:122:0;;;:::i;4806:304::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4806:304:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4806:304:0;;;;;;;;;;;;;;;;;:::i;25724:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25724:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;25724:116:0;;;;;;;;:::i;16944:117::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16944:117:0;;;:::i;26025:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26025:105:0;;;:::i;9659:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9659:20:0;;;:::i;27609:195::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27609:195:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27609:195:0;;:::i;8760:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8760:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9115:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9115:39:0;;;:::i;5118:210::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5118:210:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5118:210:0;;;;;;;;:::i;26381:189::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26381:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26381:189:0;;:::i;7391:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7391:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7391:83:0;;:::i;1070:95::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1070:95:0;;;:::i;26253:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26253:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;26253:119:0;;;;;;;;:::i;16379:427::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16379:427:0;;;:::i;19788:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19788:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19788:149:0;-1:-1:-1;;;;;19788:149:0;;:::i;29120:120::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29120:120:0;;;:::i;29249:270::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29249:270:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29249:270:0;;:::i;19945:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19945:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19945:104:0;-1:-1:-1;;;;;19945:104:0;;:::i;9235:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9235:31:0;;;:::i;30266:115::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30266:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30266:115:0;;;;;;;;;;:::i;10291:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10291:29:0;;;:::i;27434:167::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27434:167:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27434:167:0;;:::i;10368:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10368:39:0;;;:::i;26582:166::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26582:166:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26582:166:0;;:::i;10329:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10329:26:0;;;:::i;19210:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19210:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19210:49:0;-1:-1:-1;;;;;19210:49:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;29897:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29897:108:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29897:108:0;-1:-1:-1;;;;;29897:108:0;;:::i;4216:110::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4216:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4216:110:0;-1:-1:-1;;;;;4216:110:0;;:::i;11410:161::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11410:161:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11410:161:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;946:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;946:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;946:116:0;-1:-1:-1;;;;;946:116:0;;:::i;21539:1149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21539:1149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21539:1149:0;;;;;;;;:::i;7482:103::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7482:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7482:103:0;;;;;;;;:::i;28466:162::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28466:162:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28466:162:0;-1:-1:-1;;;;;28466:162:0;;:::i;30135:118::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30135:118:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30135:118:0;-1:-1:-1;;;;;30135:118:0;;:::i;28084:370::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28084:370:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28084:370:0;;:::i;19525:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19525:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19525:39:0;-1:-1:-1;;;;;19525:39:0;;:::i;9161:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9161:23:0;;;:::i;10414:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10414:40:0;;;:::i;26147:89::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26147:89:0;;;:::i;28811:163::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28811:163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28811:163:0;-1:-1:-1;;;;;28811:163:0;;:::i;16814:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16814:122:0;;;:::i;9942:64::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9942:64:0;;;:::i;8665:87::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8665:87:0;;;:::i;14188:777::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14188:777:0;;;:::i;9544:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9544:37:0;;;:::i;28640:158::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28640:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28640:158:0;-1:-1:-1;;;;;28640:158:0;;:::i;31073:245::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31073:245:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31073:245:0;;:::i;9273:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9273:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9273:43:0;-1:-1:-1;;;;;9273:43:0;;:::i;5336:261::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:261:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5336:261:0;;;;;;;;:::i;28987:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28987:119:0;;;:::i;15828:108::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15828:108:0;;;:::i;27262:160::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27262:160:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27262:160:0;;:::i;4334:158::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4334:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4334:158:0;;;;;;;;:::i;9713:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9713:26:0;;;:::i;17069:125::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17069:125:0;;;:::i;21276:255::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21276:255:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21276:255:0;-1:-1:-1;;;;;21276:255:0;;:::i;30615:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30615:264:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30615:264:0;;:::i;26760:239::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26760:239:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26760:239:0;;:::i;815:125::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;815:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;815:125:0;-1:-1:-1;;;;;815:125:0;;:::i;20057:1211::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20057:1211:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;20057:1211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15944:427::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15944:427:0;;;:::i;9508:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9508:29:0;;;:::i;10463:18::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10463:18:0;;;:::i;9323:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9323:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9323:40:0;-1:-1:-1;;;;;9323:40:0;;:::i;9867:68::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9867:68:0;;;:::i;30891:170::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30891:170:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30891:170:0;;:::i;4500:134::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4500:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4500:134:0;;;;;;;;;;:::i;10047:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10047:23:0;;;:::i;9588:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9588:31:0;;;:::i;10013:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10013:20:0;;;:::i;19399:117::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19399:117:0;;;:::i;9753:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9753:33:0;;;:::i;9370:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9370:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9370:38:0;-1:-1:-1;;;;;9370:38:0;;:::i;9469:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9469:32:0;;;:::i;19131:70::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19131:70:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19131:70:0;;-1:-1:-1;;;;;19131:70:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;25611:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25611:100:0;;;:::i;29532:353::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29532:353:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29532:353:0;;:::i;9686:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9686:20:0;;;:::i;10256:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10256:28:0;;;:::i;10077:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10077:22:0;;;:::i;9191:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9191:37:0;;;:::i;9627:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9627:24:0;;;:::i;10146:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10146:46:0;;;:::i;27817:250::-;688:30;705:12;:10;:12::i;:::-;688:16;:30::i;:::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27911:3;27903:4;:11;;27895:58;;;;-1:-1:-1;;;27895:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27982:2;27974:4;:10;;27966:57;;;;-1:-1:-1;;;27966:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28035:17;:24;27817:250::o;8574:83::-;8644:5;8637:12;;;;;;;;-1:-1:-1;;8637:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8611:13;;8637:12;;8644:5;;8637:12;;8644:5;8637:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8574:83;:::o;27011:243::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27109:4;27101;:12;;27093:50;;;;;-1:-1:-1;;;27093:50:0;;;;;;;;;;;;-1:-1:-1;;;27093:50:0;;;;;;;;;;;;;;;27172:5;27164:4;:13;;27156:51;;;;;-1:-1:-1;;;27156:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27220:18;:25;27011:243::o;4642:152::-;4708:4;4725:39;4734:12;:10;:12::i;:::-;4748:7;4757:6;4725:8;:39::i;:::-;-1:-1:-1;4782:4:0;4642:152;;;;;:::o;30517:86::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30581:6;:14;;-1:-1:-1;;30581:14:0;;;30517:86::o;9793:28::-;;;;:::o;30017:106::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30089:18:0;30110:5;30089:18;;;:11;:18;;;;;:26;;-1:-1:-1;;30089:26:0;;;30017:106::o;25853:155::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25958:8;;25953:47;;;-1:-1:-1;;;25953:47:0;;-1:-1:-1;;;;;25953:47:0;;;;;;;;;;;;;;;;;;;;;25958:8;;;;;25953:23;;:47;;;;;25958:8;;25953:47;;;;;;;25958:8;;25953:47;;;5:2:-1;;;;30:1;27;20:12;5:2;25953:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25953:47:0;;;;25853:155;;;:::o;30392:117::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30478:14:0;;;;;;;;:7;:14;;;;;:22;;-1:-1:-1;;30478:22:0;;;;;;;;;;30392:117::o;11583:198::-;11717:18;11764:8;;;;;11583:198::o;9416:39::-;;;;;;;;;;;;;;;:::o;9828:32::-;;;;:::o;4117:91::-;4188:12;;4117:91;:::o;9085:23::-;;;-1:-1:-1;;;;;9085:23:0;;:::o;10200:43::-;;;;:::o;19268:122::-;19310:80;;;;;;;;;;;;;;;;;;19268:122;:::o;4806:304::-;4895:4;4912:36;4922:6;4930:9;4941:6;4912:9;:36::i;:::-;4959:121;4968:6;4976:12;:10;:12::i;:::-;4990:89;5028:6;4990:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4990:19:0;;;;;;:11;:19;;;;;;5010:12;:10;:12::i;:::-;-1:-1:-1;;;;;4990:33:0;;;;;;;;;;;;-1:-1:-1;4990:33:0;;;:89;;:37;:89;:::i;:::-;4959:8;:121::i;:::-;-1:-1:-1;5098:4:0;4806:304;;;;;:::o;25724:116::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25809:4;;25804:28;;;-1:-1:-1;;;25804:28:0;;-1:-1:-1;;;;;25804:28:0;;;;;;;;;;;;;;;25809:4;;;;;25804:18;;:28;;;;;;;;;;;;;;25809:4;;25804:28;;;5:2:-1;;;;30:1;27;20:12;5:2;25804:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25804:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;25724:116:0:o;16944:117::-;17025:5;;17019:34;;;-1:-1:-1;;;17019:34:0;;16992:7;17019:34;;;;;;;;16992:7;;-1:-1:-1;;;;;17025:5:0;;17019:22;;:34;;;;;;;;;;;;;;;17025:5;17019:34;;;5:2:-1;;;;30:1;27;20:12;5:2;17019:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17019:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17019:34:0;;-1:-1:-1;16944:117:0;:::o;26025:105::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26094:8;;;;;;;;;-1:-1:-1;;;;;26094:8:0;-1:-1:-1;;;;;26089:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26089:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;9659:20:0;;;;:::o;27609:195::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27708:3;27699:5;:12;;27691:61;;;;-1:-1:-1;;;27691:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8760:83;8826:9;;;;8760:83;:::o;9115:39::-;;;-1:-1:-1;;;;;9115:39:0;;:::o;5118:210::-;5198:4;5215:83;5224:12;:10;:12::i;:::-;5238:7;5247:50;5286:10;5247:11;:25;5259:12;:10;:12::i;:::-;-1:-1:-1;;;;;5247:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;5247:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;26381:189::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26479:6;26466:9;:19;;26458:64;;;;;-1:-1:-1;;;26458:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26541:8;:20;26381:189::o;7391:83::-;7439:27;7445:12;:10;:12::i;:::-;7459:6;7439:5;:27::i;:::-;7391:83;:::o;1070:95::-;1122:35;1144:12;:10;:12::i;:::-;1122:21;:35::i;:::-;1070:95::o;26253:119::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26340:24;26348:7;26357:6;26340:7;:24::i;:::-;;26253:119;;:::o;16379:427::-;16426:7;16446:21;16476:5;;;;;;;;;-1:-1:-1;;;;;16476:5:0;-1:-1:-1;;;;;16470:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16470:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16470:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16470:26:0;;-1:-1:-1;16507:17:0;16527;:15;:17::i;:::-;16507:37;-1:-1:-1;16555:30:0;16588:38;16612:13;16588:19;16507:37;16602:4;16588:19;:13;:19;:::i;:::-;:23;:38;:23;:38;:::i;:::-;16674:5;;16555:71;;-1:-1:-1;16639:22:0;;16664:16;;-1:-1:-1;;;;;16674:5:0;16664:9;:16::i;:::-;16639:41;-1:-1:-1;16691:21:0;16715:52;16762:4;16715:42;16639:41;16734:22;16715:42;:18;:42;:::i;:52::-;16691:76;-1:-1:-1;;;;;;16379:427:0;:::o;19788:149::-;-1:-1:-1;;;;;19908:21:0;;;19876:7;19908:21;;;:10;:21;;;;;;;;19788:149::o;29120:120::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29187:7;;29204:8;;29181:43;;;-1:-1:-1;;;29181:43:0;;-1:-1:-1;;;;;29204:8:0;;;29181:43;;;;29214:9;29181:43;;;;;;29187:7;;;;;29181:22;;:43;;;;;;;;;;;;;;29187:7;;29181:43;;;5:2:-1;;;;30:1;27;20:12;5:2;29181:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29181:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;29120:120:0:o;29249:270::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29355:4;29343:9;:16;;29335:60;;;;;-1:-1:-1;;;29335:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;29428:4;29416:9;:16;;29408:63;;;;-1:-1:-1;;;29408:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29482:17;:29;29249:270::o;19945:104::-;20009:32;20019:10;20031:9;20009;:32::i;9235:31::-;;;-1:-1:-1;;;;;9235:31:0;;:::o;30266:115::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30351:13:0;;;;;;;;:6;:13;;;;;:21;;-1:-1:-1;;30351:21:0;;;;;;;;;;30266:115::o;10291:29::-;;;;:::o;27434:167::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27578:5;:14;27434:167::o;10368:39::-;;;;:::o;26582:166::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26665:6;26659:3;:12;;26651:57;;;;;-1:-1:-1;;;26651:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26727:6;:12;26582:166::o;10329:26::-;;;;:::o;19210:49::-;;;;;;;;;;;;;;;:::o;29897:108::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;29972:18:0;;;;;:11;:18;;;;;:25;;-1:-1:-1;;29972:25:0;29993:4;29972:25;;;29897:108::o;4216:110::-;-1:-1:-1;;;;;4300:18:0;4273:7;4300:18;;;;;;;;;;;;4216:110::o;11410:161::-;11496:16;11514:15;11531;11548:14;11410:161;;;;;;;:::o;946:116::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1027:27;1046:7;1027:18;:27::i;21539:1149::-;21647:7;21694:12;21680:11;:26;21672:89;;;;-1:-1:-1;;;21672:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21796:23:0;;21774:19;21796:23;;;:14;:23;;;;;;;;21834:17;21830:58;;21875:1;21868:8;;;;;21830:58;-1:-1:-1;;;;;21904:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;21925:16:0;;21904:38;;;;;;;;;:48;;:63;-1:-1:-1;21900:147:0;;-1:-1:-1;;;;;21991:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;22012:16:0;;;;21991:38;;;;;;;;22027:1;21991:44;;;-1:-1:-1;21984:51:0;;21900:147;-1:-1:-1;;;;;22063:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;22059:88:0;;;22134:1;22127:8;;;;;22059:88;22159:12;-1:-1:-1;;22201:16:0;;22228:402;22243:5;22235:13;;:5;:13;;;22228:402;;;22307:1;22290:13;;;22289:19;;;22281:27;;22324:20;;:::i;:::-;-1:-1:-1;;;;;;22347:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;22324:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22394:27;;22390:229;;;22449:8;;;;-1:-1:-1;22442:15:0;;-1:-1:-1;;;;22442:15:0;22390:229;22483:12;;:26;;;-1:-1:-1;22479:140:0;;;22538:6;22530:14;;22479:140;;;22602:1;22593:6;:10;22585:18;;22479:140;22228:402;;;;;-1:-1:-1;;;;;;22647:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;;;;-1:-1:-1;;21539:1149:0;;;;:::o;7482:103::-;7551:26;7561:7;7570:6;7551:9;:26::i;28466:162::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28548:8;;-1:-1:-1;;;;;28548:8:0;:22;28540:52;;;;;-1:-1:-1;;;28540:52:0;;;;;;;;;;;;-1:-1:-1;;;28540:52:0;;;;;;;;;;;;;;;28603:8;:17;;-1:-1:-1;;;;;;28603:17:0;-1:-1:-1;;;;;28603:17:0;;;;;;;;;;28466:162::o;30135:118::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30230:15:0;;;;;:8;:15;;;;;;;-1:-1:-1;;30211:34:0;;30230:15;;;;30229:16;30211:34;;;30135:118::o;28084:370::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28181:22;;28177:215;;28249:2;28228:17;:23;;28220:72;;;;-1:-1:-1;;;28220:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28336:3;28315:17;:24;;28307:73;;;;-1:-1:-1;;;28307:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28410:16;:36;28084:370::o;19525:39::-;;;;;;;;;;;;;:::o;9161:23::-;;;-1:-1:-1;;;;;9161:23:0;;:::o;10414:40::-;;;;:::o;26147:89::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26210:8;;;;;;;;;-1:-1:-1;;;;;26210:8:0;-1:-1:-1;;;;;26205:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;28811:163:0;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28894:7;;-1:-1:-1;;;;;28894:7:0;:21;28886:51;;;;;-1:-1:-1;;;28886:51:0;;;;;;;;;;;;-1:-1:-1;;;28886:51:0;;;;;;;;;;;;;;;28948:7;:18;;-1:-1:-1;;;;;;28948:18:0;-1:-1:-1;;;;;28948:18:0;;;;;;;;;;28811:163::o;16814:122::-;16897:5;;16891:37;;;-1:-1:-1;;;16891:37:0;;16922:4;16891:37;;;;;;16864:7;;-1:-1:-1;;;;;16897:5:0;;16891:22;;:37;;;;;;;;;;;;;;16897:5;16891:37;;;5:2:-1;;;;30:1;27;20:12;9942:64:0;;;-1:-1:-1;;;;;9942:64:0;;:::o;8665:87::-;8737:7;8730:14;;;;;;;;-1:-1:-1;;8730:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8704:13;;8730:14;;8737:7;;8730:14;;8737:7;8730:14;;;;;;;;;;;;;;;;;;;;;;;;14188:777;14258:18;;14233:21;14243:10;14233:9;:21::i;:::-;:43;;14225:99;;;;-1:-1:-1;;;14225:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14377:17;;14361:13;;:33;14343:15;:51;14335:101;;;;-1:-1:-1;;;14335:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14464:15;14448:13;:31;14516:9;;14538:23;:21;:23::i;:::-;14580:31;14595:15;14580:14;:31::i;:::-;14693:16;;14653:5;;14678:8;;14647:41;;;-1:-1:-1;;;14647:41:0;;-1:-1:-1;;;;;14678:8:0;;;14647:41;;;;;;14622:22;;14647:63;;14693:16;;14653:5;;14647:22;;:41;;;;;;;;;;;;;;14653:5;14647:41;;;5:2:-1;;;;30:1;27;20:12;5:2;14647:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14647:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14647:41:0;;:63;:45;:63;:::i;:::-;14729:8;;14721:86;;;-1:-1:-1;;;14721:86:0;;14777:4;14721:86;;;;;;;;;;14800:6;14721:86;;;;;;14622:88;;-1:-1:-1;;;;;;14729:8:0;;;;14721:47;;:86;;;;;;;;;;;;;;;14729:8;;14721:86;;;5:2:-1;;;;30:1;27;20:12;5:2;14721:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14721:86:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;14834:5:0;;14849:8;;14879:5;;14818:68;;-1:-1:-1;;;;;14834:5:0;;;;14849:8;;14860:25;;:14;;:25;:18;:25;:::i;:::-;14818:15;:68::i;:::-;14913:5;;14941;;14897:50;;-1:-1:-1;;;;;14913:5:0;;14928:10;;14897:15;:50::i;9544:37::-;;;;:::o;28640:158::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28720:8;;-1:-1:-1;;;;;28720:8:0;:22;28712:52;;;;;-1:-1:-1;;;28712:52:0;;;;;;;;;;;;-1:-1:-1;;;28712:52:0;;;;;;;;;;;;;;;28775:8;:15;;-1:-1:-1;;;;;;28775:15:0;-1:-1:-1;;;;;28775:15:0;;;;;;;;;;28640:158::o;31073:245::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31170:2;31159:7;:13;;31151:57;;;;;-1:-1:-1;;;31151:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;31239:3;31228:7;:14;;31220:58;;;;;-1:-1:-1;;;31220:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;31289:11;:21;31073:245::o;9273:43::-;;;;;;;;;;;;;;;:::o;5336:261::-;5421:4;5438:129;5447:12;:10;:12::i;:::-;5461:7;5470:96;5509:15;5470:96;;;;;;;;;;;;;;;;;:11;:25;5482:12;:10;:12::i;:::-;-1:-1:-1;;;;;5470:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;5470:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;28987:119::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29053:7;;29070:8;;29047:43;;;-1:-1:-1;;;29047:43:0;;-1:-1:-1;;;;;29070:8:0;;;29047:43;;;;29080:9;29047:43;;;;;;29053:7;;;;;29047:22;;:43;;;;;;;;;;;;;;29053:7;;29047:43;;;5:2:-1;;;;30:1;27;20:12;15828:108:0;15877:7;15904:24;15922:4;15904:9;:24::i;:::-;15897:31;;15828:108;:::o;27262:160::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27399:5;:14;27262:160::o;4334:158::-;4403:4;4420:42;4430:12;:10;:12::i;:::-;4444:9;4455:6;4420:9;:42::i;9713:26::-;;;;:::o;17069:125::-;17117:7;17144:42;17168:17;:15;:17::i;:::-;17144:19;:17;:19::i;:::-;:23;:42;:23;:42;:::i;21276:255::-;-1:-1:-1;;;;;21415:23:0;;21368:7;21415:23;;;:14;:23;;;;;;;;21456:16;:67;;21522:1;21456:67;;;-1:-1:-1;;;;;21475:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;21496:16:0;;21475:38;;;;;;;;21511:1;21475:44;;21456:67;21449:74;21276:255;-1:-1:-1;;;21276:255:0:o;30615:264::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30719:7;30708;:18;;30700:62;;;;;-1:-1:-1;;;30700:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;30792:5;30781:7;:16;;30773:59;;;;;-1:-1:-1;;;30773:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;30843:18;:28;30615:264::o;26760:239::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26857:4;26849;:12;;26841:50;;;;;-1:-1:-1;;;26841:50:0;;;;;;;;;;;;-1:-1:-1;;;26841:50:0;;;;;;;;;;;;;;;26920:4;26912;:12;;26904:49;;;;;-1:-1:-1;;;26904:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26966:17;:24;26760:239::o;815:125::-;879:4;903:29;:16;924:7;903:29;:20;:29;:::i;20057:1211::-;20250:23;19310:80;;;;;;;;;;;;;;;;;;;20379:6;:4;:6::i;:::-;20363:24;;;;;;20406:12;:10;:12::i;:::-;20445:4;20300:165;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20300:165:0;-1:-1:-1;;;;;20300:165:0;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;20300:165:0;;;20276:200;;;;;;20250:226;;20489:18;19445:71;;;;;;;;;;;;;;;;;;;20534:140;;;;;;;;-1:-1:-1;;;;;20534:140:0;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;20534:140:0;;;;;20510:175;;;;;;-1:-1:-1;;;20739:123:0;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;20739:123:0;;;;;;20715:158;;;;;;;;;-1:-1:-1;20906:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20510:175;;-1:-1:-1;20715:158:0;;-1:-1:-1;;;20906:26:0;;;;;;;20534:140;-1:-1:-1;;20906:26:0;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;20906:26:0;;-1:-1:-1;;20906:26:0;;;-1:-1:-1;;;;;;;20951:23:0;;20943:85;;;;-1:-1:-1;;;20943:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21056:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;21047:28;;21039:86;;;;-1:-1:-1;;;21039:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21151:6;21144:3;:13;;21136:75;;;;-1:-1:-1;;;21136:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21229:31;21239:9;21250;21229;:31::i;:::-;21222:38;;;;20057:1211;;;;;;;:::o;15944:427::-;15991:7;16011:21;16041:5;;;;;;;;;-1:-1:-1;;;;;16041:5:0;-1:-1:-1;;;;;16035:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16035:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16035:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16035:26:0;;-1:-1:-1;16072:17:0;16092;:15;:17::i;9508:29::-;;;;:::o;10463:18::-;;;;;;:::o;9323:40::-;;;;;;;;;;;;;;;:::o;9867:68::-;;;-1:-1:-1;;;;;9867:68:0;;:::o;30891:170::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30986:3;30975:7;:14;;30967:55;;;;;-1:-1:-1;;;30967:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;31034:9;:19;30891:170::o;4500:134::-;-1:-1:-1;;;;;4599:18:0;;;4572:7;4599:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4500:134::o;10047:23::-;;;;:::o;9588:31::-;;;;:::o;10013:20::-;;;-1:-1:-1;;;10013:20:0;;;;;:::o;19399:117::-;19445:71;;;;;;;;;;;;;;;;;;19399:117;:::o;9753:33::-;;;;:::o;9370:38::-;;;;;;;;;;;;;;;:::o;9469:32::-;;;;:::o;19131:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;25611:100::-;25661:42;25670:12;:10;:12::i;:::-;25684:8;;-1:-1:-1;;;;;25684:8:0;25694;25661;:42::i;29532:353::-;688:30;705:12;:10;:12::i;688:30::-;680:107;;;;-1:-1:-1;;;680:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29628:14;;29624:201;;29680:2;29667:9;:15;;29659:70;;;;-1:-1:-1;;;29659:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29765:1;29752:9;:14;;29744:69;;;;-1:-1:-1;;;29744:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29843:22;:34;29532:353::o;9686:20::-;;;;:::o;10256:28::-;;;;:::o;10077:22::-;;;;:::o;9191:37::-;;;-1:-1:-1;;;;;9191:37:0;;:::o;9627:24::-;;;;:::o;10146:46::-;;;;:::o;93:98::-;173:10;93:98;:::o;6756:338::-;-1:-1:-1;;;;;6850:19:0;;6842:68;;;;-1:-1:-1;;;6842:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6929:21:0;;6921:68;;;;-1:-1:-1;;;6921:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7002:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7054:32;;;;;;;;;;;;;;;;;6756:338;;;:::o;11789:2344::-;11884:6;;;;:32;;;;-1:-1:-1;;;;;;11894:14:0;;;;;;:8;:14;;;;;;;;:22;;:14;:22;;11884:32;:56;;;;-1:-1:-1;;;;;;11920:12:0;;;;;;:8;:12;;;;;;;;:20;;:12;:20;;11884:56;11881:131;;;11956:56;;-1:-1:-1;;;11956:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11881:131;-1:-1:-1;;;;;12114:17:0;;12035:15;12114:17;;;:11;:17;;;;;;12035:15;;12114:17;;:26;;;:54;;-1:-1:-1;;;;;;12144:15:0;;;;;;:11;:15;;;;;;;;:24;12114:54;12111:2015;;;12188:14;;:19;;;;:36;;-1:-1:-1;;;;;;12211:13:0;;;;;;:7;:13;;;;;;;;12188:36;12184:410;;;12259:18;;12250:6;:27;12247:332;;;12327:3;;12315:7;;:16;;;:11;:16;:::i;:::-;12305:7;:26;;;12370:6;;12359:17;12356:199;;;12404:50;12428:4;12435:9;12446:7;;12404:15;:50::i;:::-;12491:1;12481:7;:11;;;12519:7;:11;12356:199;12622:9;;:14;12618:200;;12678:9;;12667:21;;:6;;:21;:10;:21;:::i;:::-;12658:30;-1:-1:-1;12717:18:0;:6;12658:30;12717:18;:10;:18;:::i;:::-;12783:8;;12708:27;;-1:-1:-1;12753:48:0;;12769:4;;-1:-1:-1;;;;;12783:8:0;12794:6;12753:15;:48::i;:::-;12847:17;;:22;12843:640;;12903:17;;12894:6;:26;12891:101;;;12968:3;;12955:8;;:17;;;:12;:17;:::i;:::-;12944:8;:28;12891:101;13042:17;;13031:29;;:6;;:29;:10;:29;:::i;:::-;13020:40;-1:-1:-1;13089:20:0;:6;13020:40;13089:20;:10;:20;:::i;:::-;13080:29;;13128:46;13144:4;13158;13165:8;13128:15;:46::i;:::-;13212:10;:22;;;;;;13268:8;;13256;;:20;13253:215;;;13300:53;13324:4;13331:9;13342:10;;13300:15;:53::i;:::-;13389:1;13376:10;:14;;;13413:8;:12;13253:215;13511:11;;:16;;;;:30;;-1:-1:-1;;;;;;13531:10:0;;;;;;:6;:10;;;;;;;;13511:30;13507:466;;;13561:14;13578:23;13589:11;;13578:6;:10;;:23;;;;:::i;:::-;13561:40;-1:-1:-1;13629:18:0;:6;13561:40;13629:18;:10;:18;:::i;:::-;13666:9;:19;;;;;;13731:14;;13620:27;;-1:-1:-1;13666:9:0;;13720:26;;13620:27;;13720:26;:10;:26;:::i;:::-;13704:42;;13774:19;13785:7;;13774:6;:10;;:19;;;;:::i;:::-;13813:7;:16;;;;;;;;13765:28;;-1:-1:-1;13899:57:0;;13915:4;;13929;;13936:19;;:6;;:19;:10;:19;:::i;13899:57::-;13507:466;;;14005:33;14021:4;14027:2;14031:6;14005:15;:33::i;:::-;12111:2015;;;14078:33;14094:4;14100:2;14104:6;14078:15;:33::i;:::-;11789:2344;;;;;:::o;2548:192::-;2634:7;2670:12;2662:6;;;;2654:29;;;;-1:-1:-1;;;2654:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2654:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2706:5:0;;;2548:192::o;2215:181::-;2273:7;2305:5;;;2329:6;;;;2321:46;;;;;-1:-1:-1;;;2321:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18813:170;-1:-1:-1;;;;;18896:19:0;;;;;;;:10;:19;;;;;;18881:55;;18896:19;;18929:6;18881:14;:55::i;:::-;18947:28;18959:7;18968:6;18947:11;:28::i;1328:154::-;1396:32;:16;1420:7;1396:32;:23;:32;:::i;:::-;1444:30;;-1:-1:-1;;;;;1444:30:0;;;;;;;;1328:154;:::o;2748:252::-;2806:7;2832:6;2828:47;;-1:-1:-1;2862:1:0;2855:8;;2828:47;2899:5;;;2903:1;2899;:5;:1;2923:5;;;;;:10;2915:56;;;;-1:-1:-1;;;2915:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3008:132;3066:7;3093:39;3097:1;3100;3093:39;;;;;;;;;;;;;;;;;:3;:39::i;22696:394::-;-1:-1:-1;;;;;22813:21:0;;;22787:23;22813:21;;;:10;:21;;;;;;;;;;22872:20;22824:9;22872;:20::i;:::-;-1:-1:-1;;;;;22904:21:0;;;;;;;:10;:21;;;;;;:33;;-1:-1:-1;;;;;;22904:33:0;;;;;;;;;;22955:54;;22845:47;;-1:-1:-1;22904:33:0;22955:54;;;;;;22904:21;22955:54;23022:60;23037:15;23054:9;23065:16;23022:14;:60::i;1173:146::-;1238:29;:16;1259:7;1238:29;:20;:29;:::i;:::-;1283:28;;-1:-1:-1;;;;;1283:28:0;;;;;;;;1173:146;:::o;7102:232::-;7174:22;7180:7;7189:6;7174:5;:22::i;:::-;7207:119;7216:7;7225:12;:10;:12::i;:::-;7239:86;7278:6;7239:86;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7239:20:0;;;;;;:11;:20;;;;;;7260:12;:10;:12::i;14977:113::-;15049:17;;:33;;15071:10;15049:33;:21;:33;:::i;15102:712::-;15172:8;;-1:-1:-1;;;;;15172:8:0;:22;15169:638;;15219:8;;15313:9;;15382:4;;15211:228;;;-1:-1:-1;;;15211:228:0;;15256:4;15211:228;;;;;;;;;;;-1:-1:-1;;;;;15382:4:0;;;15211:228;;;;;;15219:8;;;;;15211:36;;:228;;;;;;;;;;;15219:8;;15211:228;;;5:2:-1;;;;30:1;27;20:12;5:2;15211:228:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15211:228:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15476:4:0;;15211:228;15469:37;;-1:-1:-1;;;15469:37:0;;15500:4;15469:37;;;;;;15454:12;;-1:-1:-1;;;;;15476:4:0;;15469:22;;:37;;;;;15211:228;;15469:37;;;;;;;15476:4;15469:37;;;5:2:-1;;;;30:1;27;20:12;5:2;15469:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15469:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15469:37:0;15547:5;;15469:37;;-1:-1:-1;15521:14:0;;15538:15;;15469:37;;15538:15;:8;:15;:::i;:::-;15600:8;;15521:32;;-1:-1:-1;;;;;;15600:8:0;15581:37;15619:16;:4;15521:32;15619:16;:8;:16;:::i;:::-;15581:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15581:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15655:4:0;;15689:8;;15650:56;;;-1:-1:-1;;;15650:56:0;;15682:4;15650:56;;;;-1:-1:-1;;;;;15689:8:0;;;15650:56;;;;;;;;;;;;15655:4;;;;;-1:-1:-1;15650:23:0;;-1:-1:-1;15650:56:0;;;;;;;;;;;;;;15655:4;;15650:56;;;5:2:-1;;;;30:1;27;20:12;5:2;15650:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15650:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;15744:1:0;15733:9;:12;15765:29;;;;;;;;;;;;;15650:56;15765:29;;;15169:638;;15102:712;:::o;2404:136::-;2462:7;2489:43;2493:1;2496;2489:43;;;;;;;;;;;;;;;;;:3;:43::i;18438:189::-;-1:-1:-1;;;;;18534:16:0;;;;;;;:10;:16;;;;;;;18552:14;;;;;;;;18519:56;;18534:16;;;;18552:14;18568:6;18519:14;:56::i;:::-;18586:33;18602:4;18608:2;18612:6;18586:15;:33::i;8061:203::-;8133:4;-1:-1:-1;;;;;8158:21:0;;8150:68;;;;-1:-1:-1;;;8150:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8236:20:0;:11;:20;;;;;;;;;;;;;;;8061:203::o;24849:153::-;24959:9;24849:153;:::o;23098:851::-;23204:6;-1:-1:-1;;;;;23194:16:0;:6;-1:-1:-1;;;;;23194:16:0;;;:30;;;;;23223:1;23214:6;:10;23194:30;23190:752;;;-1:-1:-1;;;;;23245:20:0;;;23241:337;;-1:-1:-1;;;;;23305:22:0;;23286:16;23305:22;;;:14;:22;;;;;;;;;23366:13;:60;;23425:1;23366:60;;;-1:-1:-1;;;;;23382:19:0;;;;;;:11;:19;;;;;;;;:34;-1:-1:-1;;23402:13:0;;23382:34;;;;;;;;23414:1;23382:40;;23366:60;23346:80;-1:-1:-1;23445:17:0;23465:21;23346:80;23479:6;23465:21;:13;:21;:::i;:::-;23445:41;;23505:57;23522:6;23530:9;23541;23552;23505:16;:57::i;:::-;23241:337;;;;-1:-1:-1;;;;;23598:20:0;;;23594:337;;-1:-1:-1;;;;;23658:22:0;;23639:16;23658:22;;;:14;:22;;;;;;;;;23719:13;:60;;23778:1;23719:60;;;-1:-1:-1;;;;;23735:19:0;;;;;;:11;:19;;;;;;;;:34;-1:-1:-1;;23755:13:0;;23735:34;;;;;;;;23767:1;23735:40;;23719:60;23699:80;-1:-1:-1;23798:17:0;23818:21;23699:80;23832:6;23818:21;:13;:21;:::i;:::-;23798:41;;23858:57;23875:6;23883:9;23894;23905;23858:16;:57::i;6400:348::-;-1:-1:-1;;;;;6476:21:0;;6468:67;;;;-1:-1:-1;;;6468:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6569:68;6592:6;6569:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6569:18:0;;:9;:18;;;;;;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;6548:18:0;;:9;:18;;;;;;;;;;:89;6663:12;;:24;;6680:6;6663:24;:16;:24;:::i;:::-;6648:12;:39;6703:37;;;;;;;;6729:1;;-1:-1:-1;;;;;6703:37:0;;;;;;;;;;;;6400:348;;:::o;7870:183::-;7950:18;7954:4;7960:7;7950:3;:18::i;:::-;7942:64;;;;-1:-1:-1;;;7942:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8017:20:0;8040:5;8017:20;;;;;;;;;;;:28;;-1:-1:-1;;8017:28:0;;;7870:183::o;3148:193::-;3234:7;3271:12;3264:5;3256:28;;;;-1:-1:-1;;;3256:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3256:28:0;;3295:9;3311:1;3307;:5;;;;;;;3148:193;-1:-1:-1;;;;;3148:193:0:o;7684:178::-;7762:18;7766:4;7772:7;7762:3;:18::i;:::-;7761:19;7753:63;;;;;-1:-1:-1;;;7753:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7827:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;7827:27:0;7850:4;7827:27;;;7684:178::o;5605:471::-;-1:-1:-1;;;;;5703:20:0;;5695:70;;;;-1:-1:-1;;;5695:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5784:23:0;;5776:71;;;;-1:-1:-1;;;5776:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5880;5902:6;5880:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5880:17:0;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5860:17:0;;;:9;:17;;;;;;;;;;;:91;;;;5985:20;;;;;;;:32;;6010:6;5985:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5962:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;6033:35;;;;;;;5962:20;;6033:35;;;;;;;;;;;;;5605:471;;;:::o;23957:715::-;24136:18;24157:87;24164:12;24157:87;;;;;;;;;;;;;;;;;:6;:87::i;:::-;24136:108;;24276:1;24261:12;:16;;;:85;;;;-1:-1:-1;;;;;;24281:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;24304:16:0;;24281:40;;;;;;;;;:50;:65;;;:50;;:65;24261:85;24257:339;;;-1:-1:-1;;;;;24363:22:0;;;;;;:11;:22;;;;;;;;:40;-1:-1:-1;;24386:16:0;;24363:40;;;;;;;;24401:1;24363:46;:57;;;24257:339;;;24492:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24453:22:0;;-1:-1:-1;24453:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;-1:-1:-1;;24453:72:0;;;;;;;;;;;;;24540:25;;;:14;:25;;;;;;:44;;24568:16;;;24540:44;;;;;;;;;;24257:339;24613:51;;;;;;;;;;;;;;-1:-1:-1;;;;;24613:51:0;;;;;;;;;;;23957:715;;;;;:::o;24680:161::-;24755:6;24793:12;24786:5;24782:9;;24774:32;;;;-1:-1:-1;;;24774:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;24774:32:0;-1:-1:-1;24831:1:0;;24680:161;-1:-1:-1;;24680:161:0:o;25395:5926::-;;;;;;;;;;-1:-1:-1;25395:5926:0;;;;;;;;:::o;6084:308::-;-1:-1:-1;;;;;6160:21:0;;6152:65;;;;;-1:-1:-1;;;6152:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6245:12;;:24;;6262:6;6245:24;:16;:24;:::i;:::-;6230:12;:39;-1:-1:-1;;;;;6301:18:0;;:9;:18;;;;;;;;;;;:30;;6324:6;6301:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6280:18:0;;:9;:18;;;;;;;;;;;:51;;;;6347:37;;;;;;;6280:18;;:9;;6347:37;;;;;;;;;;6084:308;;:::o

Swarm Source

bzzr://021a9e44cf7845a3a5daba221b0e74ac57d5205735441789ca6a0a84fa7397f1
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.