Contract 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb2

Contract Overview

Balance:
0.7148074761 MATIC

Token:
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xa3abae3c4f7139188a45ba16f6f66d72e4f07c69d2017f66315762762a0aca17Make Bet314721132023-01-27 13:42:03246 days 2 hrs ago0xc19cd6decb72bf193a32c8532ea715f87c0466ff IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002741 MATIC0.00732473 70
0xb00d1a79af4420ddce8a2f7aa724b1c3d14f58ff5c8ad3035c2212ee10430ddbMake Bet314701002023-01-27 12:30:23246 days 3 hrs ago0x872523c2ba96b07e2ab9b62f3d78d712f8eac966 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001015 MATIC0.00732711 70
0x4a81b7abbe2fb928fdeb147e3d450e0d7fbdb6aed82f552dff78f57a530321b9Make Bet314436952023-01-26 20:53:09246 days 19 hrs ago0x1425625238b2c4c847f2690b5bb326ed10e47bb8 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001463 MATIC0.00732711 70
0x0d0833bf7b57ffbaa0c9b64c87169ffc61e61888a2a16461ac31bddd9fb02fe1Make Bet314378892023-01-26 17:27:05246 days 22 hrs ago0xca9ac62d4dbf460128b86d12223979ae337cd07a IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002842 MATIC0.00732473 70
0xc8b2a4cc94a21fb6d8805dda67ad1696f2f0f6741e54c9f1d70b520a77569fa1Make Bet314378812023-01-26 17:26:47246 days 22 hrs ago0x18fc1d90e51708287f10c038297fa883d41f1b7e IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001964 MATIC0.00732711 70
0x46f71b11a814f73668e32075f58f22847ee5b4e6cd8e6dab2ea64cab85d8bb97Make Bet314322552023-01-26 14:06:41247 days 2 hrs ago0xad6229fcf4d8ebb1b6ffab6894e456b361b7c231 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.000262 MATIC0.00732711 70
0x32482667f5a5ddd66c00ee6863eb55c142af1c880a94461d19d58ddb4b16a0beMake Bet314312272023-01-26 13:30:17247 days 2 hrs ago0x5705faa448bf1222a196bf16871ee8b86ceb7761 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001662 MATIC0.00732711 70
0xd558116e757cc86b822cfab27f0179bed15668ab05c62eea8276244f8538e52bMake Bet314135212023-01-26 3:01:43247 days 13 hrs ago0xe53571022f964cf3ef83df647c80f3603e1aa103 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001188 MATIC0.00732711 70
0x7b004ee17e6dd48ab8ea02c8b428c53c56f23fd85bfcfd00684e76cdeae493e6Make Bet314101682023-01-26 1:02:39247 days 15 hrs ago0xed26e0a8b6024a37cc5829ccc8b7cdffbfbcaec7 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002978 MATIC0.00732473 70
0x0375b213a2e80da8d7f11520025895f65a61251024ac0fc5488e6ba491d776b3Make Bet313956972023-01-25 16:28:14247 days 23 hrs ago0x5e36b948b2c929fe9ca30d99b6c6fd1c7250e1c4 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001781 MATIC0.00732711 70
0x32b5e1729c1ea6b3cd4ba5189f765ee019934a6f5b61ea31c1233e812e05ab33Make Bet313929332023-01-25 14:50:18248 days 1 hr ago0x3796f58fcf8c794f8943658c8e0a6397e75530d4 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.000192 MATIC0.00732473 70
0x6090ab2d99021425fd18c130b8d470abaed7a84f241e0429b28cc53428992e66Make Bet313911382023-01-25 13:46:00248 days 2 hrs ago0xabb72baec8a2c49a66caa606ca96840e5a68bb22 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002857 MATIC0.00732711 70
0x327d8bd6f1fc1104e240775a9fdaffe3fa502a66e162b90b37f6fe90d6bd6153Make Bet313909632023-01-25 13:39:48248 days 2 hrs ago0x54738845cea40913f2fd30b6d267bf5c338859cf IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002218 MATIC0.00732711 70
0x2840f5813ca186414c4115e139f21430b17b00344602966466c1c46839bf6852Make Bet313908642023-01-25 13:36:16248 days 2 hrs ago0x1df2542a86a8ceb196c138850769d19bc724acec IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001074 MATIC0.00732473 70
0xe25a574c6c8cdc2532e30bae5cf2d087c4cb1f21806d52faff91e0b35f746b2aMake Bet313874082023-01-25 11:32:57248 days 4 hrs ago0x7a5c93cb5d9f4e34f6d0f1566ebebe45b9ef5b17 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.000134 MATIC0.00732473 70
0x93ac5fda7dabc8809ff654d162664fb80abc4fc868ac07651b82e5e3076ffbbbMake Bet313845402023-01-25 9:50:39248 days 6 hrs ago0x960916de82dc166e5abd8a093b192242c7662841 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002266 MATIC0.00732711 70
0x6335c183db614b45a852261cfc3375592520eb4b9609e12c1d52f02b633114d9Make Bet313840612023-01-25 9:33:36248 days 6 hrs ago0x314c9a7a79ec28835ae68bcf5c0fd696141f85b4 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001838 MATIC0.00732711 70
0x14fd577669e0a0b5aa7cda04d0185b1f1a77ccb08968fecb1f144163cb1e9789Make Bet313829472023-01-25 8:54:08248 days 7 hrs ago0xfd442e84f2e6bbfe09dc6055eeb5a367d02dd78d IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002039 MATIC0.00732711 70
0x772e7062c55d66e7e17f539fe7bf00a4197131246204e775b139af610d7a0b5cMake Bet313822302023-01-25 8:28:30248 days 7 hrs ago0x1aa7f1513d89656f5d2f47458cbcf11b1ade00ac IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001607 MATIC0.00732711 70
0x6fb43f09df1de8846eb6926f3947bf99d15954413c9c8c0cc323b60290c56b97Make Bet313814002023-01-25 7:59:06248 days 8 hrs ago0xc6ebb12f7fc1af5043a0e522b2efc364500f86d1 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002477 MATIC0.00732711 70
0x99791451597551b6c3618af2eab6458220e3bd663248d869018858eb989e1978Make Bet313806352023-01-25 7:31:56248 days 8 hrs ago0x97d83d4fcaa33b6a9bf5a10162a187ac5f33a6e6 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001553 MATIC0.00732473 70
0xaf3381eb8f99f9a9fdb53ac2f902771d314a29d35706603177666743b713ac39Make Bet313791372023-01-25 6:38:44248 days 9 hrs ago0x33235bfe38c260da0fc8564a4ca9d022288e0769 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002353 MATIC0.00732473 70
0xa33be306100b81f1626b2e5a87c4dc56ae091ea486c5d83f64581db2c12101fcMake Bet313789302023-01-25 6:31:24248 days 9 hrs ago0x42c87407e6b39ebd0565f9203b028e7945700ebe IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0001049 MATIC0.00732473 70
0xdac3f8fb5b1411411a440fd94ee8466e76146b664c7e52e93e2a1ac389aeadaeMake Bet313767542023-01-25 5:14:08248 days 10 hrs ago0x199a74cb9d015a911a03312c9a2fe4f64d9f7979 IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.0002619 MATIC0.00732473 70
0xfbdf003a3c40a50530e7b5105cd1104a7e5963872f3ac576353808c397bfa3a1Make Bet313751992023-01-25 4:18:51248 days 11 hrs ago0xa9d673f0c4a181a6189612813f0d335cbf5d1b7f IN  0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20.000257 MATIC0.00732473 70
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20xb18285f96b247f75e5b63e61763bc1b7e7f4fef00.0001666 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x1029e4f8c6a74d432bd80e2bb75aa4f62ae0cf8f0.0004300314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x7cfc60dc56bd6afd4e938450d62c72661a62de4b0.0001217 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x7077fa654f6eb023665bdb3c424b83a3672d87f40.0004406314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20xddfd2ce6e3db90a2b0d4f32509ad72653665d6ee0.0004210314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x042d5caa56a56863ead05f02ac468810769789ca0.0001012 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x593214590afd12c1c33d40c807db0af14693ecb90.0004126314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x3e8dd8f3cbf027e64d785a09165f1a432fe90f750.0004323314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x3e70bc04a272d79309de25e8907930be3361b49d0.0001535 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x5fc45831bfea82b7c573db30d3b4f1544a5c16640.0004032314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x7fcdbb90428a9d87039f9ade76d0bab71cb254260.0004166314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20xb0d14313e93d925d7c9f689da4798167d13a5e880.0003900314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x95dc95970200e8cbb93f0f8956b7d9dd0ebe76f60.0004099314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x010fc7739d09aec4f30c35fdc7894be857c386ba0.0003714314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x1029e4f8c6a74d432bd80e2bb75aa4f62ae0cf8f0.0001066 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x2016a509e0fd016d1ecbdc33d66b2c9ee81e7bff0.0001272 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x3d85674987e716823fec528a7e43756f87f5ec090.0004145314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x4efe0b85934b7375256d1ec8bd792aa3173f88eb0.0004589314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x800a3de86789c13e0caa4425d8ba16b15d3e89d00.0003612314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20xddfd2ce6e3db90a2b0d4f32509ad72653665d6ee0.0003697314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x4fce9a01ea2fc5fc1b771b8af0b4b8df117911760.0004301314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x04b51357e57bede1aeebfc3b977c22e5571426eb0.0004456314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20xb18285f96b247f75e5b63e61763bc1b7e7f4fef00.0001465 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x6bbaf0fc52d625bbacb287f4bb95a9a0473b89f40.0004134314 MATIC
0xe8980ef9752e151d30d9641c1e00511222a9fa1d9cbb853c1f9c72028ce663d9312651662023-01-22 11:12:08251 days 5 hrs ago 0x88cbc91b915e155ec6ac516bc940bd79a84b9eb20x41d0f335f2903eccd85713eef0087a6874b4373d0.0003692314 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UpVsDownGameV1

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at PolygonScan.com on 2023-01-02
*/

// File: @openzeppelin/contracts/utils/Context.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol


pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: contracts/UpVsDownGameV1.sol


pragma solidity >=0.4.22 <0.9.0;

contract UpVsDownGameV1 is Ownable {

  struct BetGroup {
    uint256[] bets;
    address[] addresses;
    uint256 total;
    uint256 distributedCount;
  }

  struct Round {
    bool created;
    int32 startPrice;
    int32 endPrice;
    uint256 minBetAmount;
    uint256 maxBetAmount;
    uint256 poolBetsLimit;
    BetGroup upBetGroup;
    BetGroup downBetGroup;
  }

  address public gameController;
  mapping(bytes => Round) public pools;
  uint8 public feePercentage = 5;
  address public feeAddress = msg.sender;
  bool public isRunning;
  bytes public notRunningReason;
  //string avatarUrl = "https://i.seadn.io/gae/7l3PwKASoZABNFrgDLXOGPeQsTFnr6KIVuleu-Cywq3JigZpcH7soLaXk3AEL-NFJWFUXUf03iResPjHQc7BiAAUips6BK-4-1ekVGE?auto=format&w=100";

  // Errors

  error PendingDistributions();

  // Events

  event RoundStarted(bytes poolId, int64 timestamp, int32 price, uint256 minBetAmount, uint256 maxBetAmount, uint256 poolBetsLimit, bytes indexed indexedPoolId);
  event RoundEnded(bytes poolId, int64 timestamp, int32 startPrice, int32 endPrice, bytes indexed indexedPoolId);
  event BetPlaced(bytes poolId, address sender, uint256 amount, bool prediction, uint256 newTotal, bytes indexed indexedPoolId, string avatarUrl, address indexed indexedSender);
  event BetReturned(bytes poolId, address sender, uint256 amount);
  event GameStopped(bytes reason);
  event GameStarted();
  event RoundDistributed(bytes poolId, uint totalWinners, uint from, uint to);
  event BetWinningsSent(bytes poolId, address sender, uint256 betAmount, uint256 winningsAmount, address indexed indexedSender);

  // Modifiers

  modifier onlyGameController () {
    require(msg.sender == gameController, 'Only game controller can do this');
    _;
  }

  modifier onlyOpenPool (bytes calldata poolId) {
    require(isPoolOpen(poolId), 'This pool has a round in progress');
    _;
  }

  modifier onlyGameRunning () {
    require(isRunning, 'The game is not running');
    _;
  }

  modifier onlyPoolExists (bytes calldata poolId) {
    require(pools[poolId].created == true, 'Pool does not exist');
    _;
  }

  constructor(address newGameController) {
    gameController = newGameController;
  }

  // Methods

  function changeGameControllerAddress(address newGameController) public onlyOwner {
    gameController = newGameController;
  }

  function changeGameFeePercentage(uint8 newFeePercentage) public onlyOwner {
    feePercentage = newFeePercentage;
  }

  function changeGameFeeAddress(address newFeeAddress) public onlyOwner {
    feeAddress = newFeeAddress;
  }

  function stopGame(bytes calldata reason) public onlyOwner {
    isRunning = false;
    notRunningReason = reason;
    emit GameStopped(reason);
  }

  function startGame() public onlyOwner {
    isRunning = true;
    notRunningReason = '';
    emit GameStarted();
  }

  function createPool(bytes calldata poolId, uint256 minBetAmount , uint256 maxBetAmount, uint256 poolBetsLimit) public onlyGameController {
    pools[poolId].created = true;
    pools[poolId].minBetAmount = minBetAmount;
    pools[poolId].maxBetAmount = maxBetAmount;
    pools[poolId].poolBetsLimit = poolBetsLimit;
  }

  function trigger(
    bytes calldata poolId,
    int64 timeMS,
    int32 price,
    uint32 batchSize
  ) public onlyGameController onlyPoolExists(poolId) {
    Round storage currentRound = pools[poolId];

    if(isPoolOpen(poolId)) {
      require(isRunning, 'The game is not running, rounds can only be ended at this point');
      currentRound.startPrice = price;
    
      emit RoundStarted(poolId, timeMS, currentRound.startPrice, currentRound.minBetAmount, currentRound.maxBetAmount, currentRound.poolBetsLimit, poolId);
    } else if (currentRound.endPrice == 0) {
      currentRound.endPrice = price;

      emit RoundEnded(poolId, timeMS, currentRound.startPrice, currentRound.endPrice, poolId);

      distribute(poolId, batchSize);
    } else {
      revert PendingDistributions();
    }
  }

  function returnBets (
    bytes calldata poolId,
    BetGroup storage group,
    uint32 batchSize
  ) private {
    uint256 pending = group.bets.length - group.distributedCount;
    uint256 limit = pending > batchSize ? batchSize : pending;
    uint256 to = group.distributedCount + limit;

    for (uint i = group.distributedCount; i < to; i ++) {
      sendEther(group.addresses[i], group.bets[i]);
      emit BetReturned(poolId, group.addresses[i], group.bets[i]);
    }

    group.distributedCount = to;
  }

  function distribute (
    bytes calldata poolId,
    uint32 batchSize
  ) public onlyGameController onlyPoolExists(poolId) {
    Round storage round = pools[poolId];

    BetGroup storage winners = round.downBetGroup;
    BetGroup storage losers = round.upBetGroup;

    if (round.startPrice < round.endPrice) {
      winners = round.upBetGroup;
      losers = round.downBetGroup;
    }

    if (winners.bets.length == 0) {
      //uint fromReturn = losers.distributedCount;
      returnBets(poolId, losers, batchSize);
      emit RoundDistributed(poolId, losers.bets.length, losers.distributedCount, losers.distributedCount);

      if (losers.distributedCount == losers.bets.length) {
        clearPool(poolId);
      }
      return;
    }

    //uint256 fee = feePercentage * losers.total / 100;
    uint256 totalMinusFee = losers.total - (feePercentage * losers.total / 100);
    uint256 pending = winners.bets.length - winners.distributedCount;
    uint256 limit = pending > batchSize ? batchSize : pending;
    uint256 to = winners.distributedCount + limit;

    if (winners.distributedCount == 0) {
      sendEther(feeAddress, (feePercentage * losers.total / 100));
    }

    for (uint i = winners.distributedCount; i < to; i++) {
      uint256 winnings = ((winners.bets[i] * 100 / winners.total) * totalMinusFee / 100);
      sendEther(winners.addresses[i], winnings + winners.bets[i]);
      emit BetWinningsSent(poolId, winners.addresses[i], winners.bets[i], winnings, winners.addresses[i]);
    }

    emit RoundDistributed(poolId, winners.bets.length, winners.distributedCount, to);

    winners.distributedCount = to;
    if (winners.distributedCount == winners.bets.length) {
      clearPool(poolId);
    }
  }

  function clearPool (
    bytes calldata poolId
  ) private {
    delete pools[poolId].upBetGroup;
    delete pools[poolId].downBetGroup;
    delete pools[poolId].startPrice;
    delete pools[poolId].endPrice;
  }

  function hasPendingDistributions(
    bytes calldata poolId
  ) public view returns (bool) {
    return (pools[poolId].upBetGroup.bets.length + pools[poolId].downBetGroup.bets.length) > 0;
  }

  function isPoolOpen(
    bytes calldata poolId
  ) public view returns (bool) {
    return pools[poolId].startPrice == 0;
  }

  function addBet (
    BetGroup storage betGroup,
    uint256 amount
  ) private returns (uint256) {
    betGroup.bets.push(amount);
    betGroup.addresses.push(msg.sender);
    betGroup.total += amount;
    return betGroup.total;
  }

  function makeBet(
    bytes calldata poolId,
    bool upOrDown,
    string calldata avatarUrl
  ) public payable onlyOpenPool(poolId) onlyGameRunning onlyPoolExists(poolId) {
    require(msg.value > 0, "Needs to send ether to bet");
    require(msg.value >= pools[poolId].minBetAmount, "Bet amount should be higher than the minimum");
    require(msg.value <= pools[poolId].maxBetAmount, "Bet amount should be lower than the maximum");
    uint256 newTotal;
    //Round storage currentPool = pools[poolId];

    if (upOrDown) {
      require(pools[poolId].upBetGroup.bets.length <= pools[poolId].poolBetsLimit-1,"Pool is full, wait for next round");
      newTotal = addBet(pools[poolId].upBetGroup, msg.value);
    } else {
      require(pools[poolId].downBetGroup.bets.length <= pools[poolId].poolBetsLimit-1,"Pool is full, wait for next round");
      newTotal = addBet(pools[poolId].downBetGroup, msg.value);
    }

    emit BetPlaced(poolId, msg.sender, msg.value, upOrDown, newTotal, poolId, avatarUrl, msg.sender);
  }

  function sendEther (
    address to, 
    uint256 amount
  ) private {
    (bool sent, bytes memory data) = payable(to).call{gas: 0, value: amount}("");
    require(sent, "Couldn't send ether");
  } 

  function etherToWei(
    uint valueEther
  ) public returns (uint) {
       return valueEther*(10**18);
  }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"newGameController","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"PendingDistributions","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"prediction","type":"bool"},{"indexed":false,"internalType":"uint256","name":"newTotal","type":"uint256"},{"indexed":true,"internalType":"bytes","name":"indexedPoolId","type":"bytes"},{"indexed":false,"internalType":"string","name":"avatarUrl","type":"string"},{"indexed":true,"internalType":"address","name":"indexedSender","type":"address"}],"name":"BetPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BetReturned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"betAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"winningsAmount","type":"uint256"},{"indexed":true,"internalType":"address","name":"indexedSender","type":"address"}],"name":"BetWinningsSent","type":"event"},{"anonymous":false,"inputs":[],"name":"GameStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"}],"name":"GameStopped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"totalWinners","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"from","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"to","type":"uint256"}],"name":"RoundDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"int64","name":"timestamp","type":"int64"},{"indexed":false,"internalType":"int32","name":"startPrice","type":"int32"},{"indexed":false,"internalType":"int32","name":"endPrice","type":"int32"},{"indexed":true,"internalType":"bytes","name":"indexedPoolId","type":"bytes"}],"name":"RoundEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"poolId","type":"bytes"},{"indexed":false,"internalType":"int64","name":"timestamp","type":"int64"},{"indexed":false,"internalType":"int32","name":"price","type":"int32"},{"indexed":false,"internalType":"uint256","name":"minBetAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxBetAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"poolBetsLimit","type":"uint256"},{"indexed":true,"internalType":"bytes","name":"indexedPoolId","type":"bytes"}],"name":"RoundStarted","type":"event"},{"inputs":[{"internalType":"address","name":"newGameController","type":"address"}],"name":"changeGameControllerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newFeeAddress","type":"address"}],"name":"changeGameFeeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newFeePercentage","type":"uint8"}],"name":"changeGameFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"},{"internalType":"uint256","name":"minBetAmount","type":"uint256"},{"internalType":"uint256","name":"maxBetAmount","type":"uint256"},{"internalType":"uint256","name":"poolBetsLimit","type":"uint256"}],"name":"createPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"},{"internalType":"uint32","name":"batchSize","type":"uint32"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"valueEther","type":"uint256"}],"name":"etherToWei","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"}],"name":"hasPendingDistributions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"}],"name":"isPoolOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRunning","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"},{"internalType":"bool","name":"upOrDown","type":"bool"},{"internalType":"string","name":"avatarUrl","type":"string"}],"name":"makeBet","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"notRunningReason","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"pools","outputs":[{"internalType":"bool","name":"created","type":"bool"},{"internalType":"int32","name":"startPrice","type":"int32"},{"internalType":"int32","name":"endPrice","type":"int32"},{"internalType":"uint256","name":"minBetAmount","type":"uint256"},{"internalType":"uint256","name":"maxBetAmount","type":"uint256"},{"internalType":"uint256","name":"poolBetsLimit","type":"uint256"},{"components":[{"internalType":"uint256[]","name":"bets","type":"uint256[]"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"distributedCount","type":"uint256"}],"internalType":"struct UpVsDownGameV1.BetGroup","name":"upBetGroup","type":"tuple"},{"components":[{"internalType":"uint256[]","name":"bets","type":"uint256[]"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"distributedCount","type":"uint256"}],"internalType":"struct UpVsDownGameV1.BetGroup","name":"downBetGroup","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"name":"stopGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"poolId","type":"bytes"},{"internalType":"int64","name":"timeMS","type":"int64"},{"internalType":"int32","name":"price","type":"int32"},{"internalType":"uint32","name":"batchSize","type":"uint32"}],"name":"trigger","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526005600360006101000a81548160ff021916908360ff16021790555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006e57600080fd5b5060405162003bef38038062003bef833981810160405281019062000094919062000232565b620000b4620000a8620000fc60201b60201c565b6200010460201b60201c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000264565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001fa82620001cd565b9050919050565b6200020c81620001ed565b81146200021857600080fd5b50565b6000815190506200022c8162000201565b92915050565b6000602082840312156200024b576200024a620001c8565b5b60006200025b848285016200021b565b91505092915050565b61397b80620002746000396000f3fe60806040526004361061012a5760003560e01c80638da5cb5b116100ab578063d65ab5f21161006f578063d65ab5f2146103c4578063d8916bb9146103db578063e470996914610418578063eab79b7d14610441578063f2fde38b1461046a578063f68256a8146104935761012a565b80638da5cb5b146102f3578063a001ecdd1461031e578063a660680214610349578063a9b99af514610372578063d4c770cf1461039b5761012a565b80633fafac92116100f25780633fafac9214610219578063412753581461025d578063595dc897146102885780636518a0a9146102b1578063715018a6146102dc5761012a565b80630c2f915e1461012f5780631d0d625b1461016c5780632014e5d114610195578063216bf46d146101c057806330efabd4146101dc575b600080fd5b34801561013b57600080fd5b506101566004803603810190610151919061239d565b6104be565b6040516101639190612405565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e919061247e565b610528565b005b3480156101a157600080fd5b506101aa6105e8565b6040516101b79190612405565b60405180910390f35b6101da60048036038101906101d5919061252d565b6105fb565b005b3480156101e857600080fd5b5061020360048036038101906101fe919061239d565b610a3d565b6040516102109190612405565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612703565b610a7d565b604051610254989796959493929190612967565b60405180910390f35b34801561026957600080fd5b50610272610d0a565b60405161027f9190612a02565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa919061247e565b610d30565b005b3480156102bd57600080fd5b506102c6610df0565b6040516102d39190612aa5565b60405180910390f35b3480156102e857600080fd5b506102f1610e7e565b005b3480156102ff57600080fd5b50610308610f06565b6040516103159190612a02565b60405180910390f35b34801561032a57600080fd5b50610333610f2f565b6040516103409190612ae3565b60405180910390f35b34801561035557600080fd5b50610370600480360381019061036b9190612b3a565b610f42565b005b34801561037e57600080fd5b5061039960048036038101906103949190612bff565b6114ab565b005b3480156103a757600080fd5b506103c260048036038101906103bd9190612cb3565b6117e2565b005b3480156103d057600080fd5b506103d961187c565b005b3480156103e757600080fd5b5061040260048036038101906103fd9190612d0c565b611967565b60405161040f9190612d39565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a9190612d54565b611984565b005b34801561044d57600080fd5b506104686004803603810190610463919061239d565b611acf565b005b34801561047657600080fd5b50610491600480360381019061048c919061247e565b611bb5565b005b34801561049f57600080fd5b506104a8611cad565b6040516104b59190612a02565b60405180910390f35b600080600284846040516104d3929190612e0c565b908152602001604051809103902060080160000180549050600285856040516104fd929190612e0c565b90815260200160405180910390206004016000018054905061051f9190612e54565b11905092915050565b610530611cd3565b73ffffffffffffffffffffffffffffffffffffffff1661054e610f06565b73ffffffffffffffffffffffffffffffffffffffff16146105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90612f07565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360159054906101000a900460ff1681565b84846106078282610a3d565b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063d90612f99565b60405180910390fd5b600360159054906101000a900460ff16610695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068c90613005565b60405180910390fd5b868660011515600283836040516106ad929190612e0c565b908152602001604051809103902060000160009054906101000a900460ff1615151461070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590613071565b60405180910390fd5b60003411610751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610748906130dd565b60405180910390fd5b60028989604051610763929190612e0c565b9081526020016040518091039020600101543410156107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae9061316f565b60405180910390fd5b600289896040516107c9929190612e0c565b90815260200160405180910390206002015434111561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081490613201565b60405180910390fd5b600087156108f357600160028b8b604051610839929190612e0c565b9081526020016040518091039020600301546108559190613221565b60028b8b604051610867929190612e0c565b90815260200160405180910390206004016000018054905011156108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b7906132c7565b60405180910390fd5b6108ec60028b8b6040516108d5929190612e0c565b908152602001604051809103902060040134611cdb565b90506109bd565b600160028b8b604051610907929190612e0c565b9081526020016040518091039020600301546109239190613221565b60028b8b604051610935929190612e0c565b908152602001604051809103902060080160000180549050111561098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610985906132c7565b60405180910390fd5b6109ba60028b8b6040516109a3929190612e0c565b908152602001604051809103902060080134611cdb565b90505b3373ffffffffffffffffffffffffffffffffffffffff168a8a6040516109e4929190612e0c565b60405180910390207fe24ae7a6c64fb160dde096d72e18ef7fd9dc3bd21d64d48e78f17e9c0b53963b8c8c33348e888f8f604051610a29989796959493929190613341565b60405180910390a350505050505050505050565b60008060028484604051610a52929190612e0c565b908152602001604051809103902060000160019054906101000a900460030b60030b14905092915050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460030b908060000160059054906101000a900460030b908060010154908060020154908060030154908060040160405180608001604052908160008201805480602002602001604051908101604052809291908181526020018280548015610b5057602002820191906000526020600020905b815481526020019060010190808311610b3c575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610bde57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610b94575b5050505050815260200160028201548152602001600382015481525050908060080160405180608001604052908160008201805480602002602001604051908101604052809291908181526020018280548015610c5a57602002820191906000526020600020905b815481526020019060010190808311610c46575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610ce857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610c9e575b5050505050815260200160028201548152602001600382015481525050905088565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d38611cd3565b73ffffffffffffffffffffffffffffffffffffffff16610d56610f06565b73ffffffffffffffffffffffffffffffffffffffff1614610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da390612f07565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60048054610dfd906133e3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e29906133e3565b8015610e765780601f10610e4b57610100808354040283529160200191610e76565b820191906000526020600020905b815481529060010190602001808311610e5957829003601f168201915b505050505081565b610e86611cd3565b73ffffffffffffffffffffffffffffffffffffffff16610ea4610f06565b73ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190612f07565b60405180910390fd5b610f046000611d95565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc990613461565b60405180910390fd5b82826001151560028383604051610fea929190612e0c565b908152602001604051809103902060000160009054906101000a900460ff1615151461104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104290613071565b60405180910390fd5b60006002868660405161105f929190612e0c565b90815260200160405180910390209050600081600801905060008260040190508260000160059054906101000a900460030b60030b8360000160019054906101000a900460030b60030b12156110bc578260040191508260080190505b60008260000180549050141561114c576110d888888389611e59565b7f574b1288b729e30748ca1e22c7ca00adfa3fe42b7f6d1992c253532419482f13888883600001805490508460030154856003015460405161111e959493929190613481565b60405180910390a1806000018054905081600301541415611144576111438888611fe6565b5b5050506114a4565b600060648260020154600360009054906101000a900460ff1660ff1661117291906134cf565b61117c9190613558565b826002015461118b9190613221565b90506000836003015484600001805490506111a69190613221565b905060008863ffffffff1682116111bd57816111c5565b8863ffffffff165b905060008186600301546111d99190612e54565b905060008660030154141561124257611241600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660648760020154600360009054906101000a900460ff1660ff1661123291906134cf565b61123c9190613558565b612102565b5b6000866003015490505b8181101561142a576000606486896002015460648b600001868154811061127657611275613589565b5b906000526020600020015461128b91906134cf565b6112959190613558565b61129f91906134cf565b6112a99190613558565b90506113208860010183815481106112c4576112c3613589565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689600001848154811061130557611304613589565b5b90600052602060002001548361131b9190612e54565b612102565b87600101828154811061133657611335613589565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fd9882a6330d05176f321e5b8309a824850f2acb0705f56b5f7b8638c4ff970d78f8f8b60010186815481106113b0576113af613589565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168c60000187815481106113f1576113f0613589565b5b90600052602060002001548660405161140e9594939291906135b8565b60405180910390a250808061142290613606565b91505061124c565b507f574b1288b729e30748ca1e22c7ca00adfa3fe42b7f6d1992c253532419482f138c8c886000018054905089600301548560405161146d959493929190613481565b60405180910390a180866003018190555085600001805490508660030154141561149c5761149b8c8c611fe6565b5b505050505050505b5050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153290613461565b60405180910390fd5b84846001151560028383604051611553929190612e0c565b908152602001604051809103902060000160009054906101000a900460ff161515146115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab90613071565b60405180910390fd5b6000600288886040516115c8929190612e0c565b908152602001604051809103902090506115e28888610a3d565b156116d957600360159054906101000a900460ff16611636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162d906136c1565b60405180910390fd5b848160000160016101000a81548163ffffffff021916908360030b63ffffffff160217905550878760405161166c929190612e0c565b60405180910390207f977f157300bb4d69d09b3e083fb55a17a0c02f978e5b220c08173c63de9665aa8989898560000160019054906101000a900460030b8660010154876002015488600301546040516116cc97969594939291906136f0565b60405180910390a26117d8565b60008160000160059054906101000a900460030b60030b14156117a557848160000160056101000a81548163ffffffff021916908360030b63ffffffff160217905550878760405161172c929190612e0c565b60405180910390207fe097bf610f5827ffcdd36eb07b790e6ee02dd498f911ab45664208cfad9323b08989898560000160019054906101000a900460030b8660000160059054906101000a900460030b60405161178d95949392919061375a565b60405180910390a26117a0888886610f42565b6117d7565b6040517fd56be5db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5050505050505050565b6117ea611cd3565b73ffffffffffffffffffffffffffffffffffffffff16611808610f06565b73ffffffffffffffffffffffffffffffffffffffff161461185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590612f07565b60405180910390fd5b80600360006101000a81548160ff021916908360ff16021790555050565b611884611cd3565b73ffffffffffffffffffffffffffffffffffffffff166118a2610f06565b73ffffffffffffffffffffffffffffffffffffffff16146118f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ef90612f07565b60405180910390fd5b6001600360156101000a81548160ff02191690831515021790555060405180602001604052806000815250600490805190602001906119389291906121b9565b507f762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e33560405160405180910390a1565b6000670de0b6b3a76400008261197d91906134cf565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0b90613461565b60405180910390fd5b600160028686604051611a28929190612e0c565b908152602001604051809103902060000160006101000a81548160ff0219169083151502179055508260028686604051611a63929190612e0c565b9081526020016040518091039020600101819055508160028686604051611a8b929190612e0c565b9081526020016040518091039020600201819055508060028686604051611ab3929190612e0c565b9081526020016040518091039020600301819055505050505050565b611ad7611cd3565b73ffffffffffffffffffffffffffffffffffffffff16611af5610f06565b73ffffffffffffffffffffffffffffffffffffffff1614611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4290612f07565b60405180910390fd5b6000600360156101000a81548160ff021916908315150217905550818160049190611b7792919061223f565b507fbbed56c796999ec9481de9169e54d6f193c57a335189c8b82053d80e263fdbd68282604051611ba99291906137a8565b60405180910390a15050565b611bbd611cd3565b73ffffffffffffffffffffffffffffffffffffffff16611bdb610f06565b73ffffffffffffffffffffffffffffffffffffffff1614611c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2890612f07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c989061383e565b60405180910390fd5b611caa81611d95565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600101339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081836002016000828254611d819190612e54565b925050819055508260020154905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600082600301548360000180549050611e729190613221565b905060008263ffffffff168211611e895781611e91565b8263ffffffff165b90506000818560030154611ea59190612e54565b90506000856003015490505b81811015611fd357611f23866001018281548110611ed257611ed1613589565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876000018381548110611f1357611f12613589565b5b9060005260206000200154612102565b7f4df34eead703b3742a914254ed35c43135de47992f64495c6020b9ffaead96028888886001018481548110611f5c57611f5b613589565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16896000018581548110611f9d57611f9c613589565b5b9060005260206000200154604051611fb8949392919061385e565b60405180910390a18080611fcb90613606565b915050611eb1565b5080856003018190555050505050505050565b60028282604051611ff8929190612e0c565b90815260200160405180910390206004016000808201600061201a91906122c5565b60018201600061202a91906122e6565b6002820160009055600382016000905550506002828260405161204e929190612e0c565b90815260200160405180910390206008016000808201600061207091906122c5565b60018201600061208091906122e6565b600282016000905560038201600090555050600282826040516120a4929190612e0c565b908152602001604051809103902060000160016101000a81549063ffffffff0219169055600282826040516120da929190612e0c565b908152602001604051809103902060000160056101000a81549063ffffffff02191690555050565b6000808373ffffffffffffffffffffffffffffffffffffffff1660008460405161212b906138c4565b600060405180830381858888f193505050503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121aa90613925565b60405180910390fd5b50505050565b8280546121c5906133e3565b90600052602060002090601f0160209004810192826121e7576000855561222e565b82601f1061220057805160ff191683800117855561222e565b8280016001018555821561222e579182015b8281111561222d578251825591602001919060010190612212565b5b50905061223b9190612307565b5090565b82805461224b906133e3565b90600052602060002090601f01602090048101928261226d57600085556122b4565b82601f1061228657803560ff19168380011785556122b4565b828001600101855582156122b4579182015b828111156122b3578235825591602001919060010190612298565b5b5090506122c19190612307565b5090565b50805460008255906000526020600020908101906122e39190612307565b50565b50805460008255906000526020600020908101906123049190612307565b50565b5b80821115612320576000816000905550600101612308565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261235d5761235c612338565b5b8235905067ffffffffffffffff81111561237a5761237961233d565b5b60208301915083600182028301111561239657612395612342565b5b9250929050565b600080602083850312156123b4576123b361232e565b5b600083013567ffffffffffffffff8111156123d2576123d1612333565b5b6123de85828601612347565b92509250509250929050565b60008115159050919050565b6123ff816123ea565b82525050565b600060208201905061241a60008301846123f6565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244b82612420565b9050919050565b61245b81612440565b811461246657600080fd5b50565b60008135905061247881612452565b92915050565b6000602082840312156124945761249361232e565b5b60006124a284828501612469565b91505092915050565b6124b4816123ea565b81146124bf57600080fd5b50565b6000813590506124d1816124ab565b92915050565b60008083601f8401126124ed576124ec612338565b5b8235905067ffffffffffffffff81111561250a5761250961233d565b5b60208301915083600182028301111561252657612525612342565b5b9250929050565b6000806000806000606086880312156125495761254861232e565b5b600086013567ffffffffffffffff81111561256757612566612333565b5b61257388828901612347565b95509550506020612586888289016124c2565b935050604086013567ffffffffffffffff8111156125a7576125a6612333565b5b6125b3888289016124d7565b92509250509295509295909350565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612610826125c7565b810181811067ffffffffffffffff8211171561262f5761262e6125d8565b5b80604052505050565b6000612642612324565b905061264e8282612607565b919050565b600067ffffffffffffffff82111561266e5761266d6125d8565b5b612677826125c7565b9050602081019050919050565b82818337600083830152505050565b60006126a66126a184612653565b612638565b9050828152602081018484840111156126c2576126c16125c2565b5b6126cd848285612684565b509392505050565b600082601f8301126126ea576126e9612338565b5b81356126fa848260208601612693565b91505092915050565b6000602082840312156127195761271861232e565b5b600082013567ffffffffffffffff81111561273757612736612333565b5b612743848285016126d5565b91505092915050565b60008160030b9050919050565b6127628161274c565b82525050565b6000819050919050565b61277b81612768565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6127b681612768565b82525050565b60006127c883836127ad565b60208301905092915050565b6000602082019050919050565b60006127ec82612781565b6127f6818561278c565b93506128018361279d565b8060005b8381101561283257815161281988826127bc565b9750612824836127d4565b925050600181019050612805565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61287481612440565b82525050565b6000612886838361286b565b60208301905092915050565b6000602082019050919050565b60006128aa8261283f565b6128b4818561284a565b93506128bf8361285b565b8060005b838110156128f05781516128d7888261287a565b97506128e283612892565b9250506001810190506128c3565b5085935050505092915050565b6000608083016000830151848203600086015261291a82826127e1565b91505060208301518482036020860152612934828261289f565b915050604083015161294960408601826127ad565b50606083015161295c60608601826127ad565b508091505092915050565b60006101008201905061297d600083018b6123f6565b61298a602083018a612759565b6129976040830189612759565b6129a46060830188612772565b6129b16080830187612772565b6129be60a0830186612772565b81810360c08301526129d081856128fd565b905081810360e08301526129e481846128fd565b90509998505050505050505050565b6129fc81612440565b82525050565b6000602082019050612a1760008301846129f3565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a57578082015181840152602081019050612a3c565b83811115612a66576000848401525b50505050565b6000612a7782612a1d565b612a818185612a28565b9350612a91818560208601612a39565b612a9a816125c7565b840191505092915050565b60006020820190508181036000830152612abf8184612a6c565b905092915050565b600060ff82169050919050565b612add81612ac7565b82525050565b6000602082019050612af86000830184612ad4565b92915050565b600063ffffffff82169050919050565b612b1781612afe565b8114612b2257600080fd5b50565b600081359050612b3481612b0e565b92915050565b600080600060408486031215612b5357612b5261232e565b5b600084013567ffffffffffffffff811115612b7157612b70612333565b5b612b7d86828701612347565b93509350506020612b9086828701612b25565b9150509250925092565b60008160070b9050919050565b612bb081612b9a565b8114612bbb57600080fd5b50565b600081359050612bcd81612ba7565b92915050565b612bdc8161274c565b8114612be757600080fd5b50565b600081359050612bf981612bd3565b92915050565b600080600080600060808688031215612c1b57612c1a61232e565b5b600086013567ffffffffffffffff811115612c3957612c38612333565b5b612c4588828901612347565b95509550506020612c5888828901612bbe565b9350506040612c6988828901612bea565b9250506060612c7a88828901612b25565b9150509295509295909350565b612c9081612ac7565b8114612c9b57600080fd5b50565b600081359050612cad81612c87565b92915050565b600060208284031215612cc957612cc861232e565b5b6000612cd784828501612c9e565b91505092915050565b612ce981612768565b8114612cf457600080fd5b50565b600081359050612d0681612ce0565b92915050565b600060208284031215612d2257612d2161232e565b5b6000612d3084828501612cf7565b91505092915050565b6000602082019050612d4e6000830184612772565b92915050565b600080600080600060808688031215612d7057612d6f61232e565b5b600086013567ffffffffffffffff811115612d8e57612d8d612333565b5b612d9a88828901612347565b95509550506020612dad88828901612cf7565b9350506040612dbe88828901612cf7565b9250506060612dcf88828901612cf7565b9150509295509295909350565b600081905092915050565b6000612df38385612ddc565b9350612e00838584612684565b82840190509392505050565b6000612e19828486612de7565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5f82612768565b9150612e6a83612768565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e9f57612e9e612e25565b5b828201905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ef1602083612eaa565b9150612efc82612ebb565b602082019050919050565b60006020820190508181036000830152612f2081612ee4565b9050919050565b7f5468697320706f6f6c20686173206120726f756e6420696e2070726f6772657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f83602183612eaa565b9150612f8e82612f27565b604082019050919050565b60006020820190508181036000830152612fb281612f76565b9050919050565b7f5468652067616d65206973206e6f742072756e6e696e67000000000000000000600082015250565b6000612fef601783612eaa565b9150612ffa82612fb9565b602082019050919050565b6000602082019050818103600083015261301e81612fe2565b9050919050565b7f506f6f6c20646f6573206e6f7420657869737400000000000000000000000000600082015250565b600061305b601383612eaa565b915061306682613025565b602082019050919050565b6000602082019050818103600083015261308a8161304e565b9050919050565b7f4e6565647320746f2073656e6420657468657220746f20626574000000000000600082015250565b60006130c7601a83612eaa565b91506130d282613091565b602082019050919050565b600060208201905081810360008301526130f6816130ba565b9050919050565b7f42657420616d6f756e742073686f756c6420626520686967686572207468616e60008201527f20746865206d696e696d756d0000000000000000000000000000000000000000602082015250565b6000613159602c83612eaa565b9150613164826130fd565b604082019050919050565b600060208201905081810360008301526131888161314c565b9050919050565b7f42657420616d6f756e742073686f756c64206265206c6f776572207468616e2060008201527f746865206d6178696d756d000000000000000000000000000000000000000000602082015250565b60006131eb602b83612eaa565b91506131f68261318f565b604082019050919050565b6000602082019050818103600083015261321a816131de565b9050919050565b600061322c82612768565b915061323783612768565b92508282101561324a57613249612e25565b5b828203905092915050565b7f506f6f6c2069732066756c6c2c207761697420666f72206e65787420726f756e60008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006132b1602183612eaa565b91506132bc82613255565b604082019050919050565b600060208201905081810360008301526132e0816132a4565b9050919050565b60006132f38385612a28565b9350613300838584612684565b613309836125c7565b840190509392505050565b60006133208385612eaa565b935061332d838584612684565b613336836125c7565b840190509392505050565b600060c082019050818103600083015261335c818a8c6132e7565b905061336b60208301896129f3565b6133786040830188612772565b61338560608301876123f6565b6133926080830186612772565b81810360a08301526133a5818486613314565b90509998505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133fb57607f821691505b6020821081141561340f5761340e6133b4565b5b50919050565b7f4f6e6c792067616d6520636f6e74726f6c6c65722063616e20646f2074686973600082015250565b600061344b602083612eaa565b915061345682613415565b602082019050919050565b6000602082019050818103600083015261347a8161343e565b9050919050565b6000608082019050818103600083015261349c8187896132e7565b90506134ab6020830186612772565b6134b86040830185612772565b6134c56060830184612772565b9695505050505050565b60006134da82612768565b91506134e583612768565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561351e5761351d612e25565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061356382612768565b915061356e83612768565b92508261357e5761357d613529565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060808201905081810360008301526135d38187896132e7565b90506135e260208301866129f3565b6135ef6040830185612772565b6135fc6060830184612772565b9695505050505050565b600061361182612768565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561364457613643612e25565b5b600182019050919050565b7f5468652067616d65206973206e6f742072756e6e696e672c20726f756e64732060008201527f63616e206f6e6c7920626520656e646564206174207468697320706f696e7400602082015250565b60006136ab603f83612eaa565b91506136b68261364f565b604082019050919050565b600060208201905081810360008301526136da8161369e565b9050919050565b6136ea81612b9a565b82525050565b600060c082019050818103600083015261370b81898b6132e7565b905061371a60208301886136e1565b6137276040830187612759565b6137346060830186612772565b6137416080830185612772565b61374e60a0830184612772565b98975050505050505050565b600060808201905081810360008301526137758187896132e7565b905061378460208301866136e1565b6137916040830185612759565b61379e6060830184612759565b9695505050505050565b600060208201905081810360008301526137c38184866132e7565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613828602683612eaa565b9150613833826137cc565b604082019050919050565b600060208201905081810360008301526138578161381b565b9050919050565b600060608201905081810360008301526138798186886132e7565b905061388860208301856129f3565b6138956040830184612772565b95945050505050565b50565b60006138ae600083612ddc565b91506138b98261389e565b600082019050919050565b60006138cf826138a1565b9150819050919050565b7f436f756c646e27742073656e6420657468657200000000000000000000000000600082015250565b600061390f601383612eaa565b915061391a826138d9565b602082019050919050565b6000602082019050818103600083015261393e81613902565b905091905056fea26469706673582212201916dba2f958976806f958c825f6cf5dcb0cce406b6b177e0e3d8d6bb2c0355964736f6c634300080a0033000000000000000000000000a1ef55efd768551d10134c3aef059ae142034cf3

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a1ef55efd768551d10134c3aef059ae142034cf3

-----Decoded View---------------
Arg [0] : newGameController (address): 0xa1ef55efd768551d10134c3aef059ae142034cf3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a1ef55efd768551d10134c3aef059ae142034cf3


Deployed ByteCode Sourcemap

3223:8583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9846:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5494:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3768:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10430:1045;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10048:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3649:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;3725:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3794:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2515:94;;;;;;;;;;;;;:::i;:::-;;1864:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3690:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7843:1772;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6481:824;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5628:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6025:120;;;;;;;;;;;;;:::i;:::-;;11692:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6151:324;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5868:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2764:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3615:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9846:196;9933:4;10035:1;9993:5;9999:6;;9993:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;:31;;:38;;;;9954:5;9960:6;;9954:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;:29;;:36;;;;:77;;;;:::i;:::-;9953:83;9946:90;;9846:196;;;;:::o;5494:128::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5599:17:::1;5582:14;;:34;;;;;;;;;;;;;;;;;;5494:128:::0;:::o;3768:21::-;;;;;;;;;;;;;:::o;10430:1045::-;10560:6;;5074:18;5085:6;;5074:10;:18::i;:::-;5066:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5193:9:::1;;;;;;;;;;;5185:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;10599:6:::2;;5338:4;5313:29;;:5;5319:6;;5313:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;;;;;;;;;:29;;;5305:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;10634:1:::3;10622:9;:13;10614:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10694:5;10700:6;;10694:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;10681:9;:39;;10673:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;10797:5;10803:6;;10797:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;10784:9;:39;;10776:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;10878:16;10957:8;10953:412;;;11052:1;11024:5;11030:6;;11024:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:27;;;:29;;;;:::i;:::-;10984:5;10990:6;;10984:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;:29;;:36;;;;:69;;10976:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;11110:43;11117:5;11123:6;;11117:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;11143:9;11110:6;:43::i;:::-;11099:54;;10953:412;;;11254:1;11226:5;11232:6;;11226:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:27;;;:29;;;;:::i;:::-;11184:5;11190:6;;11184:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;:31;;:38;;;;:71;;11176:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;11312:45;11319:5;11325:6;;11319:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;11347:9;11312:6;:45::i;:::-;11301:56;;10953:412;11458:10;11378:91;;11439:6;;11378:91;;;;;;;:::i;:::-;;;;;;;;;11388:6;;11396:10;11408:9;11419:8;11429;11447:9;;11378:91;;;;;;;;;;;;;:::i;:::-;;;;;;;;10607:868;5237:1:::2;;10430:1045:::0;;;;;;;:::o;10048:129::-;10122:4;10170:1;10142:5;10148:6;;10142:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;;;;;;;;;;:29;;;10135:36;;10048:129;;;;:::o;3649:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3725:38::-;;;;;;;;;;;;;:::o;5753:109::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5843:13:::1;5830:10;;:26;;;;;;;;;;;;;;;;;;5753:109:::0;:::o;3794:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2515:94::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2580:21:::1;2598:1;2580:9;:21::i;:::-;2515:94::o:0;1864:87::-;1910:7;1937:6;;;;;;;;;;;1930:13;;1864:87;:::o;3690:30::-;;;;;;;;;;;;;:::o;7843:1772::-;4942:14;;;;;;;;;;;4928:28;;:10;:28;;;4920:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7961:6:::1;;5338:4;5313:29;;:5;5319:6;;5313:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;;;;;;;;;:29;;;5305:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7976:19:::2;7998:5;8004:6;;7998:13;;;;;;;:::i;:::-;;;;;;;;;;;;;7976:35;;8020:24;8047:5;:18;;8020:45;;8072:23;8098:5;:16;;8072:42;;8146:5;:14;;;;;;;;;;;;8127:33;;:5;:16;;;;;;;;;;;;:33;;;8123:118;;;8181:5;:16;;8171:26;;8215:5;:18;;8206:27;;8123:118;8276:1;8253:7;:12;;:19;;;;:24;8249:358;;;8340:37;8351:6;;8359;8367:9;8340:10;:37::i;:::-;8391:94;8408:6;;8416;:11;;:18;;;;8436:6;:23;;;8461:6;:23;;;8391:94;;;;;;;;;;:::i;:::-;;;;;;;;8527:6;:11;;:18;;;;8500:6;:23;;;:45;8496:89;;;8558:17;8568:6;;8558:9;:17::i;:::-;8496:89;8593:7;;;;;8249:358;8672:21;8743:3;8728:6;:12;;;8712:13;;;;;;;;;;;:28;;;;;;:::i;:::-;:34;;;;:::i;:::-;8696:6;:12;;;:51;;;;:::i;:::-;8672:75;;8754:15;8794:7;:24;;;8772:7;:12;;:19;;;;:46;;;;:::i;:::-;8754:64;;8825:13;8851:9;8841:19;;:7;:19;:41;;8875:7;8841:41;;;8863:9;8841:41;;;8825:57;;8889:10;8929:5;8902:7;:24;;;:32;;;;:::i;:::-;8889:45;;8975:1;8947:7;:24;;;:29;8943:111;;;8987:59;8997:10;;;;;;;;;;;9041:3;9026:6;:12;;;9010:13;;;;;;;;;;;:28;;;;;;:::i;:::-;:34;;;;:::i;:::-;8987:9;:59::i;:::-;8943:111;9067:6;9076:7;:24;;;9067:33;;9062:328;9106:2;9102:1;:6;9062:328;;;9124:16;9202:3;9186:13;9169:7;:13;;;9163:3;9145:7;:12;;9158:1;9145:15;;;;;;;;:::i;:::-;;;;;;;;;;:21;;;;:::i;:::-;:37;;;;:::i;:::-;9144:55;;;;:::i;:::-;:61;;;;:::i;:::-;9124:82;;9215:59;9225:7;:17;;9243:1;9225:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9258:7;:12;;9271:1;9258:15;;;;;;;;:::i;:::-;;;;;;;;;;9247:8;:26;;;;:::i;:::-;9215:9;:59::i;:::-;9361:7;:17;;9379:1;9361:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9288:94;;;9304:6;;9312:7;:17;;9330:1;9312:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9334:7;:12;;9347:1;9334:15;;;;;;;;:::i;:::-;;;;;;;;;;9351:8;9288:94;;;;;;;;;;:::i;:::-;;;;;;;;9115:275;9110:3;;;;;:::i;:::-;;;;9062:328;;;;9403:75;9420:6;;9428:7;:12;;:19;;;;9449:7;:24;;;9475:2;9403:75;;;;;;;;;;:::i;:::-;;;;;;;;9514:2;9487:7;:24;;:29;;;;9555:7;:12;;:19;;;;9527:7;:24;;;:47;9523:87;;;9585:17;9595:6;;9585:9;:17::i;:::-;9523:87;7969:1646;;;;;;;5373:1;5000::::1;;7843:1772:::0;;;:::o;6481:824::-;4942:14;;;;;;;;;;;4928:28;;:10;:28;;;4920:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6632:6:::1;;5338:4;5313:29;;:5;5319:6;;5313:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;;;;;;;;;:29;;;5305:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;6647:26:::2;6676:5;6682:6;;6676:13;;;;;;;:::i;:::-;;;;;;;;;;;;;6647:42;;6701:18;6712:6;;6701:10;:18::i;:::-;6698:602;;;6738:9;;;;;;;;;;;6730:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6850:5;6824:12;:23;;;:31;;;;;;;;;;;;;;;;;;;;7011:6;;6875:143;;;;;;;:::i;:::-;;;;;;;;;6888:6;;6896;6904:12;:23;;;;;;;;;;;;6929:12;:25;;;6956:12;:25;;;6983:12;:26;;;6875:143;;;;;;;;;;;;:::i;:::-;;;;;;;;6698:602;;;7061:1;7036:12;:21;;;;;;;;;;;;:26;;;7032:268;;;7097:5;7073:12;:21;;;:29;;;;;;;;;;;;;;;;;;;;7193:6;;7118:82;;;;;;;:::i;:::-;;;;;;;;;7129:6;;7137;7145:12;:23;;;;;;;;;;;;7170:12;:21;;;;;;;;;;;;7118:82;;;;;;;;;;:::i;:::-;;;;;;;;7211:29;7222:6;;7230:9;7211:10;:29::i;:::-;7032:268;;;7270:22;;;;;;;;;;;;;;7032:268;6698:602;6640:665;5000:1:::1;;6481:824:::0;;;;;:::o;5628:119::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5725:16:::1;5709:13;;:32;;;;;;;;;;;;;;;;;;5628:119:::0;:::o;6025:120::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6082:4:::1;6070:9;;:16;;;;;;;;;;;;;;;;;;6093:21;;;;;;;;;;;::::0;:16:::1;:21;;;;;;;;;;;;:::i;:::-;;6126:13;;;;;;;;;;6025:120::o:0;11692:111::-;11755:4;11790:6;11778:10;:19;;;;:::i;:::-;11771:26;;11692:111;;;:::o;6151:324::-;4942:14;;;;;;;;;;;4928:28;;:10;:28;;;4920:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6319:4:::1;6295:5;6301:6;;6295:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;:28;;;;;;;;;;;;;;;;;;6359:12;6330:5;6336:6;;6330:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;:41;;;;6407:12;6378:5;6384:6;;6378:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;:41;;;;6456:13;6426:5;6432:6;;6426:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:27;;:43;;;;6151:324:::0;;;;;:::o;5868:151::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5945:5:::1;5933:9;;:17;;;;;;;;;;;;;;;;;;5976:6;;5957:16;:25;;;;;;;:::i;:::-;;5994:19;6006:6;;5994:19;;;;;;;:::i;:::-;;;;;;;;5868:151:::0;;:::o;2764:192::-;2095:12;:10;:12::i;:::-;2084:23;;:7;:5;:7::i;:::-;:23;;;2076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2873:1:::1;2853:22;;:8;:22;;;;2845:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2929:19;2939:8;2929:9;:19::i;:::-;2764:192:::0;:::o;3615:29::-;;;;;;;;;;;;;:::o;656:98::-;709:7;736:10;729:17;;656:98;:::o;10183:241::-;10275:7;10291:8;:13;;10310:6;10291:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10324:8;:18;;10348:10;10324:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10384:6;10366:8;:14;;;:24;;;;;;;:::i;:::-;;;;;;;;10404:8;:14;;;10397:21;;10183:241;;;;:::o;2964:173::-;3020:16;3039:6;;;;;;;;;;;3020:25;;3065:8;3056:6;;:17;;;;;;;;;;;;;;;;;;3120:8;3089:40;;3110:8;3089:40;;;;;;;;;;;;3009:128;2964:173;:::o;7311:526::-;7432:15;7470:5;:22;;;7450:5;:10;;:17;;;;:42;;;;:::i;:::-;7432:60;;7499:13;7525:9;7515:19;;:7;:19;:41;;7549:7;7515:41;;;7537:9;7515:41;;;7499:57;;7563:10;7601:5;7576;:22;;;:30;;;;:::i;:::-;7563:43;;7620:6;7629:5;:22;;;7620:31;;7615:181;7657:2;7653:1;:6;7615:181;;;7676:44;7686:5;:15;;7702:1;7686:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7706:5;:10;;7717:1;7706:13;;;;;;;;:::i;:::-;;;;;;;;;;7676:9;:44::i;:::-;7734:54;7746:6;;7754:5;:15;;7770:1;7754:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7774:5;:10;;7785:1;7774:13;;;;;;;;:::i;:::-;;;;;;;;;;7734:54;;;;;;;;;:::i;:::-;;;;;;;;7661:4;;;;;:::i;:::-;;;;7615:181;;;;7829:2;7804:5;:22;;:27;;;;7425:412;;;7311:526;;;;:::o;9621:219::-;9696:5;9702:6;;9696:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;9689:31;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;9734:5;9740:6;;9734:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;9727:33;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;9774:5;9780:6;;9774:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;9767:31;;;;;;;;;;;9812:5;9818:6;;9812:13;;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;9805:29;;;;;;;;;;;9621:219;;:::o;11481:204::-;11561:9;11572:17;11601:2;11593:16;;11615:1;11625:6;11593:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11560:76;;;;11651:4;11643:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;11553:132;;11481:204;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;716:552;773:8;783:6;833:3;826:4;818:6;814:17;810:27;800:122;;841:79;;:::i;:::-;800:122;954:6;941:20;931:30;;984:18;976:6;973:30;970:117;;;1006:79;;:::i;:::-;970:117;1120:4;1112:6;1108:17;1096:29;;1174:3;1166:4;1158:6;1154:17;1144:8;1140:32;1137:41;1134:128;;;1181:79;;:::i;:::-;1134:128;716:552;;;;;:::o;1274:527::-;1344:6;1352;1401:2;1389:9;1380:7;1376:23;1372:32;1369:119;;;1407:79;;:::i;:::-;1369:119;1555:1;1544:9;1540:17;1527:31;1585:18;1577:6;1574:30;1571:117;;;1607:79;;:::i;:::-;1571:117;1720:64;1776:7;1767:6;1756:9;1752:22;1720:64;:::i;:::-;1702:82;;;;1498:296;1274:527;;;;;:::o;1807:90::-;1841:7;1884:5;1877:13;1870:21;1859:32;;1807:90;;;:::o;1903:109::-;1984:21;1999:5;1984:21;:::i;:::-;1979:3;1972:34;1903:109;;:::o;2018:210::-;2105:4;2143:2;2132:9;2128:18;2120:26;;2156:65;2218:1;2207:9;2203:17;2194:6;2156:65;:::i;:::-;2018:210;;;;:::o;2234:126::-;2271:7;2311:42;2304:5;2300:54;2289:65;;2234:126;;;:::o;2366:96::-;2403:7;2432:24;2450:5;2432:24;:::i;:::-;2421:35;;2366:96;;;:::o;2468:122::-;2541:24;2559:5;2541:24;:::i;:::-;2534:5;2531:35;2521:63;;2580:1;2577;2570:12;2521:63;2468:122;:::o;2596:139::-;2642:5;2680:6;2667:20;2658:29;;2696:33;2723:5;2696:33;:::i;:::-;2596:139;;;;:::o;2741:329::-;2800:6;2849:2;2837:9;2828:7;2824:23;2820:32;2817:119;;;2855:79;;:::i;:::-;2817:119;2975:1;3000:53;3045:7;3036:6;3025:9;3021:22;3000:53;:::i;:::-;2990:63;;2946:117;2741:329;;;;:::o;3076:116::-;3146:21;3161:5;3146:21;:::i;:::-;3139:5;3136:32;3126:60;;3182:1;3179;3172:12;3126:60;3076:116;:::o;3198:133::-;3241:5;3279:6;3266:20;3257:29;;3295:30;3319:5;3295:30;:::i;:::-;3198:133;;;;:::o;3351:553::-;3409:8;3419:6;3469:3;3462:4;3454:6;3450:17;3446:27;3436:122;;3477:79;;:::i;:::-;3436:122;3590:6;3577:20;3567:30;;3620:18;3612:6;3609:30;3606:117;;;3642:79;;:::i;:::-;3606:117;3756:4;3748:6;3744:17;3732:29;;3810:3;3802:4;3794:6;3790:17;3780:8;3776:32;3773:41;3770:128;;;3817:79;;:::i;:::-;3770:128;3351:553;;;;;:::o;3910:1011::-;4007:6;4015;4023;4031;4039;4088:2;4076:9;4067:7;4063:23;4059:32;4056:119;;;4094:79;;:::i;:::-;4056:119;4242:1;4231:9;4227:17;4214:31;4272:18;4264:6;4261:30;4258:117;;;4294:79;;:::i;:::-;4258:117;4407:64;4463:7;4454:6;4443:9;4439:22;4407:64;:::i;:::-;4389:82;;;;4185:296;4520:2;4546:50;4588:7;4579:6;4568:9;4564:22;4546:50;:::i;:::-;4536:60;;4491:115;4673:2;4662:9;4658:18;4645:32;4704:18;4696:6;4693:30;4690:117;;;4726:79;;:::i;:::-;4690:117;4839:65;4896:7;4887:6;4876:9;4872:22;4839:65;:::i;:::-;4821:83;;;;4616:298;3910:1011;;;;;;;;:::o;4927:117::-;5036:1;5033;5026:12;5050:102;5091:6;5142:2;5138:7;5133:2;5126:5;5122:14;5118:28;5108:38;;5050:102;;;:::o;5158:180::-;5206:77;5203:1;5196:88;5303:4;5300:1;5293:15;5327:4;5324:1;5317:15;5344:281;5427:27;5449:4;5427:27;:::i;:::-;5419:6;5415:40;5557:6;5545:10;5542:22;5521:18;5509:10;5506:34;5503:62;5500:88;;;5568:18;;:::i;:::-;5500:88;5608:10;5604:2;5597:22;5387:238;5344:281;;:::o;5631:129::-;5665:6;5692:20;;:::i;:::-;5682:30;;5721:33;5749:4;5741:6;5721:33;:::i;:::-;5631:129;;;:::o;5766:307::-;5827:4;5917:18;5909:6;5906:30;5903:56;;;5939:18;;:::i;:::-;5903:56;5977:29;5999:6;5977:29;:::i;:::-;5969:37;;6061:4;6055;6051:15;6043:23;;5766:307;;;:::o;6079:154::-;6163:6;6158:3;6153;6140:30;6225:1;6216:6;6211:3;6207:16;6200:27;6079:154;;;:::o;6239:410::-;6316:5;6341:65;6357:48;6398:6;6357:48;:::i;:::-;6341:65;:::i;:::-;6332:74;;6429:6;6422:5;6415:21;6467:4;6460:5;6456:16;6505:3;6496:6;6491:3;6487:16;6484:25;6481:112;;;6512:79;;:::i;:::-;6481:112;6602:41;6636:6;6631:3;6626;6602:41;:::i;:::-;6322:327;6239:410;;;;;:::o;6668:338::-;6723:5;6772:3;6765:4;6757:6;6753:17;6749:27;6739:122;;6780:79;;:::i;:::-;6739:122;6897:6;6884:20;6922:78;6996:3;6988:6;6981:4;6973:6;6969:17;6922:78;:::i;:::-;6913:87;;6729:277;6668:338;;;;:::o;7012:507::-;7080:6;7129:2;7117:9;7108:7;7104:23;7100:32;7097:119;;;7135:79;;:::i;:::-;7097:119;7283:1;7272:9;7268:17;7255:31;7313:18;7305:6;7302:30;7299:117;;;7335:79;;:::i;:::-;7299:117;7440:62;7494:7;7485:6;7474:9;7470:22;7440:62;:::i;:::-;7430:72;;7226:286;7012:507;;;;:::o;7525:90::-;7560:7;7603:5;7600:1;7589:20;7578:31;;7525:90;;;:::o;7621:112::-;7704:22;7720:5;7704:22;:::i;:::-;7699:3;7692:35;7621:112;;:::o;7739:77::-;7776:7;7805:5;7794:16;;7739:77;;;:::o;7822:118::-;7909:24;7927:5;7909:24;:::i;:::-;7904:3;7897:37;7822:118;;:::o;7946:114::-;8013:6;8047:5;8041:12;8031:22;;7946:114;;;:::o;8066:174::-;8155:11;8189:6;8184:3;8177:19;8229:4;8224:3;8220:14;8205:29;;8066:174;;;;:::o;8246:132::-;8313:4;8336:3;8328:11;;8366:4;8361:3;8357:14;8349:22;;8246:132;;;:::o;8384:108::-;8461:24;8479:5;8461:24;:::i;:::-;8456:3;8449:37;8384:108;;:::o;8498:179::-;8567:10;8588:46;8630:3;8622:6;8588:46;:::i;:::-;8666:4;8661:3;8657:14;8643:28;;8498:179;;;;:::o;8683:113::-;8753:4;8785;8780:3;8776:14;8768:22;;8683:113;;;:::o;8832:712::-;8941:3;8970:54;9018:5;8970:54;:::i;:::-;9040:76;9109:6;9104:3;9040:76;:::i;:::-;9033:83;;9140:56;9190:5;9140:56;:::i;:::-;9219:7;9250:1;9235:284;9260:6;9257:1;9254:13;9235:284;;;9336:6;9330:13;9363:63;9422:3;9407:13;9363:63;:::i;:::-;9356:70;;9449:60;9502:6;9449:60;:::i;:::-;9439:70;;9295:224;9282:1;9279;9275:9;9270:14;;9235:284;;;9239:14;9535:3;9528:10;;8946:598;;;8832:712;;;;:::o;9550:114::-;9617:6;9651:5;9645:12;9635:22;;9550:114;;;:::o;9670:174::-;9759:11;9793:6;9788:3;9781:19;9833:4;9828:3;9824:14;9809:29;;9670:174;;;;:::o;9850:132::-;9917:4;9940:3;9932:11;;9970:4;9965:3;9961:14;9953:22;;9850:132;;;:::o;9988:108::-;10065:24;10083:5;10065:24;:::i;:::-;10060:3;10053:37;9988:108;;:::o;10102:179::-;10171:10;10192:46;10234:3;10226:6;10192:46;:::i;:::-;10270:4;10265:3;10261:14;10247:28;;10102:179;;;;:::o;10287:113::-;10357:4;10389;10384:3;10380:14;10372:22;;10287:113;;;:::o;10436:712::-;10545:3;10574:54;10622:5;10574:54;:::i;:::-;10644:76;10713:6;10708:3;10644:76;:::i;:::-;10637:83;;10744:56;10794:5;10744:56;:::i;:::-;10823:7;10854:1;10839:284;10864:6;10861:1;10858:13;10839:284;;;10940:6;10934:13;10967:63;11026:3;11011:13;10967:63;:::i;:::-;10960:70;;11053:60;11106:6;11053:60;:::i;:::-;11043:70;;10899:224;10886:1;10883;10879:9;10874:14;;10839:284;;;10843:14;11139:3;11132:10;;10550:598;;;10436:712;;;;:::o;11226:1103::-;11345:3;11381:4;11376:3;11372:14;11468:4;11461:5;11457:16;11451:23;11521:3;11515:4;11511:14;11504:4;11499:3;11495:14;11488:38;11547:103;11645:4;11631:12;11547:103;:::i;:::-;11539:111;;11396:265;11748:4;11741:5;11737:16;11731:23;11801:3;11795:4;11791:14;11784:4;11779:3;11775:14;11768:38;11827:103;11925:4;11911:12;11827:103;:::i;:::-;11819:111;;11671:270;12024:4;12017:5;12013:16;12007:23;12043:63;12100:4;12095:3;12091:14;12077:12;12043:63;:::i;:::-;11951:165;12210:4;12203:5;12199:16;12193:23;12229:63;12286:4;12281:3;12277:14;12263:12;12229:63;:::i;:::-;12126:176;12319:4;12312:11;;11350:979;11226:1103;;;;:::o;12335:1271::-;12710:4;12748:3;12737:9;12733:19;12725:27;;12762:65;12824:1;12813:9;12809:17;12800:6;12762:65;:::i;:::-;12837:68;12901:2;12890:9;12886:18;12877:6;12837:68;:::i;:::-;12915;12979:2;12968:9;12964:18;12955:6;12915:68;:::i;:::-;12993:72;13061:2;13050:9;13046:18;13037:6;12993:72;:::i;:::-;13075:73;13143:3;13132:9;13128:19;13119:6;13075:73;:::i;:::-;13158;13226:3;13215:9;13211:19;13202:6;13158:73;:::i;:::-;13279:9;13273:4;13269:20;13263:3;13252:9;13248:19;13241:49;13307:108;13410:4;13401:6;13307:108;:::i;:::-;13299:116;;13463:9;13457:4;13453:20;13447:3;13436:9;13432:19;13425:49;13491:108;13594:4;13585:6;13491:108;:::i;:::-;13483:116;;12335:1271;;;;;;;;;;;:::o;13612:118::-;13699:24;13717:5;13699:24;:::i;:::-;13694:3;13687:37;13612:118;;:::o;13736:222::-;13829:4;13867:2;13856:9;13852:18;13844:26;;13880:71;13948:1;13937:9;13933:17;13924:6;13880:71;:::i;:::-;13736:222;;;;:::o;13964:98::-;14015:6;14049:5;14043:12;14033:22;;13964:98;;;:::o;14068:168::-;14151:11;14185:6;14180:3;14173:19;14225:4;14220:3;14216:14;14201:29;;14068:168;;;;:::o;14242:307::-;14310:1;14320:113;14334:6;14331:1;14328:13;14320:113;;;14419:1;14414:3;14410:11;14404:18;14400:1;14395:3;14391:11;14384:39;14356:2;14353:1;14349:10;14344:15;;14320:113;;;14451:6;14448:1;14445:13;14442:101;;;14531:1;14522:6;14517:3;14513:16;14506:27;14442:101;14291:258;14242:307;;;:::o;14555:360::-;14641:3;14669:38;14701:5;14669:38;:::i;:::-;14723:70;14786:6;14781:3;14723:70;:::i;:::-;14716:77;;14802:52;14847:6;14842:3;14835:4;14828:5;14824:16;14802:52;:::i;:::-;14879:29;14901:6;14879:29;:::i;:::-;14874:3;14870:39;14863:46;;14645:270;14555:360;;;;:::o;14921:309::-;15032:4;15070:2;15059:9;15055:18;15047:26;;15119:9;15113:4;15109:20;15105:1;15094:9;15090:17;15083:47;15147:76;15218:4;15209:6;15147:76;:::i;:::-;15139:84;;14921:309;;;;:::o;15236:86::-;15271:7;15311:4;15304:5;15300:16;15289:27;;15236:86;;;:::o;15328:112::-;15411:22;15427:5;15411:22;:::i;:::-;15406:3;15399:35;15328:112;;:::o;15446:214::-;15535:4;15573:2;15562:9;15558:18;15550:26;;15586:67;15650:1;15639:9;15635:17;15626:6;15586:67;:::i;:::-;15446:214;;;;:::o;15666:93::-;15702:7;15742:10;15735:5;15731:22;15720:33;;15666:93;;;:::o;15765:120::-;15837:23;15854:5;15837:23;:::i;:::-;15830:5;15827:34;15817:62;;15875:1;15872;15865:12;15817:62;15765:120;:::o;15891:137::-;15936:5;15974:6;15961:20;15952:29;;15990:32;16016:5;15990:32;:::i;:::-;15891:137;;;;:::o;16034:670::-;16112:6;16120;16128;16177:2;16165:9;16156:7;16152:23;16148:32;16145:119;;;16183:79;;:::i;:::-;16145:119;16331:1;16320:9;16316:17;16303:31;16361:18;16353:6;16350:30;16347:117;;;16383:79;;:::i;:::-;16347:117;16496:64;16552:7;16543:6;16532:9;16528:22;16496:64;:::i;:::-;16478:82;;;;16274:296;16609:2;16635:52;16679:7;16670:6;16659:9;16655:22;16635:52;:::i;:::-;16625:62;;16580:117;16034:670;;;;;:::o;16710:90::-;16745:7;16788:5;16785:1;16774:20;16763:31;;16710:90;;;:::o;16806:118::-;16877:22;16893:5;16877:22;:::i;:::-;16870:5;16867:33;16857:61;;16914:1;16911;16904:12;16857:61;16806:118;:::o;16930:135::-;16974:5;17012:6;16999:20;16990:29;;17028:31;17053:5;17028:31;:::i;:::-;16930:135;;;;:::o;17071:118::-;17142:22;17158:5;17142:22;:::i;:::-;17135:5;17132:33;17122:61;;17179:1;17176;17169:12;17122:61;17071:118;:::o;17195:135::-;17239:5;17277:6;17264:20;17255:29;;17293:31;17318:5;17293:31;:::i;:::-;17195:135;;;;:::o;17336:953::-;17428:6;17436;17444;17452;17460;17509:3;17497:9;17488:7;17484:23;17480:33;17477:120;;;17516:79;;:::i;:::-;17477:120;17664:1;17653:9;17649:17;17636:31;17694:18;17686:6;17683:30;17680:117;;;17716:79;;:::i;:::-;17680:117;17829:64;17885:7;17876:6;17865:9;17861:22;17829:64;:::i;:::-;17811:82;;;;17607:296;17942:2;17968:51;18011:7;18002:6;17991:9;17987:22;17968:51;:::i;:::-;17958:61;;17913:116;18068:2;18094:51;18137:7;18128:6;18117:9;18113:22;18094:51;:::i;:::-;18084:61;;18039:116;18194:2;18220:52;18264:7;18255:6;18244:9;18240:22;18220:52;:::i;:::-;18210:62;;18165:117;17336:953;;;;;;;;:::o;18295:118::-;18366:22;18382:5;18366:22;:::i;:::-;18359:5;18356:33;18346:61;;18403:1;18400;18393:12;18346:61;18295:118;:::o;18419:135::-;18463:5;18501:6;18488:20;18479:29;;18517:31;18542:5;18517:31;:::i;:::-;18419:135;;;;:::o;18560:325::-;18617:6;18666:2;18654:9;18645:7;18641:23;18637:32;18634:119;;;18672:79;;:::i;:::-;18634:119;18792:1;18817:51;18860:7;18851:6;18840:9;18836:22;18817:51;:::i;:::-;18807:61;;18763:115;18560:325;;;;:::o;18891:122::-;18964:24;18982:5;18964:24;:::i;:::-;18957:5;18954:35;18944:63;;19003:1;19000;18993:12;18944:63;18891:122;:::o;19019:139::-;19065:5;19103:6;19090:20;19081:29;;19119:33;19146:5;19119:33;:::i;:::-;19019:139;;;;:::o;19164:329::-;19223:6;19272:2;19260:9;19251:7;19247:23;19243:32;19240:119;;;19278:79;;:::i;:::-;19240:119;19398:1;19423:53;19468:7;19459:6;19448:9;19444:22;19423:53;:::i;:::-;19413:63;;19369:117;19164:329;;;;:::o;19499:222::-;19592:4;19630:2;19619:9;19615:18;19607:26;;19643:71;19711:1;19700:9;19696:17;19687:6;19643:71;:::i;:::-;19499:222;;;;:::o;19727:963::-;19824:6;19832;19840;19848;19856;19905:3;19893:9;19884:7;19880:23;19876:33;19873:120;;;19912:79;;:::i;:::-;19873:120;20060:1;20049:9;20045:17;20032:31;20090:18;20082:6;20079:30;20076:117;;;20112:79;;:::i;:::-;20076:117;20225:64;20281:7;20272:6;20261:9;20257:22;20225:64;:::i;:::-;20207:82;;;;20003:296;20338:2;20364:53;20409:7;20400:6;20389:9;20385:22;20364:53;:::i;:::-;20354:63;;20309:118;20466:2;20492:53;20537:7;20528:6;20517:9;20513:22;20492:53;:::i;:::-;20482:63;;20437:118;20594:2;20620:53;20665:7;20656:6;20645:9;20641:22;20620:53;:::i;:::-;20610:63;;20565:118;19727:963;;;;;;;;:::o;20696:147::-;20797:11;20834:3;20819:18;;20696:147;;;;:::o;20871:314::-;20985:3;21006:88;21087:6;21082:3;21006:88;:::i;:::-;20999:95;;21104:43;21140:6;21135:3;21128:5;21104:43;:::i;:::-;21172:6;21167:3;21163:16;21156:23;;20871:314;;;;;:::o;21191:291::-;21331:3;21353:103;21452:3;21443:6;21435;21353:103;:::i;:::-;21346:110;;21473:3;21466:10;;21191:291;;;;;:::o;21488:180::-;21536:77;21533:1;21526:88;21633:4;21630:1;21623:15;21657:4;21654:1;21647:15;21674:305;21714:3;21733:20;21751:1;21733:20;:::i;:::-;21728:25;;21767:20;21785:1;21767:20;:::i;:::-;21762:25;;21921:1;21853:66;21849:74;21846:1;21843:81;21840:107;;;21927:18;;:::i;:::-;21840:107;21971:1;21968;21964:9;21957:16;;21674:305;;;;:::o;21985:169::-;22069:11;22103:6;22098:3;22091:19;22143:4;22138:3;22134:14;22119:29;;21985:169;;;;:::o;22160:182::-;22300:34;22296:1;22288:6;22284:14;22277:58;22160:182;:::o;22348:366::-;22490:3;22511:67;22575:2;22570:3;22511:67;:::i;:::-;22504:74;;22587:93;22676:3;22587:93;:::i;:::-;22705:2;22700:3;22696:12;22689:19;;22348:366;;;:::o;22720:419::-;22886:4;22924:2;22913:9;22909:18;22901:26;;22973:9;22967:4;22963:20;22959:1;22948:9;22944:17;22937:47;23001:131;23127:4;23001:131;:::i;:::-;22993:139;;22720:419;;;:::o;23145:220::-;23285:34;23281:1;23273:6;23269:14;23262:58;23354:3;23349:2;23341:6;23337:15;23330:28;23145:220;:::o;23371:366::-;23513:3;23534:67;23598:2;23593:3;23534:67;:::i;:::-;23527:74;;23610:93;23699:3;23610:93;:::i;:::-;23728:2;23723:3;23719:12;23712:19;;23371:366;;;:::o;23743:419::-;23909:4;23947:2;23936:9;23932:18;23924:26;;23996:9;23990:4;23986:20;23982:1;23971:9;23967:17;23960:47;24024:131;24150:4;24024:131;:::i;:::-;24016:139;;23743:419;;;:::o;24168:173::-;24308:25;24304:1;24296:6;24292:14;24285:49;24168:173;:::o;24347:366::-;24489:3;24510:67;24574:2;24569:3;24510:67;:::i;:::-;24503:74;;24586:93;24675:3;24586:93;:::i;:::-;24704:2;24699:3;24695:12;24688:19;;24347:366;;;:::o;24719:419::-;24885:4;24923:2;24912:9;24908:18;24900:26;;24972:9;24966:4;24962:20;24958:1;24947:9;24943:17;24936:47;25000:131;25126:4;25000:131;:::i;:::-;24992:139;;24719:419;;;:::o;25144:169::-;25284:21;25280:1;25272:6;25268:14;25261:45;25144:169;:::o;25319:366::-;25461:3;25482:67;25546:2;25541:3;25482:67;:::i;:::-;25475:74;;25558:93;25647:3;25558:93;:::i;:::-;25676:2;25671:3;25667:12;25660:19;;25319:366;;;:::o;25691:419::-;25857:4;25895:2;25884:9;25880:18;25872:26;;25944:9;25938:4;25934:20;25930:1;25919:9;25915:17;25908:47;25972:131;26098:4;25972:131;:::i;:::-;25964:139;;25691:419;;;:::o;26116:176::-;26256:28;26252:1;26244:6;26240:14;26233:52;26116:176;:::o;26298:366::-;26440:3;26461:67;26525:2;26520:3;26461:67;:::i;:::-;26454:74;;26537:93;26626:3;26537:93;:::i;:::-;26655:2;26650:3;26646:12;26639:19;;26298:366;;;:::o;26670:419::-;26836:4;26874:2;26863:9;26859:18;26851:26;;26923:9;26917:4;26913:20;26909:1;26898:9;26894:17;26887:47;26951:131;27077:4;26951:131;:::i;:::-;26943:139;;26670:419;;;:::o;27095:231::-;27235:34;27231:1;27223:6;27219:14;27212:58;27304:14;27299:2;27291:6;27287:15;27280:39;27095:231;:::o;27332:366::-;27474:3;27495:67;27559:2;27554:3;27495:67;:::i;:::-;27488:74;;27571:93;27660:3;27571:93;:::i;:::-;27689:2;27684:3;27680:12;27673:19;;27332:366;;;:::o;27704:419::-;27870:4;27908:2;27897:9;27893:18;27885:26;;27957:9;27951:4;27947:20;27943:1;27932:9;27928:17;27921:47;27985:131;28111:4;27985:131;:::i;:::-;27977:139;;27704:419;;;:::o;28129:230::-;28269:34;28265:1;28257:6;28253:14;28246:58;28338:13;28333:2;28325:6;28321:15;28314:38;28129:230;:::o;28365:366::-;28507:3;28528:67;28592:2;28587:3;28528:67;:::i;:::-;28521:74;;28604:93;28693:3;28604:93;:::i;:::-;28722:2;28717:3;28713:12;28706:19;;28365:366;;;:::o;28737:419::-;28903:4;28941:2;28930:9;28926:18;28918:26;;28990:9;28984:4;28980:20;28976:1;28965:9;28961:17;28954:47;29018:131;29144:4;29018:131;:::i;:::-;29010:139;;28737:419;;;:::o;29162:191::-;29202:4;29222:20;29240:1;29222:20;:::i;:::-;29217:25;;29256:20;29274:1;29256:20;:::i;:::-;29251:25;;29295:1;29292;29289:8;29286:34;;;29300:18;;:::i;:::-;29286:34;29345:1;29342;29338:9;29330:17;;29162:191;;;;:::o;29359:220::-;29499:34;29495:1;29487:6;29483:14;29476:58;29568:3;29563:2;29555:6;29551:15;29544:28;29359:220;:::o;29585:366::-;29727:3;29748:67;29812:2;29807:3;29748:67;:::i;:::-;29741:74;;29824:93;29913:3;29824:93;:::i;:::-;29942:2;29937:3;29933:12;29926:19;;29585:366;;;:::o;29957:419::-;30123:4;30161:2;30150:9;30146:18;30138:26;;30210:9;30204:4;30200:20;30196:1;30185:9;30181:17;30174:47;30238:131;30364:4;30238:131;:::i;:::-;30230:139;;29957:419;;;:::o;30404:301::-;30500:3;30521:70;30584:6;30579:3;30521:70;:::i;:::-;30514:77;;30601:43;30637:6;30632:3;30625:5;30601:43;:::i;:::-;30669:29;30691:6;30669:29;:::i;:::-;30664:3;30660:39;30653:46;;30404:301;;;;;:::o;30735:304::-;30833:3;30854:71;30918:6;30913:3;30854:71;:::i;:::-;30847:78;;30935:43;30971:6;30966:3;30959:5;30935:43;:::i;:::-;31003:29;31025:6;31003:29;:::i;:::-;30998:3;30994:39;30987:46;;30735:304;;;;;:::o;31045:981::-;31330:4;31368:3;31357:9;31353:19;31345:27;;31418:9;31412:4;31408:20;31404:1;31393:9;31389:17;31382:47;31446:86;31527:4;31518:6;31510;31446:86;:::i;:::-;31438:94;;31542:72;31610:2;31599:9;31595:18;31586:6;31542:72;:::i;:::-;31624;31692:2;31681:9;31677:18;31668:6;31624:72;:::i;:::-;31706:66;31768:2;31757:9;31753:18;31744:6;31706:66;:::i;:::-;31782:73;31850:3;31839:9;31835:19;31826:6;31782:73;:::i;:::-;31903:9;31897:4;31893:20;31887:3;31876:9;31872:19;31865:49;31931:88;32014:4;32005:6;31997;31931:88;:::i;:::-;31923:96;;31045:981;;;;;;;;;;;:::o;32032:180::-;32080:77;32077:1;32070:88;32177:4;32174:1;32167:15;32201:4;32198:1;32191:15;32218:320;32262:6;32299:1;32293:4;32289:12;32279:22;;32346:1;32340:4;32336:12;32367:18;32357:81;;32423:4;32415:6;32411:17;32401:27;;32357:81;32485:2;32477:6;32474:14;32454:18;32451:38;32448:84;;;32504:18;;:::i;:::-;32448:84;32269:269;32218:320;;;:::o;32544:182::-;32684:34;32680:1;32672:6;32668:14;32661:58;32544:182;:::o;32732:366::-;32874:3;32895:67;32959:2;32954:3;32895:67;:::i;:::-;32888:74;;32971:93;33060:3;32971:93;:::i;:::-;33089:2;33084:3;33080:12;33073:19;;32732:366;;;:::o;33104:419::-;33270:4;33308:2;33297:9;33293:18;33285:26;;33357:9;33351:4;33347:20;33343:1;33332:9;33328:17;33321:47;33385:131;33511:4;33385:131;:::i;:::-;33377:139;;33104:419;;;:::o;33529:660::-;33734:4;33772:3;33761:9;33757:19;33749:27;;33822:9;33816:4;33812:20;33808:1;33797:9;33793:17;33786:47;33850:86;33931:4;33922:6;33914;33850:86;:::i;:::-;33842:94;;33946:72;34014:2;34003:9;33999:18;33990:6;33946:72;:::i;:::-;34028;34096:2;34085:9;34081:18;34072:6;34028:72;:::i;:::-;34110;34178:2;34167:9;34163:18;34154:6;34110:72;:::i;:::-;33529:660;;;;;;;;:::o;34195:348::-;34235:7;34258:20;34276:1;34258:20;:::i;:::-;34253:25;;34292:20;34310:1;34292:20;:::i;:::-;34287:25;;34480:1;34412:66;34408:74;34405:1;34402:81;34397:1;34390:9;34383:17;34379:105;34376:131;;;34487:18;;:::i;:::-;34376:131;34535:1;34532;34528:9;34517:20;;34195:348;;;;:::o;34549:180::-;34597:77;34594:1;34587:88;34694:4;34691:1;34684:15;34718:4;34715:1;34708:15;34735:185;34775:1;34792:20;34810:1;34792:20;:::i;:::-;34787:25;;34826:20;34844:1;34826:20;:::i;:::-;34821:25;;34865:1;34855:35;;34870:18;;:::i;:::-;34855:35;34912:1;34909;34905:9;34900:14;;34735:185;;;;:::o;34926:180::-;34974:77;34971:1;34964:88;35071:4;35068:1;35061:15;35095:4;35092:1;35085:15;35112:660;35317:4;35355:3;35344:9;35340:19;35332:27;;35405:9;35399:4;35395:20;35391:1;35380:9;35376:17;35369:47;35433:86;35514:4;35505:6;35497;35433:86;:::i;:::-;35425:94;;35529:72;35597:2;35586:9;35582:18;35573:6;35529:72;:::i;:::-;35611;35679:2;35668:9;35664:18;35655:6;35611:72;:::i;:::-;35693;35761:2;35750:9;35746:18;35737:6;35693:72;:::i;:::-;35112:660;;;;;;;;:::o;35778:233::-;35817:3;35840:24;35858:5;35840:24;:::i;:::-;35831:33;;35886:66;35879:5;35876:77;35873:103;;;35956:18;;:::i;:::-;35873:103;36003:1;35996:5;35992:13;35985:20;;35778:233;;;:::o;36017:250::-;36157:34;36153:1;36145:6;36141:14;36134:58;36226:33;36221:2;36213:6;36209:15;36202:58;36017:250;:::o;36273:366::-;36415:3;36436:67;36500:2;36495:3;36436:67;:::i;:::-;36429:74;;36512:93;36601:3;36512:93;:::i;:::-;36630:2;36625:3;36621:12;36614:19;;36273:366;;;:::o;36645:419::-;36811:4;36849:2;36838:9;36834:18;36826:26;;36898:9;36892:4;36888:20;36884:1;36873:9;36869:17;36862:47;36926:131;37052:4;36926:131;:::i;:::-;36918:139;;36645:419;;;:::o;37070:112::-;37153:22;37169:5;37153:22;:::i;:::-;37148:3;37141:35;37070:112;;:::o;37188:866::-;37441:4;37479:3;37468:9;37464:19;37456:27;;37529:9;37523:4;37519:20;37515:1;37504:9;37500:17;37493:47;37557:86;37638:4;37629:6;37621;37557:86;:::i;:::-;37549:94;;37653:68;37717:2;37706:9;37702:18;37693:6;37653:68;:::i;:::-;37731;37795:2;37784:9;37780:18;37771:6;37731:68;:::i;:::-;37809:72;37877:2;37866:9;37862:18;37853:6;37809:72;:::i;:::-;37891:73;37959:3;37948:9;37944:19;37935:6;37891:73;:::i;:::-;37974;38042:3;38031:9;38027:19;38018:6;37974:73;:::i;:::-;37188:866;;;;;;;;;;:::o;38060:636::-;38253:4;38291:3;38280:9;38276:19;38268:27;;38341:9;38335:4;38331:20;38327:1;38316:9;38312:17;38305:47;38369:86;38450:4;38441:6;38433;38369:86;:::i;:::-;38361:94;;38465:68;38529:2;38518:9;38514:18;38505:6;38465:68;:::i;:::-;38543;38607:2;38596:9;38592:18;38583:6;38543:68;:::i;:::-;38621;38685:2;38674:9;38670:18;38661:6;38621:68;:::i;:::-;38060:636;;;;;;;;:::o;38702:329::-;38823:4;38861:2;38850:9;38846:18;38838:26;;38910:9;38904:4;38900:20;38896:1;38885:9;38881:17;38874:47;38938:86;39019:4;39010:6;39002;38938:86;:::i;:::-;38930:94;;38702:329;;;;;:::o;39037:225::-;39177:34;39173:1;39165:6;39161:14;39154:58;39246:8;39241:2;39233:6;39229:15;39222:33;39037:225;:::o;39268:366::-;39410:3;39431:67;39495:2;39490:3;39431:67;:::i;:::-;39424:74;;39507:93;39596:3;39507:93;:::i;:::-;39625:2;39620:3;39616:12;39609:19;;39268:366;;;:::o;39640:419::-;39806:4;39844:2;39833:9;39829:18;39821:26;;39893:9;39887:4;39883:20;39879:1;39868:9;39864:17;39857:47;39921:131;40047:4;39921:131;:::i;:::-;39913:139;;39640:419;;;:::o;40065:549::-;40242:4;40280:2;40269:9;40265:18;40257:26;;40329:9;40323:4;40319:20;40315:1;40304:9;40300:17;40293:47;40357:86;40438:4;40429:6;40421;40357:86;:::i;:::-;40349:94;;40453:72;40521:2;40510:9;40506:18;40497:6;40453:72;:::i;:::-;40535;40603:2;40592:9;40588:18;40579:6;40535:72;:::i;:::-;40065:549;;;;;;;:::o;40620:114::-;;:::o;40740:398::-;40899:3;40920:83;41001:1;40996:3;40920:83;:::i;:::-;40913:90;;41012:93;41101:3;41012:93;:::i;:::-;41130:1;41125:3;41121:11;41114:18;;40740:398;;;:::o;41144:379::-;41328:3;41350:147;41493:3;41350:147;:::i;:::-;41343:154;;41514:3;41507:10;;41144:379;;;:::o;41529:169::-;41669:21;41665:1;41657:6;41653:14;41646:45;41529:169;:::o;41704:366::-;41846:3;41867:67;41931:2;41926:3;41867:67;:::i;:::-;41860:74;;41943:93;42032:3;41943:93;:::i;:::-;42061:2;42056:3;42052:12;42045:19;;41704:366;;;:::o;42076:419::-;42242:4;42280:2;42269:9;42265:18;42257:26;;42329:9;42323:4;42319:20;42315:1;42304:9;42300:17;42293:47;42357:131;42483:4;42357:131;:::i;:::-;42349:139;;42076:419;;;:::o

Swarm Source

ipfs://1916dba2f958976806f958c825f6cf5dcb0cce406b6b177e0e3d8d6bb2c03559
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading