From fa329a317bb5bcd8e03f206c0241592bc7d3a6e4 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Mon, 8 Feb 2016 16:38:22 +0100 Subject: [PATCH] Add Login and Transfer views --- www/index.html | 6 + www/js/app.js | 47 +- www/js/home-controller.js | 392 +- www/js/services.js | 697 +- www/js/vendor/base58.js | 94 + www/js/vendor/base64.js | 45 + www/js/vendor/nacl_factory.js | 26504 +++++++++++++++++++++ www/js/vendor/scrypt-em.js | 10306 ++++++++ www/templates/account/view_transfer.html | 52 + www/templates/account/view_wallet.html | 58 + www/templates/home.html | 23 +- www/templates/login.html | 41 +- www/templates/menu.html | 29 +- www/templates/wot/lookup.html | 4 +- www/templates/wot/modal_lookup.html | 26 + www/templates/wot/view_identity.html | 48 + 16 files changed, 38250 insertions(+), 122 deletions(-) create mode 100644 www/js/vendor/base58.js create mode 100644 www/js/vendor/base64.js create mode 100644 www/js/vendor/nacl_factory.js create mode 100644 www/js/vendor/scrypt-em.js create mode 100644 www/templates/account/view_transfer.html create mode 100644 www/templates/account/view_wallet.html create mode 100644 www/templates/wot/modal_lookup.html create mode 100644 www/templates/wot/view_identity.html diff --git a/www/index.html b/www/index.html index 14495a778..32d7cbdc6 100644 --- a/www/index.html +++ b/www/index.html @@ -20,6 +20,12 @@ <script src="js/vendor/socket-io.js"></script> <script src="js/vendor/underscore.js"></script> + <!-- crypto libs --> + <script src="js/vendor/scrypt-em.js" ></script> + <script src="js/vendor/nacl_factory.js" ></script> + <script src="js/vendor/base58.js" ></script> + <script src="js/vendor/base64.js" ></script> + <!-- cordova script (this will be a 404 during development) --> <script src="cordova.js"></script> diff --git a/www/js/app.js b/www/js/app.js index 69ed9fa30..856f0649a 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -12,6 +12,13 @@ angular.module('cesium', ['ionic', 'cesium.controllers']) } }) + .filter('formatDecimal', function() { + return function(input) { + if (Math.abs(input) < 0.0001) return '~ 0'; + return Math.floor(input * 10000) / 10000; + } + }) + .filter('formatDate', function() { return function(input) { return input ? moment(parseInt(input)*1000).format('YYYY-MM-DD HH:mm') : ''; @@ -31,6 +38,12 @@ angular.module('cesium', ['ionic', 'cesium.controllers']) } }) + .filter('formatPubkey', function() { + return function(input) { + return input ? input.substr(0,8) : ''; + } + }) + .run(function($ionicPlatform) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard @@ -93,7 +106,39 @@ angular.module('cesium', ['ionic', 'cesium.controllers']) controller: 'PeerCtrl' } } + }) + + .state('app.view_identity', { + url: "/wot/:pub", + views: { + 'menuContent': { + templateUrl: "templates/wot/view_identity.html", + controller: 'IdentityCtrl' + } + } + }) + + .state('app.view_wallet', { + url: "/wallet", + views: { + 'menuContent': { + templateUrl: "templates/account/view_wallet.html", + controller: 'WalletCtrl' + } + } + }) + + .state('app.view_transfer', { + url: "/transfer/:pubkey/:uid", + views: { + 'menuContent': { + templateUrl: "templates/account/view_transfer.html", + controller: 'TransferCtrl' + } + } }); + // if none of the above states are matched, use this as the fallback $urlRouterProvider.otherwise('/app/home'); -}); +}) +; diff --git a/www/js/home-controller.js b/www/js/home-controller.js index 4df170c29..187c993ac 100644 --- a/www/js/home-controller.js +++ b/www/js/home-controller.js @@ -1,8 +1,9 @@ + angular.module('cesium.controllers', ['cesium.services']) .config(function($httpProvider) { //Enable cross domain calls - $httpProvider.defaults.useXDomain = true; + $httpProvider.defaults.useXDomain = true; //Remove the header used to identify ajax call that would prevent CORS from working delete $httpProvider.defaults.headers.common['X-Requested-With']; @@ -14,49 +15,156 @@ angular.module('cesium.controllers', ['cesium.services']) .controller('ExploreCtrl', ExploreController) + .controller('IdentityCtrl', IdentityController) + .controller('PeerCtrl', PeerController) - .controller('AppCtrl', function($scope, $ionicModal, $timeout) { + .controller('WalletCtrl', WalletController) + + .controller('TransferCtrl', TransferController) + +; + +function LoginController($scope, $ionicModal, Wallet, CryptoUtils, UIUtils, $q, $state, $timeout, $ionicSideMenuDelegate) { + // Form data for the login modal + $scope.loginData = { + username: null, + password: null + }; + + // Login modal + $scope.loginModal = "undefined"; - // With the new view caching in Ionic, Controllers are only called - // when they are recreated or on app start, instead of every page change. - // To listen for when this page is active (for example, to refresh data), - // listen for the $ionicView.enter event: - //$scope.$on('$ionicView.enter', function(e) { - //}); + // Create the login modal that we will use later + $ionicModal.fromTemplateUrl('templates/login.html', { + scope: $scope, + focusFirstInput: true + }).then(function(modal) { + $scope.loginModal = modal; + $scope.loginModal.hide(); + }); + + // Open login modal + $scope.login = function(callback) { + if ($scope.loginModal != "undefined" && $scope.loginModal != null) { + $scope.loginModal.show(); + $scope.loginData.callback = callback; + } + else{ + $timeout($scope.login, 2000); + } + }; + + // Login and load wallet + $scope.loadWallet = function() { + return $q(function(resolve, reject){ + if (!Wallet.isLogin()) { + $scope.login(function() { + Wallet.loadData() + .then(function(walletData){ + resolve(walletData); + }) + .catch(function(err) { + console.error('>>>>>>>' , err); + UIUtils.alert.error('Your braower is not compatible with cryptographic features.'); + UIUtils.loading.hide(); + reject(err); + }); + }); + } + else if (!Wallet.data.loaded) { + Wallet.loadData() + .then(function(walletData){ + resolve(walletData); + }) + .catch(function(err) { + console.error('>>>>>>>' , err); + UIUtils.alert.error('Could not fetch wallet informations from remote uCoin node.'); + UIUtils.loading.hide(); + reject(err); + }); + } + else { + resolve(Wallet.data); + } + }); + }; - // Form data for the login modal - $scope.loginData = {}; + // Triggered in the login modal to close it + $scope.closeLogin = function() { + return $scope.loginModal.hide(); + }; - // Create the login modal that we will use later - $ionicModal.fromTemplateUrl('templates/login.html', { - scope: $scope - }).then(function(modal) { - $scope.modal = modal; + // Login form submit + $scope.doLogin = function() { + $scope.closeLogin(); + UIUtils.loading.show(); + + // Call wallet login + Wallet.login($scope.loginData.username, $scope.loginData.password) + .catch(function(err) { + $scope.loginData = {}; // Reset login data + UIUtils.loading.hide(); + console.error('>>>>>>>' , err); + UIUtils.alert.error('Your browser is not compatible with cryptographic libraries.'); + }) + .then(function(){ + UIUtils.loading.hide(); + var callback = $scope.loginData.callback; + $scope.loginData = {}; // Reset login data + if (callback != "undefined" && callback != null) { + callback(); + } + // Default: redirect to wallet view + else { + $state.go('app.view_wallet'); + } }); + }; - // Triggered in the login modal to close it - $scope.closeLogin = function() { - $scope.modal.hide(); - }; - - // Open the login modal - $scope.login = function() { - $scope.modal.show(); - }; - - // Perform the login action when the user submits the login form - $scope.doLogin = function() { - console.log('Doing login', $scope.loginData); - - // Simulate a login delay. Remove this and replace with your login - // code if using a login system - $timeout(function() { - $scope.closeLogin(); - }, 1000); - }; - }) -; + $scope.loginDataChanged = function() { + $scope.loginData.computing=false; + $scope.loginData.pubkey=null; + }; + + $scope.showLoginPubkey = function() { + $scope.loginData.computing=true; + CryptoUtils.connect($scope.loginData.username, $scope.loginData.password).then( + function(keypair) { + $scope.loginData.pubkey = CryptoUtils.util.encode_base58(keypair.signPk); + $scope.loginData.computing=false; + } + ) + .catch(function(err) { + $scope.loginData.computing=false; + UIUtils.loading.hide(); + console.error('>>>>>>>' , err); + UIUtils.alert.error('Your browser is not compatible with cryptographic libraries.'); + }); + }; + + // Logout + $scope.logout = function() { + UIUtils.loading.show(); + Wallet.logout().then( + function() { + UIUtils.loading.hide(); + $ionicSideMenuDelegate.toggleLeft(); + $state.go('app.home'); + } + ); + }; + + // Is connected + $scope.isLogged = function() { + return Wallet.isLogin(); + }; + + // Is not connected + $scope.isNotLogged = function() { + return !Wallet.isLogin(); + }; +} function CurrenciesController($scope, $state) { @@ -74,8 +182,8 @@ function ExploreController($scope, $rootScope, $state, BMA, $q, UIUtils, $interv var USE_RELATIVE_DEFAULT = true; - CurrenciesController.call(this, $scope); - LookupController.call(this, $scope, BMA); + CurrenciesController.call(this, $scope, $state); + LookupController.call(this, $scope, BMA, $state); PeersController.call(this, $scope, $rootScope, BMA, UIUtils, $q, $interval, $timeout); $scope.accountTypeMember = null; @@ -196,7 +304,7 @@ function ExploreController($scope, $rootScope, $state, BMA, $q, UIUtils, $interv }; } -function LookupController($scope, BMA) { +function LookupController($scope, BMA, $state) { $scope.searchChanged = function() { $scope.search.text = $scope.search.text.toLowerCase(); @@ -224,6 +332,50 @@ function LookupController($scope, BMA) { $scope.search.results = []; } }; + + $scope.doSelectIdentity = function(pub, uid) { + $state.go('app.view_identity', {pub: pub}); + }; + +} + +function IdentityController($scope, $state, BMA) { + + $scope.$on('$ionicView.enter', function(e, $state) { + $scope.showIdentity($state.stateParams.pub); + }); + + $scope.identity = {}; + + $scope.showIdentity = function(pub) { + + BMA.wot.lookup({ search: pub }) + .then(function(res){ + $scope.identity = res.results.reduce(function(idties, res) { + return idties.concat(res.uids.reduce(function(uids, idty) { + return uids.concat({ + uid: idty.uid, + pub: res.pubkey, + sigDate: idty.meta.timestamp + }) + }, [])); + }, [])[0]; + }) + }; + + $scope.signIdentity = function() { + alert('signIdentity'); + }; + + // Transfer click + $scope.transfer = function() { + $state.go('app.view_transfer', { + pubkey: $scope.identity.pubkey, + uid: $scope.identity.uid, + }); + }; + + } function PeersController($scope, $rootScope, BMA, UIUtils, $q, $interval, $timeout) { @@ -348,7 +500,7 @@ function fpr(block) { return block && [block.number, block.hash].join('-'); } -function HomeController($scope, $ionicSlideBoxDelegate, $ionicModal, BMA, $timeout) { +function HomeController($scope, $ionicSlideBoxDelegate, $ionicModal, $state, BMA, UIUtils, $q, $timeout, Wallet, CryptoUtils, $ionicSideMenuDelegate) { // With the new view caching in Ionic, Controllers are only called // when they are recreated or on app start, instead of every page change. @@ -357,8 +509,9 @@ function HomeController($scope, $ionicSlideBoxDelegate, $ionicModal, BMA, $timeo //$scope.$on('$ionicView.enter', function(e) { //}); - CurrenciesController.call(this, $scope); - LookupController.call(this, $scope, BMA); + CurrenciesController.call(this, $scope, $state); + LookupController.call(this, $scope, BMA, $state); + LoginController.call(this, $scope, $ionicModal, Wallet, CryptoUtils, UIUtils, $q, $state, $timeout, $ionicSideMenuDelegate); $scope.accountTypeMember = null; $scope.accounts = []; @@ -425,4 +578,157 @@ function HomeController($scope, $ionicSlideBoxDelegate, $ionicModal, BMA, $timeo // $scope.addAccount(); //}, 400); }); + + $scope.selectCurrency = function(currency) { + $scope.selectedCurrency = currency; + $scope.next(); + } +} + + +function WalletController($scope, $state) { + + $scope.walletData = {}; + $scope.convertedBalance = 0; + $scope.hasCredit = false; + + $scope.$on('$ionicView.enter', function(e, $state) { + $scope.loadWallet() + .then(function(wallet) { + $scope.updateWalletView(wallet); + }); + }); + + $scope.refreshConvertedBalance = function() { + if ($scope.walletData.useRelative) { + $scope.convertedBalance = $scope.walletData.balance / $scope.walletData.currentUD; + $scope.unit = 'universal_dividend'; + $scope.udUnit = $scope.walletData.currency; + } else { + $scope.convertedBalance = $scope.walletData.balance; + $scope.unit = $scope.walletData.currency; + $scope.udUnit = ''; + } + }; + $scope.$watch('walletData.useRelative', $scope.refreshConvertedBalance, true); + $scope.$watch('walletData.balance', $scope.refreshConvertedBalance, true); + + // Update view + $scope.updateWalletView = function(wallet) { + $scope.walletData = wallet; + $scope.hasCredit = $scope.walletData.balance != "undefined" && ($scope.walletData.balance > 0); + }; + + // Has credit + $scope.hasCredit= function() { + return $scope.balance > 0; + }; + + // Transfer click + $scope.transfer= function() { + $state.go('app.view_transfer'); + }; +} + + + +function TransferController($scope, $ionicModal, Wallet, UIUtils, $state, $ionicHistory) { + + $scope.walletData = {}; + $scope.formData = { + destPub: null, + amount: null, + comments: null + }; + $scope.dest = null; + $scope.udAmount = null; + + $scope.$on('$ionicView.enter', function(e, $state) { + if ($state.stateParams != null + && $state.stateParams.pubkey != null + && $state.stateParams.pubkey != "undefined") { + $scope.destPub = $state.stateParams.pubkey; + if ($state.stateParams.uid != null + && $state.stateParams.uid != "undefined") { + $scope.dest = $state.stateParams.uid; + } + else { + $scope.dest = $scope.destPub; + } + } + + // Login and load wallet + $scope.loadWallet() + .then(function(walletData) { + $scope.walletData = walletData; + $scope.onUseRelativeChanged(); + }); + }); + + // When chaing use relative UD + $scope.onUseRelativeChanged = function() { + if ($scope.walletData.useRelative) { + $scope.udAmount = $scope.amount * $scope.walletData.currentUD; + $scope.unit = 'universal_dividend'; + $scope.udUnit = $scope.walletData.currency; + } else { + $scope.formData.amount = ($scope.formData.amount != "undefined" && $scope.formData.amount != null) + ? Math.floor(parseFloat($scope.formData.amount.replace(new RegExp('[,]'), '.'))) + : null; + $scope.udAmount = $scope.amount / $scope.walletData.currentUD; + $scope.unit = $scope.walletData.currency; + $scope.udUnit = ''; + } + }; + $scope.$watch('walletData.useRelative', $scope.onUseRelativeChanged, true); + + $ionicModal.fromTemplateUrl('templates/wot/modal_lookup.html', { + scope: $scope, + focusFirstInput: true + }).then(function(modal) { + $scope.lookupModal = modal; + $scope.lookupModal.hide(); + }); + + $scope.openSearch = function() { + $scope.lookupModal.show(); + } + + $scope.doTransfer = function() { + UIUtils.loading.show(); + + var amount = $scope.formData.amount; + if ($scope.walletData.useRelative + && amount != "undefined" + && amount != null) { + amount = $scope.walletData.currentUD + * amount.replace(new RegExp('[.,]'), '.'); + } + + Wallet.transfer($scope.formData.destPub, amount, $scope.formData.comments) + .then(function() { + UIUtils.loading.hide(); + $ionicHistory.goBack() + }) + .catch(function(err) { + console.error('>>>>>>>' , err); + UIUtils.alert.error('Could not send transaction: ' + err); + UIUtils.loading.hide(); + }); + }; + + $scope.closeLookup = function() { + $scope.lookupModal.hide(); + } + + $scope.doSelectIdentity = function(pub, uid) { + if (uid != "undefined" && uid != null) { + $scope.dest = uid; + } + else { + $scope.dest = uid; + } + $scope.formData.destPub = pub; + $scope.lookupModal.hide(); + } } diff --git a/www/js/services.js b/www/js/services.js index a3b028a55..2026df87f 100644 --- a/www/js/services.js +++ b/www/js/services.js @@ -1,33 +1,77 @@ +//var Base58, Base64, scrypt_module_factory = null, nacl_factory = null; + angular.module('cesium.services', ['ngResource']) .factory('BMA', function($http, $q) { - function BMA(server) { + function BMA(server, wsServer) { + if (wsServer == "undefined" || wsServer == null) { + wsServer = server; + } + + function processError(reject, data) { + if (data != null && data.message != "undefined" && data.message != null) { + reject(data.ucode + ": " + data.message); + } + else { + reject('Unknown error from ucoin node'); + } + } + + function prepare(uri, params, config, callback) { + var pkeys = [], queryParams = {}, newUri = uri; + if (typeof params == 'object') { + pkeys = _.keys(params); + } + + pkeys.forEach(function(pkey){ + var prevURI = newUri; + newUri = newUri.replace(new RegExp(':' + pkey), params[pkey]); + if (prevURI == newUri) { + queryParams[pkey] = params[pkey]; + } + }); + config.params = queryParams; + callback(newUri, config); + } function getResource(uri) { return function(params) { return $q(function(resolve, reject) { var config = { timeout: 4000 - }, suffix = '', pkeys = [], queryParams = {}; - if (typeof params == 'object') { - pkeys = _.keys(params); - } - pkeys.forEach(function(pkey){ - var prevURI = uri; - uri = uri.replace(new RegExp(':' + pkey), params[pkey]); - if (prevURI == uri) { - queryParams[pkey] = params[pkey]; - } + }; + + prepare(uri, params, config, function(uri, config) { + $http.get(uri, config) + .success(function(data, status, headers, config) { + resolve(data); + }) + .error(function(data, status, headers, config) { + processError(reject, data); + }); + }); + }); + } + } + + function postResource(uri) { + return function(data, params) { + return $q(function(resolve, reject) { + var config = { + timeout: 4000, + headers : {'Content-Type' : 'application/json'} + }; + + prepare(uri, params, config, function(uri, config) { + $http.post(uri, data, config) + .success(function(data, status, headers, config) { + resolve(data); + }) + .error(function(data, status, headers, config) { + processError(reject, data); + }); }); - config.params = queryParams; - $http.get(uri + suffix, config) - .success(function(data, status, headers, config) { - resolve(data); - }) - .error(function(data, status, headers, config) { - reject(data); - }); }); } } @@ -65,50 +109,613 @@ angular.module('cesium.services', ['ngResource']) tx: getResource('http://' + server + '/blockchain/with/tx') } }, + + tx: { + sources: getResource('http://' + server + '/tx/sources/:pubkey'), + process: postResource('http://' + server + '/tx/process'), + history: { + all: getResource('http://' + server + '/tx/history/:pubkey'), + times: getResource('http://' + server + '/tx/history/:pubkey/times/:from/:to'), + blocks: getResource('http://' + server + '/tx/history/:pubkey/blocks/:from/:to') + } + }, websocket: { block: function() { - return ws('ws://' + server + '/ws/block'); + return ws('ws://' + wsServer + '/ws/block'); }, peer: function() { - return ws('ws://' + server + '/ws/peer'); + return ws('ws://' + wsServer + '/ws/peer'); } } } } + //var service = BMA('metab.ucoin.fr', 'metab.ucoin.fr:9201'); + //var service = BMA('192.168.0.28:9201'); var service = BMA('metab.ucoin.io'); service.instance = BMA; return service; }) .factory('UIUtils', function($ionicLoading, $ionicPopup) { - return { - alert: { - error: function(err, subtitle) { - var message = err.message || err; - return $ionicPopup.show({ - template: '<p>' + (message || 'Unknown error') + '</p>', - title: 'Application error', - subTitle: subtitle, - buttons: [ - { - text: '<b>OK</b>', - type: 'button-assertive' + function alertError(err, subtitle) { + var message = err.message || err; + return $ionicPopup.show({ + template: '<p>' + (message || 'Unknown error') + '</p>', + title: 'Application error', + subTitle: subtitle, + buttons: [ + { + text: '<b>OK</b>', + type: 'button-assertive' + } + ] + }); + } + + function hideLoading(){ + $ionicLoading.hide(); + } + + function showLoading() { + $ionicLoading.show({ + template: 'Loading...' + }); + } + + function onError(msg) { + return function(err) { + console.error('>>>>>>>' , err); + alertError(msg + ': ' + err); + hideLoading(); + } + } + + return { + alert: { + error: alertError + }, + loading: { + show: showLoading, + hide: hideLoading + }, + onError: onError + }; +}) + +.factory('CryptoUtils', function($q, $timeout) { + + var async_load_scrypt = function() { + if (typeof module !== 'undefined' && module.exports) { + // add node.js implementations + require('scrypt-em'); + return scrypt_module_factory(); + } + else if (scrypt_module_factory !== null){ + return scrypt_module_factory(); + } + else { + return $timeout(async_load_scrypt, 100); + } + }, + + async_load_nacl = function() { + if (typeof module !== 'undefined' && module.exports) { + // add node.js implementations + require('nacl_factory'); + return nacl_factory.instantiate(); + } + else if (nacl_factory !== null){ + return nacl_factory.instantiate(); + } + else { + return $timeout(async_load_nacl, 100); + } + }, + + async_load_base58 = function() { + if (typeof module !== 'undefined' && module.exports) { + // add node.js implementations + require('base58'); + return Base58; + } + else if (Base58 !== null){ + return Base58; + } + else { + return $timeout(async_load_base58, 100); + } + }, + + async_load_base64 = function() { + if (typeof module !== 'undefined' && module.exports) { + // add node.js implementations + require('base58'); + return Base64; + } + else if (Base64 !== null){ + return Base64; + } + else { + return setTimetout(async_load_base64, 100); + } + }; + + function CryptoUtils() { + var + // Const + crypto_sign_BYTES= 64, + SEED_LENGTH= 32, // Length of the key + SCRYPT_PARAMS= { + "N":4096, + "r":16, + "p":1 } - ] - }); + + // load libraries + scrypt = async_load_scrypt(), + nacl = async_load_nacl(), + base58 = async_load_base58(), + base64 = async_load_base64(), + decode_utf8 = function(s) { + var i, d = unescape(encodeURIComponent(s)), b = new Uint8Array(d.length); + for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); + return b; + }, + encode_base58 = function(a) { + return base58.encode(a); + }, + + /** + * Create a key pair, from salt+password, and return a wallet object + */ + connect = function(salt, password) { + return $q(function(resolve, reject) { + var seed = scrypt.crypto_scrypt( + nacl.encode_utf8(password), + nacl.encode_utf8(salt), + 4096, 16, 1, 32 // TODO: put in var SCRYPT_PARAMS + ); + var keypair = nacl.crypto_sign_keypair_from_seed(seed); + resolve(keypair); + }) + }, + + /** + * Verify a signature of a message, for a pubkey + */ + verify = function (message, signature, pubkey) { + return $q(function(resolve, reject) { + var msg = decode_utf8(message); + var sig = base64.decode(signature); + var pub = base58.decode(pubkey); + var m = new Uint8Array(crypto_sign_BYTES + msg.length); + var sm = new Uint8Array(crypto_sign_BYTES + msg.length); + var i; + for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i]; + for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i]; + + // Call to verification lib... + var verified = nacl.crypto_sign_open(sm, pub) !== null; + resolve(verified); + }); + }, + + /** + * Sign a message, from a wallet + */ + sign = function(message, keypair) { + return $q(function(resolve, reject) { + var m = decode_utf8(message); + var sk = keypair.signSk; + var signedMsg = nacl.crypto_sign(m, sk); + var sig = new Uint8Array(crypto_sign_BYTES); + for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i]; + var signature = base64.encode(sig); + resolve(signature); + }) } - }, - loading: { - show: function() { - $ionicLoading.show({ - template: 'Loading...' - }); + + ; + + // Service's exposed methods + return { + /* + TODO: uncomment if need to expose + nacl: nacl, + scrypt: scrypt, + base58: base58, + base64: base64,*/ + util: { + encode_utf8: nacl.encode_utf8, + decode_utf8: decode_utf8, + encode_base58: encode_base58 + }, + + + connect: connect, + sign: sign, + verify: verify + //,isCompatible: isCompatible + } + } + var service = CryptoUtils(); + service.instance = CryptoUtils; + return service; +}) + +.factory('$localstorage', ['$window', 'CryptoUtils', '$q', function($window, CryptoUtils, $q) { + return { + set: function(key, value) { + $window.localStorage[key] = value; + }, + get: function(key, defaultValue) { + return $window.localStorage[key] || defaultValue; + }, + setObject: function(key, value) { + $window.localStorage[key] = JSON.stringify(value); + }, + getObject: function(key) { + return JSON.parse($window.localStorage[key] || '{}'); + } + } +}]) + +.factory('Wallet', ['CryptoUtils', 'BMA', '$q', function(CryptoUtils, BMA, $q) { + Wallet = function(id) { + + var + + USE_RELATIVE_DEFAULT = true, + + createData = function() { + return { + pubkey: null, + keypair: { + signSk: null, + signPk: null }, - hide: function(){ - $ionicLoading.hide(); + balance: 0, + sources: null, + useRelative: USE_RELATIVE_DEFAULT, + currency: null, + currentUD: null, + history: {}, + loaded: false + }; + }, + + data = createData(), + + reduceTx = function(txArray) { + var list = []; + txArray.forEach(function(tx) { + var issuerIndex = -1; + var issuer = tx.issuers.reduce(function(issuer, res, index) { + issuerIndex = (res == data.pubkey) ? index : issuerIndex; + return issuer + ((res != data.pubkey) ? ', ' + res : ''); + }, ', ').substring(2); + var amount = + tx.inputs.reduce(function(sum, input) { + var inputArray = input.split(':',5); + return sum - ((inputArray[0] == issuerIndex) ? parseInt(inputArray[4]) : 0); + }, 0); + amount += tx.outputs.reduce(function(sum, output) { + var outputArray = output.split(':',2); + return sum + ((outputArray[0] == data.pubkey) ? parseInt(outputArray[1]) : 0); + }, 0); + + list.push({ + time: ((tx.time != null && tx.time != "undefined") ? tx.time : 9999999), + amount: amount, + issuer: issuer, + comments: 'comments', + isUD: false, + hash: tx.hash, + block_number: tx.block_number + }); + }); + + return list; + }, + + login = function(salt, password) { + return $q(function(resolve, reject) { + CryptoUtils.connect(salt, password).then( + function(keypair) { + // Copy result to properties + data.pubkey = CryptoUtils.util.encode_base58(keypair.signPk); + data.keypair = keypair; + resolve(); + } + ); + }); + }, + + logout = function(username, password) { + return $q(function(resolve, reject) { + data = createData(); + resolve(); + }); + }, + + isLogin = function() { + return data.pubkey != "undefined" + && data.pubkey != null; + }, + + isSourceEquals = function(arg1, arg2) { + return arg1.type == arg2.type + && arg1.fingerprint == arg2.fingerprint + && arg1.number == arg2.number + && arg1.amount == arg2.amount; + }, + + loadData = function() { + if (data.loaded) { + return refreshData(); } - } + + return $q(function(resolve, reject){ + data.loaded = false; + + console.log('calling loadData'); + $q.all([ + + // Get currency parameters + BMA.currency.parameters() + .then(function(json){ + data.currency = json.currency; + }), + + // Get the UD informations + BMA.blockchain.stats.ud() + .then(function(res){ + if (res.result.blocks.length) { + var lastBlockWithUD = res.result.blocks[res.result.blocks.length - 1]; + return BMA.blockchain.block({ block: lastBlockWithUD }) + .then(function(block){ + data.currentUD = block.dividend; + }); + } + }), + + // Get sources + BMA.tx.sources({pubkey: data.pubkey}) + .then(function(res){ + data.sources = res.sources; + + var balance = 0; + if (res.sources.length) { + for (var i=0; i<res.sources.length; i++) { + balance += res.sources[i].amount; + res.sources[i].consumed = false; + } + } + data.balance = balance; + }), + + // Get transactions + BMA.tx.history.all({pubkey: data.pubkey}) + .then(function(res){ + var list = reduceTx(res.history.sent); + list.push(reduceTx(res.history.received)); + list.push(reduceTx(res.history.sending)); + list.push(reduceTx(res.history.receiving)); + list.push(reduceTx(res.history.pending)); + + var history = []; + list.forEach(function(tx){ + history['T:'+ tx.block_number + tx.hash] = tx; + }); + var result = []; + _.keys(history).forEach(function(key) { + result.push(history[key]); + }) + data.history = result.sort(function(tx1, tx2) { + return tx2.time - tx1.time; + }); + }) + ]) + .then(function() { + data.loaded = true; + resolve(data); + }) + .catch(function(err) { + data.loaded = false; + reject(err); + }); + }); + }, + + refreshData = function() { + return $q(function(resolve, reject){ + console.log('calling refreshData'); + + $q.all([ + + // Get the UD informations + BMA.blockchain.stats.ud() + .then(function(res){ + if (res.result.blocks.length) { + var lastBlockWithUD = res.result.blocks[res.result.blocks.length - 1]; + return BMA.blockchain.block({ block: lastBlockWithUD }) + .then(function(block){ + data.currentUD = block.dividend; + }); + } + }), + + // Get sources + BMA.tx.sources({pubkey: data.pubkey}) + .then(function(res){ + + var balance = 0; + if (res.sources.length) { + for (var i=0; i<res.sources.length; i++) { + res.sources[i].consumed = false; + if (data.sources.length) { + for (var j=0; j<data.sources.length; j++) { + if (isSourceEquals(res.sources[i], data.sources[j]) + && data.sources[j].consumed){ + res.sources[i].consumed = true; + break; + } + } + } + if (!res.sources[i].consumed){ + balance += res.sources[i].amount; + } + } + data.sources = res.sources; + } + data.balance = balance; + }) + ]) + .then(function() { + resolve(data); + }) + .catch(function(err) { + reject(err); + }); + }); + }, + + /** + * Send a new transaction + */ + transfer = function(destPub, amount, comments) { + return $q(function(resolve, reject) { + + if (!isLogin()){ + reject('Wallet required to be login first.'); return; + } + if (amount == null) { + reject('amount must not be null'); return; + } + amount = Math.round(amount); + if (amount <= 0) { + reject('amount must be greater than zero'); return; + } + if (amount > data.balance) { + reject('Not enought credit'); return; + } + + var tx = "Version: 1\n" + + "Type: Transaction\n" + + "Currency: " + data.currency + "\n" + + "Issuers:\n" + + data.pubkey + "\n" + + "Inputs:\n"; + var sourceAmount = 0; + var inputs = []; + for (var i = 0; i<data.sources.length; i++) { + var input = data.sources[i]; + if (input.consumed == "undefined" || !input.consumed){ + // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT + tx += "0:"+input.type+":"+ input.number+":" + + input.fingerprint+":" + + input.amount+"\n"; + sourceAmount += input.amount; + inputs.push(input); + if (sourceAmount >= amount) { + break; + } + } + } + + if (sourceAmount < amount) { + reject('Not enought sources (max amount: ' + +(data.useRelative ? (sourceAmount / data.currentUD)+' UD' : sourceAmount) + +'). Please wait next block computation.'); + return; + } + + tx += "Outputs:\n" + // ISSUERS:AMOUNT + + destPub +":" + amount + "\n"; + if (sourceAmount > amount) { + tx += data.pubkey+":"+(sourceAmount-amount)+"\n"; + } + + tx += "Comment: "+ (comments!=null?comments:"") + "\n"; + + + + CryptoUtils.sign(tx, data.keypair) + .then(function(signature) { + var signedTx = tx + signature + "\n"; + BMA.tx.process({transaction: signedTx}) + .then(function(result) { + data.balance -= amount; + for(var i=0;i<inputs.length;i++)inputs[i].consumed=true; + resolve(result); + }) + .catch(function(err){ + reject(err); + }); + }) + .catch(function(err){ + reject(err); + }); + }); + } + + /** + * Serialize to JSON string + */ + toJson = function() { + return $q(function(resolve, reject) { + var json = JSON.stringify(data); + resolve(json); + }) + }, + + /** + * De-serialize from JSON string + */ + fromJson = function(json) { + return $q(function(resolve, reject) { + var obj = JSON.parse(json || '{}'); + if (obj.keypair != "undefined" + && obj.keypair != null) { + var keypair = obj.keypair; + + // Convert to Uint8Array type + var signPk = new Uint8Array(32); + for (var i = 0; i < 32; i++) signPk[i] = keypair.signPk[i]; + keypair.signPk = signPk; + + var signSk = new Uint8Array(64); + for (var i = 0; i < 64; i++) signSk[i] = keypair.signSk[i]; + keypair.signSk = signSk; + + data.pubkey = obj.pubkey; + data.keypair = keypair; + + resolve(); + } + else { + reject('Not a valid Wallet.data object'); + } + }) }; -}) + return { + id: id, + data: data, + + login: login, + logout: logout, + isLogin: isLogin, + toJson: toJson, + fromJson: fromJson, + loadData: loadData, + refreshData: refreshData, + transfer: transfer + } + } + var service = Wallet('default'); + service.instance = service; + return service; +}]) ; diff --git a/www/js/vendor/base58.js b/www/js/vendor/base58.js new file mode 100644 index 000000000..cc9be4584 --- /dev/null +++ b/www/js/vendor/base58.js @@ -0,0 +1,94 @@ +// Generated by CoffeeScript 1.8.0 +(function() { + var Base58 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base58 = {}); + + Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' + Base58.alphabetMap = {} + + for(var i = 0; i < Base58.alphabet.length; i++) { + Base58.alphabetMap[Base58.alphabet.charAt(i)] = i + } + + Base58.encode = function(buffer) { + var carry, digits, j; + if (buffer.length === 0) { + return ""; + } + i = void 0; + j = void 0; + digits = [0]; + i = 0; + while (i < buffer.length) { + j = 0; + while (j < digits.length) { + digits[j] <<= 8; + j++; + } + digits[0] += buffer[i]; + carry = 0; + j = 0; + while (j < digits.length) { + digits[j] += carry; + carry = (digits[j] / 58) | 0; + digits[j] %= 58; + ++j; + } + while (carry) { + digits.push(carry % 58); + carry = (carry / 58) | 0; + } + i++; + } + i = 0; + while (buffer[i] === 0 && i < buffer.length - 1) { + digits.push(0); + i++; + } + return digits.reverse().map(function(digit) { + return Base58.alphabet[digit]; + }).join(""); + }; + + Base58.decode = function(string) { + var bytes, c, carry, j; + if (string.length === 0) { + return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(0); + } + i = void 0; + j = void 0; + bytes = [0]; + i = 0; + while (i < string.length) { + c = string[i]; + if (!(c in Base58.alphabetMap)) { + throw "Base58.decode received unacceptable input. Character '" + c + "' is not in the Base58 alphabet."; + } + j = 0; + while (j < bytes.length) { + bytes[j] *= 58; + j++; + } + bytes[0] += Base58.alphabetMap[c]; + carry = 0; + j = 0; + while (j < bytes.length) { + bytes[j] += carry; + carry = bytes[j] >> 8; + bytes[j] &= 0xff; + ++j; + } + while (carry) { + bytes.push(carry & 0xff); + carry >>= 8; + } + i++; + } + i = 0; + while (string[i] === "1" && i < string.length - 1) { + bytes.push(0); + i++; + } + return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(bytes.reverse()); + }; + +}).call(this); diff --git a/www/js/vendor/base64.js b/www/js/vendor/base64.js new file mode 100644 index 000000000..2d4e8656e --- /dev/null +++ b/www/js/vendor/base64.js @@ -0,0 +1,45 @@ +/* + * #%L + * uCoinj :: UI Wicket + * %% + * Copyright (C) 2014 - 2016 EIS + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +(function() { + var Base64 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base64 = {}); + + Base64.encode = (function(arr) { + if (typeof btoa === 'undefined') { + return (new Buffer(arr)).toString('base64'); + } else { + var i, s = [], len = arr.length; + for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i])); + return btoa(s.join('')); + } + }); + + Base64.decode = (function(s) { + if (typeof atob === 'undefined') { + return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0)); + } else { + var i, d = atob(s), b = new Uint8Array(d.length); + for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); + return b; + } + }); + +}).call(this); diff --git a/www/js/vendor/nacl_factory.js b/www/js/vendor/nacl_factory.js new file mode 100644 index 000000000..a1a427c6c --- /dev/null +++ b/www/js/vendor/nacl_factory.js @@ -0,0 +1,26504 @@ +/* + * #%L + * uCoinj :: UI Wicket + * %% + * Copyright (C) 2014 - 2016 EIS + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +var nacl_factory = { + instantiate: function (requested_total_memory) { + return (function (window, document) { + var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; + var nacl_raw = Module; +function e(a) { + throw a; +} +var k = void 0, l = !0, m = null, n = !1; +function aa() { + return function() { + } +} +var q, r; +r || (r = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); +var ba = {}, t; +for(t in r) { + r.hasOwnProperty(t) && (ba[t] = r[t]) +} +var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; +if(ca) { + r.print = function(a) { + process.stdout.write(a + "\n") + }; + r.printErr = function(a) { + process.stderr.write(a + "\n") + }; + var ga = require("fs"), ha = require("path"); + r.read = function(a, b) { + var a = ha.normalize(a), c = ga.readFileSync(a); + !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); + c && !b && (c = c.toString()); + return c + }; + r.readBinary = function(a) { + return r.read(a, l) + }; + r.load = function(a) { + ia(read(a)) + }; + r.arguments = process.argv.slice(2); + module.ee = r +}else { + fa ? (r.print = print, "undefined" != typeof printErr && (r.printErr = printErr), r.read = read, r.readBinary = function(a) { + return read(a, "binary") + }, "undefined" != typeof scriptArgs ? r.arguments = scriptArgs : "undefined" != typeof arguments && (r.arguments = arguments), this.Module = r) : da || ea ? (r.read = function(a) { + var b = new XMLHttpRequest; + b.open("GET", a, n); + b.send(m); + return b.responseText + }, "undefined" != typeof arguments && (r.arguments = arguments), da ? (r.print = function(a) { + console.log(a) + }, r.printErr = function(a) { + console.log(a) + }, this.Module = r) : ea && (r.print = aa(), r.load = importScripts)) : e("Unknown runtime environment. Where are we?") +} +function ia(a) { + eval.call(m, a) +} +"undefined" == !r.load && r.read && (r.load = function(a) { + ia(r.read(a)) +}); +r.print || (r.print = aa()); +r.printErr || (r.printErr = r.print); +r.arguments || (r.arguments = []); +r.print = r.print; +r.P = r.printErr; +r.preRun = []; +r.postRun = []; +for(t in ba) { + ba.hasOwnProperty(t) && (r[t] = ba[t]) +} +function ja() { + return u +} +function ka(a) { + u = a +} +function la(a) { + if(1 == ma) { + return 1 + } + var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; + b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), v(0 == a % 8), b = a / 8)); + return b +} +function na(a, b, c) { + c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), r["dynCall_" + a].apply(m, c)) : r["dynCall_" + a].call(m, b) +} +var oa; +function pa() { + var a = [], b = 0; + this.oa = function(c) { + c &= 255; + b && (a.push(c), b--); + if(0 == a.length) { + if(128 > c) { + return String.fromCharCode(c) + } + a.push(c); + b = 191 < c && 224 > c ? 1 : 2; + return"" + } + if(0 < b) { + return"" + } + var c = a[0], d = a[1], f = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | f & 63); + a.length = 0; + return c + }; + this.yb = function(a) { + for(var a = unescape(encodeURIComponent(a)), b = [], f = 0;f < a.length;f++) { + b.push(a.charCodeAt(f)) + } + return b + } +} +function qa(a) { + var b = u; + u = u + a | 0; + u = u + 7 >> 3 << 3; + return b +} +function ra(a) { + var b = sa; + sa = sa + a | 0; + sa = sa + 7 >> 3 << 3; + return b +} +function ua(a) { + var b = x; + x = x + a | 0; + x = x + 7 >> 3 << 3; + x >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); + return b +} +function xa(a, b) { + return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) +} +var ma = 4, ya = {}, za = n, Aa; +function v(a, b) { + a || wa("Assertion failed: " + b) +} +r.ccall = function(a, b, c, d) { + return Ba(Ca(a), b, c, d) +}; +function Ca(a) { + try { + var b = r["_" + a]; + b || (b = eval("_" + a)) + }catch(c) { + } + v(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); + return b +} +function Ba(a, b, c, d) { + function f(a, b) { + if("string" == b) { + if(a === m || a === k || 0 === a) { + return 0 + } + g || (g = ja()); + var c = qa(a.length + 1); + Da(a, c); + return c + } + return"array" == b ? (g || (g = ja()), c = qa(a.length), Ea(a, c), c) : a + } + var g = 0, h = 0, d = d ? d.map(function(a) { + return f(a, c[h++]) + }) : []; + a = a.apply(m, d); + "string" == b ? b = Fa(a) : (v("array" != b), b = a); + g && ka(g); + return b +} +r.cwrap = function(a, b, c) { + var d = Ca(a); + return function() { + return Ba(d, b, c, Array.prototype.slice.call(arguments)) + } +}; +function Ga(a, b, c) { + c = c || "i8"; + "*" === c.charAt(c.length - 1) && (c = "i32"); + switch(c) { + case "i1": + A[a] = b; + break; + case "i8": + A[a] = b; + break; + case "i16": + Ha[a >> 1] = b; + break; + case "i32": + B[a >> 2] = b; + break; + case "i64": + Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; + B[a >> 2] = Aa[0]; + B[a + 4 >> 2] = Aa[1]; + break; + case "float": + Ia[a >> 2] = b; + break; + case "double": + Ja[a >> 3] = b; + break; + default: + wa("invalid type for setValue: " + c) + } +} +r.setValue = Ga; +r.getValue = function(a, b) { + b = b || "i8"; + "*" === b.charAt(b.length - 1) && (b = "i32"); + switch(b) { + case "i1": + return A[a]; + case "i8": + return A[a]; + case "i16": + return Ha[a >> 1]; + case "i32": + return B[a >> 2]; + case "i64": + return B[a >> 2]; + case "float": + return Ia[a >> 2]; + case "double": + return Ja[a >> 3]; + default: + wa("invalid type for setValue: " + b) + } + return m +}; +var Ka = 0, La = 1, E = 2, Na = 4; +r.ALLOC_NORMAL = Ka; +r.ALLOC_STACK = La; +r.ALLOC_STATIC = E; +r.ALLOC_DYNAMIC = 3; +r.ALLOC_NONE = Na; +function F(a, b, c, d) { + var f, g; + "number" === typeof a ? (f = l, g = a) : (f = n, g = a.length); + var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(g, h ? 1 : b.length)); + if(f) { + d = c; + v(0 == (c & 3)); + for(a = c + (g & -4);d < a;d += 4) { + B[d >> 2] = 0 + } + for(a = c + g;d < a;) { + A[d++ | 0] = 0 + } + return c + } + if("i8" === h) { + return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c + } + for(var d = 0, i, j;d < g;) { + var p = a[d]; + "function" === typeof p && (p = ya.fe(p)); + f = h || b[d]; + 0 === f ? d++ : ("i64" == f && (f = "i32"), Ga(c + d, p, f), j !== f && (i = la(f), j = f), d += i) + } + return c +} +r.allocate = F; +function Fa(a, b) { + for(var c = n, d, f = 0;;) { + d = G[a + f | 0]; + if(128 <= d) { + c = l + }else { + if(0 == d && !b) { + break + } + } + f++; + if(b && f == b) { + break + } + } + b || (b = f); + var g = ""; + if(!c) { + for(;0 < b;) { + d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), g = g ? g + d : d, a += 1024, b -= 1024 + } + return g + } + c = new pa; + for(f = 0;f < b;f++) { + d = G[a + f | 0], g += c.oa(d) + } + return g +} +r.Pointer_stringify = Fa; +var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, x = 0, va = r.TOTAL_MEMORY || 16777216; +v(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); +var I = new ArrayBuffer(va); +A = new Int8Array(I); +Ha = new Int16Array(I); +B = new Int32Array(I); +G = new Uint8Array(I); +Pa = new Uint16Array(I); +Qa = new Uint32Array(I); +Ia = new Float32Array(I); +Ja = new Float64Array(I); +B[0] = 255; +v(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); +r.HEAP = k; +r.HEAP8 = A; +r.HEAP16 = Ha; +r.HEAP32 = B; +r.HEAPU8 = G; +r.HEAPU16 = Pa; +r.HEAPU32 = Qa; +r.HEAPF32 = Ia; +r.HEAPF64 = Ja; +function Va(a) { + for(;0 < a.length;) { + var b = a.shift(); + if("function" == typeof b) { + b() + }else { + var c = b.V; + "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) + } + } +} +var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = n; +function bb(a) { + Wa.unshift(a) +} +r.addOnPreRun = r.Vd = bb; +r.addOnInit = r.Sd = function(a) { + Xa.unshift(a) +}; +r.addOnPreMain = r.Ud = function(a) { + Ya.unshift(a) +}; +r.addOnExit = r.Rd = function(a) { + Za.unshift(a) +}; +function cb(a) { + $a.unshift(a) +} +r.addOnPostRun = r.Td = cb; +function J(a, b, c) { + a = (new pa).yb(a); + c && (a.length = c); + b || a.push(0); + return a +} +r.intArrayFromString = J; +r.intArrayToString = function(a) { + for(var b = [], c = 0;c < a.length;c++) { + var d = a[c]; + 255 < d && (d &= 255); + b.push(String.fromCharCode(d)) + } + return b.join("") +}; +function Da(a, b, c) { + a = J(a, c); + for(c = 0;c < a.length;) { + A[b + c | 0] = a[c], c += 1 + } +} +r.writeStringToMemory = Da; +function Ea(a, b) { + for(var c = 0;c < a.length;c++) { + A[b + c | 0] = a[c] + } +} +r.writeArrayToMemory = Ea; +function db(a, b) { + return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a +} +function eb(a, b) { + if(0 >= a) { + return a + } + var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); + if(a >= c && (32 >= b || a > c)) { + a = -2 * c + a + } + return a +} +Math.imul || (Math.imul = function(a, b) { + var c = a & 65535, d = b & 65535; + return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 +}); +Math.ie = Math.imul; +var K = 0, fb = {}, gb = n, hb = m; +function ib(a) { + K++; + r.monitorRunDependencies && r.monitorRunDependencies(K); + a ? (v(!fb[a]), fb[a] = 1) : r.P("warning: run dependency added without ID") +} +r.addRunDependency = ib; +function jb(a) { + K--; + r.monitorRunDependencies && r.monitorRunDependencies(K); + a ? (v(fb[a]), delete fb[a]) : r.P("warning: run dependency removed without ID"); + 0 == K && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) +} +r.removeRunDependency = jb; +r.preloadedImages = {}; +r.preloadedAudios = {}; +Ra = 8; +sa = Ra + 112632; +Xa.push({V:function() { + mb() +}}); +var nb, ob, pb; +nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +F([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, +32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, 23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 16, 182, 1, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, +115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, +0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, +0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 106, 9, 230, 103, 243, 188, 201, +8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, 254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 106, 9, 230, 103, 243, 188, 201, 8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, +254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +63, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 176, 0, 0, 0, 160, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 238, 0, 0, 0, 196, 0, 0, 0, 120, 0, 0, 0, 228, 0, 0, 0, 47, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 47, 0, 0, 0, 167, 0, 0, 0, 215, 0, 0, 0, 251, 0, 0, 0, +61, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 43, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 128, 0, 0, 0, 36, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 117, 0, 0, 0, 171, 0, 0, 0, 216, 0, 0, 0, +65, 0, 0, 0, 65, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 121, 0, 0, 0, 64, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 115, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 43, 0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 148, 0, 0, 0, 155, 0, 0, 0, 214, 0, 0, 0, 235, 0, 0, 0, 86, 0, 0, 0, 177, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 20, 0, 0, 0, 224, 0, 0, 0, +0, 0, 0, 0, 48, 0, 0, 0, 209, 0, 0, 0, 243, 0, 0, 0, 238, 0, 0, 0, 242, 0, 0, 0, 128, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 231, 0, 0, 0, 252, 0, 0, 0, 223, 0, 0, 0, 86, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 26, 213, 37, 143, +96, 45, 86, 201, 178, 167, 37, 149, 96, 199, 44, 105, 92, 220, 214, 253, 49, 226, 164, 192, 254, 83, 110, 205, 211, 54, 105, 33, 163, 221, 183, 165, 179, 138, 222, 109, 245, 82, 81, 119, 128, 159, 240, 32, 125, 227, 171, 100, 142, 78, 234, 102, 101, 118, 139, 215, 15, 95, 135, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, 0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, +0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 161, 0, +0, 0, 197, 0, 0, 0, 131, 0, 0, 0, 95, 0, 0, 0, 164, 0, 0, 0, 215, 0, 0, 0, 21, 0, 0, 0, 69, 0, 0, 0, 142, 0, 0, 0, 13, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 24, 0, 0, 0, 125, 0, 0, 0, 59, 0, 0, 0, 4, 0, 0, 0, 61, 0, 0, 0, 108, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 76, 0, 0, 0, 56, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 86, 0, 0, 0, 81, 0, 0, 0, 56, 0, 0, 0, 100, +0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 57, 0, 0, 0, 151, 0, 0, 0, 86, 0, 0, 0, 31, 0, 0, 0, 162, 0, 0, 0, 201, 0, 0, 0, 232, 0, 0, 0, 94, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 92, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 211, 0, 0, 0, 95, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 172, 0, 0, 0, 134, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 152, 0, 0, 0, 67, 0, 0, 0, 99, 0, 0, 0, 58, 0, 0, +0, 200, 0, 0, 0, 218, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 174, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 73, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 34, 0, 0, 0, 74, 0, 0, 0, 156, 0, 0, 0, 174, 0, 0, 0, 103, 0, 0, 0, 212, 0, 0, 0, 180, 0, 0, 0, 245, 0, 0, 0, 120, 0, 0, 0, 72, 0, 0, 0, 104, 0, 0, 0, 195, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 23, 0, 0, 0, 236, 0, 0, 0, 22, 0, 0, 0, 159, 0, 0, 0, 247, 0, 0, 0, 158, 0, 0, 0, 38, 0, 0, 0, 96, 0, 0, 0, 142, 0, 0, 0, 161, 0, 0, +0, 38, 0, 0, 0, 161, 0, 0, 0, 171, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 103, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 248, 0, 0, 0, 201, 0, 0, 0, 196, 0, 0, 0, 87, 0, 0, 0, 166, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 71, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 147, 0, 0, 0, 193, 0, 0, 0, 158, 0, 0, 0, 115, 0, 0, 0, 26, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 122, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 70, 0, 0, 0, 241, 0, 0, 0, 207, 0, +0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 32, 0, 0, 0, 47, 0, 0, 0, 17, 0, 0, 0, 50, 0, 0, 0, 202, 0, 0, 0, 97, 0, 0, 0, 171, 0, 0, 0, 56, 0, 0, 0, 223, 0, 0, 0, 240, 0, 0, 0, 15, 0, 0, 0, 47, 0, 0, 0, 234, 0, 0, 0, 50, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 76, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 128, 0, 0, 0, 133, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 71, 0, 0, 0, 225, 0, 0, 0, 149, 0, 0, 0, 21, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 208, 0, 0, 0, 71, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 132, 0, 0, 0, 165, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 253, 0, 0, 0, 135, 0, 0, 0, 59, 0, 0, 0, 153, 0, 0, 0, 139, 0, 0, 0, 105, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 198, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 147, 0, 0, +0, 207, 0, 0, 0, 78, 0, 0, 0, 248, 0, 0, 0, 92, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 66, 0, 0, 0, 182, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 180, 0, 0, 0, 185, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 169, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 30, 0, 0, 0, 147, 0, 0, 0, 228, 0, 0, 0, 30, 0, 0, 0, 98, 0, 0, 0, 252, 0, 0, 0, 60, 0, 0, 0, 120, 0, 0, 0, 129, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 9, 0, 0, 0, 111, 0, 0, +0, 173, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 115, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 211, 0, 0, 0, 33, 0, 0, 0, 248, 0, 0, 0, 249, 0, 0, 0, 40, 0, 0, 0, 108, 0, 0, 0, 109, 0, 0, 0, 89, 0, 0, 0, 178, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 35, 0, 0, 0, 191, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 87, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 43, 0, 0, 0, 226, 0, 0, 0, 184, 0, 0, 0, 238, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, +39, 0, 0, 0, 6, 0, 0, 0, 134, 0, 0, 0, 164, 0, 0, 0, 35, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 103, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 171, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 156, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 255, 0, 0, 0, 17, 0, 0, 0, 106, 0, 0, 0, 176, 0, 0, 0, 120, 0, 0, 0, 110, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 46, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 159, 0, 0, 0, 114, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 130, 0, 0, 0, 242, 0, 0, 0, 150, 0, 0, 0, 150, 0, 0, 0, 112, 0, 0, +0, 129, 0, 0, 0, 107, 0, 0, 0, 136, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 199, 0, 0, 0, 119, 0, 0, 0, 150, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 169, 0, 0, 0, 82, 0, 0, 0, 224, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 97, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 156, 0, 0, 0, 141, 0, 0, 0, 150, 0, 0, 0, 224, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 93, 0, 0, 0, 135, 0, 0, 0, 40, 0, 0, 0, 95, 0, 0, 0, 152, 0, 0, 0, 112, 0, 0, 0, 241, 0, 0, 0, 121, 0, 0, 0, 123, 0, 0, 0, 237, 0, 0, 0, 79, 0, +0, 0, 68, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 13, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 159, 0, 0, 0, 223, 0, 0, 0, 205, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 51, 0, 0, 0, 202, 0, 0, 0, 109, 0, 0, 0, 137, 0, 0, 0, 185, 0, 0, 0, 119, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, 27, 0, 0, 0, 78, 0, 0, 0, 96, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 79, 0, 0, 0, 252, 0, 0, 0, 82, 0, +0, 0, 120, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 49, 0, 0, 0, 3, 0, 0, 0, 230, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 57, 0, 0, 0, 11, 0, 0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 133, 0, 0, 0, 249, 0, 0, 0, 26, 0, 0, 0, 66, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 57, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 56, 0, 0, 0, 64, 0, 0, 0, 140, 0, 0, 0, 76, 0, 0, 0, 231, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 180, +0, 0, 0, 120, 0, 0, 0, 139, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 222, 0, 0, 0, 122, 0, 0, 0, 107, 0, 0, 0, 206, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, +0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 176, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 81, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 168, 0, 0, 0, 121, 0, 0, 0, 29, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 19, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 100, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 38, 0, 0, 0, 9, 0, 0, 0, 218, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 149, 0, +0, 0, 214, 0, 0, 0, 251, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 110, 0, 0, 0, 94, 0, 0, 0, 18, 0, 0, 0, 241, 0, 0, 0, 153, 0, 0, 0, 76, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 111, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 244, 0, 0, 0, 114, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 249, 0, 0, 0, 234, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, 0, 61, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 73, 0, 0, 0, 162, 0, 0, 0, 93, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 35, 0, +0, 0, 38, 0, 0, 0, 164, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 138, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 26, 0, 0, 0, 191, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 190, 0, 0, 0, 157, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 75, 0, 0, 0, 8, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 160, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 69, 0, 0, 0, 9, 0, 0, 0, 52, 0, 0, 0, 193, 0, 0, 0, 97, 0, 0, 0, 50, 0, 0, 0, 35, 0, 0, +0, 252, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 153, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 208, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 1, 0, 0, 0, 224, 0, 0, 0, 159, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 71, 0, 0, 0, 252, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 23, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 134, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 75, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 58, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, +50, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 53, 0, 0, 0, 233, 0, 0, 0, 202, 0, 0, 0, 22, 0, 0, 0, 95, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 89, 0, 0, 0, 28, 0, 0, 0, 101, 0, 0, 0, 93, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 9, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 156, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 177, 0, 0, 0, 42, 0, 0, 0, 197, 0, 0, 0, 136, 0, 0, 0, 175, 0, 0, 0, 11, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 159, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 214, 0, 0, 0, 183, 0, 0, 0, 127, +0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 101, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 86, 0, 0, 0, 165, 0, 0, 0, 194, 0, 0, 0, 12, 0, 0, 0, 221, 0, 0, 0, 188, 0, 0, 0, 184, 0, 0, 0, 32, 0, 0, 0, 109, 0, 0, 0, 87, 0, 0, 0, 97, 0, 0, 0, 181, 0, 0, 0, 251, 0, 0, 0, 120, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 73, 0, 0, 0, 84, 0, 0, 0, 144, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 233, 0, 0, 0, 230, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 29, 0, 0, 0, 78, 0, 0, 0, 237, 0, 0, 0, 7, 0, 0, 0, 126, 0, 0, 0, +94, 0, 0, 0, 199, 0, 0, 0, 246, 0, 0, 0, 108, 0, 0, 0, 86, 0, 0, 0, 49, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 14, 0, 0, 0, 168, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 154, 0, 0, 0, 61, 0, 0, 0, 27, 0, 0, 0, 125, 0, 0, 0, 14, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 245, 0, 0, 0, 107, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, 81, 0, 0, 0, 92, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 0, 0, 0, 205, 0, 0, 0, 130, 0, 0, 0, 60, 0, 0, 0, 51, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 210, 0, 0, 0, 97, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 112, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, +0, 49, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 132, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 129, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 46, 0, 0, 0, 232, 0, 0, 0, 147, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 247, 0, 0, 0, 156, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 224, 0, 0, 0, 230, 0, 0, 0, 73, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 77, 0, 0, 0, 72, 0, 0, 0, 182, 0, 0, 0, 25, 0, 0, 0, 161, 0, 0, 0, 64, 0, 0, 0, 183, 0, 0, 0, 217, 0, 0, 0, 50, 0, 0, 0, 65, 0, 0, 0, 124, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, +0, 161, 0, 0, 0, 45, 0, 0, 0, 220, 0, 0, 0, 210, 0, 0, 0, 84, 0, 0, 0, 104, 0, 0, 0, 43, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 29, 0, 0, 0, 225, 0, 0, 0, 42, 0, 0, 0, 75, 0, 0, 0, 196, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 188, 0, 0, 0, 122, 0, 0, 0, 179, 0, 0, 0, 203, 0, 0, 0, 200, 0, 0, 0, 182, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 144, 0, 0, 0, 5, 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 58, 0, 0, 0, 17, 0, 0, 0, 107, 0, 0, +0, 61, 0, 0, 0, 193, 0, 0, 0, 39, 0, 0, 0, 243, 0, 0, 0, 89, 0, 0, 0, 67, 0, 0, 0, 149, 0, 0, 0, 144, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 244, 0, 0, 0, 149, 0, 0, 0, 101, 0, 0, 0, 41, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 218, 0, 0, 0, 184, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 126, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 113, 0, 0, 0, 1, 0, 0, 0, 235, 0, 0, 0, 26, 0, 0, 0, 21, 0, 0, 0, 6, 0, 0, 0, 73, 0, 0, 0, 182, 0, 0, 0, 138, 0, 0, 0, +60, 0, 0, 0, 234, 0, 0, 0, 47, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 195, 0, 0, 0, 170, 0, 0, 0, 214, 0, 0, 0, 175, 0, 0, 0, 44, 0, 0, 0, 62, 0, 0, 0, 189, 0, 0, 0, 101, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 75, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 159, 0, 0, 0, 74, 0, 0, 0, 195, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 88, 0, 0, 0, 230, 0, 0, 0, 192, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 129, 0, 0, 0, 154, 0, 0, 0, 122, 0, 0, 0, +243, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 190, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 12, 0, 0, 0, 197, 0, 0, 0, 70, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 172, 0, 0, 0, 15, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 130, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 219, 0, 0, 0, 31, 0, 0, 0, 247, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 188, 0, 0, 0, 210, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 233, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, +0, 132, 0, 0, 0, 61, 0, 0, 0, 40, 0, 0, 0, 198, 0, 0, 0, 252, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 65, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 211, 0, 0, 0, 18, 0, 0, 0, 118, 0, 0, 0, 82, 0, 0, 0, 231, 0, 0, 0, 26, 0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 54, 0, 0, 0, 17, 0, 0, 0, 7, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 15, 0, 0, 0, 249, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 108, +0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 183, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 214, 0, 0, 0, 222, 0, 0, 0, 41, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, +0, 185, 0, 0, 0, 2, 0, 0, 0, 89, 0, 0, 0, 203, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 153, 0, 0, 0, 177, 0, 0, 0, 151, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 82, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 139, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 19, 0, 0, 0, 125, 0, 0, 0, 213, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 128, 0, 0, 0, 32, 0, 0, 0, 149, 0, 0, 0, 195, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, +0, 142, 0, 0, 0, 135, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 122, 0, 0, 0, 199, 0, 0, 0, 204, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 145, 0, 0, 0, 26, 0, 0, 0, 168, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 171, 0, 0, 0, 118, 0, 0, 0, 169, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 201, 0, 0, 0, 177, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 181, 0, 0, 0, 52, 0, 0, 0, 130, 0, 0, 0, 113, 0, 0, 0, 210, 0, +0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 83, 0, 0, 0, 38, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 142, 0, 0, 0, 141, 0, 0, 0, 51, 0, 0, 0, 127, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 23, 0, 0, 0, 137, 0, 0, 0, 175, 0, 0, 0, 246, 0, 0, 0, 164, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 16, 0, 0, 0, 224, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 239, 0, 0, 0, 68, 0, 0, 0, 189, 0, 0, 0, 218, 0, 0, 0, 131, 0, 0, 0, 172, 0, 0, 0, 122, 0, 0, 0, 168, 0, 0, 0, 240, 0, 0, 0, 28, 0, 0, 0, 7, +0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 67, 0, 0, 0, 108, 0, 0, 0, 63, 0, 0, 0, 183, 0, 0, 0, 211, 0, 0, 0, 135, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 19, 0, 0, 0, 47, 0, 0, 0, 113, 0, 0, 0, 236, 0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 208, 0, 0, 0, 66, 0, 0, 0, 238, 0, 0, 0, 19, 0, 0, 0, 236, 0, 0, 0, 227, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 123, 0, 0, 0, 191, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 40, +0, 0, 0, 236, 0, 0, 0, 142, 0, 0, 0, 118, 0, 0, 0, 47, 0, 0, 0, 111, 0, 0, 0, 8, 0, 0, 0, 34, 0, 0, 0, 245, 0, 0, 0, 95, 0, 0, 0, 77, 0, 0, 0, 21, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 87, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 137, 0, 0, 0, 240, 0, 0, 0, 235, 0, 0, 0, 91, 0, 0, 0, 145, 0, 0, 0, 214, 0, 0, 0, 226, 0, 0, 0, 202, 0, 0, 0, 1, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 236, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 51, 0, 0, 0, 144, 0, 0, 0, 90, 0, 0, 0, 148, 0, +0, 0, 114, 0, 0, 0, 138, 0, 0, 0, 75, 0, 0, 0, 231, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 218, 0, 0, 0, 194, 0, 0, 0, 176, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 74, 0, 0, 0, 254, 0, 0, 0, 45, 0, 0, 0, 68, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 107, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 17, 0, 0, 0, 156, 0, 0, 0, 215, 0, 0, 0, 190, 0, 0, 0, 211, 0, 0, 0, 62, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 188, 0, 0, 0, 168, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 137, 0, 0, 0, 40, 0, 0, 0, 34, 0, +0, 0, 106, 0, 0, 0, 120, 0, 0, 0, 170, 0, 0, 0, 41, 0, 0, 0, 3, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 3, 0, 0, 0, 62, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 7, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 162, 0, 0, 0, 32, 0, 0, 0, 45, 0, 0, 0, 179, 0, 0, 0, 24, 0, 0, 0, 112, 0, 0, 0, 66, 0, 0, 0, 253, 0, 0, 0, 122, 0, 0, 0, 196, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 50, 0, 0, 0, 43, 0, 0, 0, 92, 0, 0, 0, 147, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 139, 0, 0, 0, 51, 0, 0, 0, 96, 0, 0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 103, 0, 0, 0, 164, 0, 0, 0, 193, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 155, 0, 0, 0, 167, +0, 0, 0, 169, 0, 0, 0, 244, 0, 0, 0, 217, 0, 0, 0, 79, 0, 0, 0, 91, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 176, 0, 0, 0, 51, 0, 0, 0, 84, 0, 0, 0, 38, 0, 0, 0, 91, 0, 0, 0, 104, 0, 0, 0, 223, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 194, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 193, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 71, 0, 0, 0, 170, 0, 0, 0, 73, 0, 0, 0, 90, 0, 0, 0, 248, 0, 0, 0, 251, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 209, 0, 0, 0, 235, 0, 0, 0, 64, 0, +0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 17, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 209, 0, 0, 0, 68, 0, 0, 0, 104, 0, 0, 0, 122, 0, 0, 0, 52, 0, 0, 0, 225, 0, 0, 0, 159, 0, 0, 0, 163, 0, 0, 0, 84, 0, 0, 0, 205, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 121, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 47, 0, 0, 0, 19, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 162, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 84, 0, 0, 0, 248, 0, 0, 0, 206, +0, 0, 0, 228, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 144, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 146, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 142, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 46, 0, 0, 0, 28, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 35, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 167, 0, 0, 0, 214, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 204, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 167, +0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 52, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 8, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 85, 0, 0, 0, 67, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 214, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 230, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 66, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 99, 0, 0, 0, 226, 0, 0, +0, 146, 0, 0, 0, 89, 0, 0, 0, 209, 0, 0, 0, 26, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 41, 0, 0, 0, 201, 0, 0, 0, 193, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 60, 0, 0, 0, 95, 0, 0, 0, 101, 0, 0, 0, 39, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 114, 0, 0, 0, 177, 0, 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 39, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 72, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 116, 0, 0, 0, 216, 0, 0, 0, 50, 0, 0, 0, 213, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 40, 0, 0, 0, +96, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 55, 0, 0, 0, 181, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 160, 0, 0, 0, 55, 0, 0, 0, 227, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 150, 0, 0, 0, 103, 0, 0, 0, 230, 0, 0, 0, 28, 0, 0, 0, 194, 0, 0, 0, 178, 0, 0, 0, 83, 0, 0, 0, 226, 0, 0, 0, 218, 0, 0, 0, 133, 0, 0, 0, 238, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 89, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 189, 0, 0, 0, 250, 0, 0, 0, 207, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, +0, 218, 0, 0, 0, 164, 0, 0, 0, 179, 0, 0, 0, 2, 0, 0, 0, 143, 0, 0, 0, 100, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 242, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 71, 0, 0, 0, 55, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 138, 0, 0, 0, 32, 0, +0, 0, 186, 0, 0, 0, 74, 0, 0, 0, 85, 0, 0, 0, 215, 0, 0, 0, 63, 0, 0, 0, 71, 0, 0, 0, 186, 0, 0, 0, 37, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 168, 0, 0, 0, 166, 0, 0, 0, 239, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 111, 0, 0, 0, 106, 0, 0, 0, 113, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 118, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 196, 0, 0, 0, 195, 0, 0, 0, 82, 0, 0, 0, 126, 0, 0, 0, 97, 0, 0, 0, 209, 0, 0, 0, 225, 0, +0, 0, 173, 0, 0, 0, 112, 0, 0, 0, 120, 0, 0, 0, 29, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 0, 248, 0, 0, 0, 124, 0, 0, 0, 43, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 248, 0, 0, 0, 245, 0, 0, 0, 22, 0, 0, 0, 52, 0, 0, 0, 150, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 197, 0, 0, 0, 224, 0, 0, 0, 20, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 14, 0, 0, 0, 76, 0, 0, 0, 173, 0, 0, 0, 158, 0, 0, 0, 154, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0].concat([157, +0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 155, 0, 0, 0, 84, 0, 0, 0, 165, 0, 0, 0, 115, 0, 0, 0, 222, 0, 0, 0, 136, 0, 0, 0, 177, 0, 0, 0, 62, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 226, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 91, 0, 0, 0, 178, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 204, 0, 0, 0, 36, 0, 0, 0, 178, 0, 0, 0, 126, 0, 0, 0, 11, 0, 0, 0, 122, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 216, 0, 0, 0, 82, +0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 137, 0, 0, 0, 41, 0, 0, 0, 121, 0, 0, 0, 55, 0, 0, 0, 116, 0, 0, 0, 222, 0, 0, 0, 18, 0, 0, 0, 243, 0, 0, 0, 104, 0, 0, 0, 183, 0, 0, 0, 102, 0, 0, 0, 195, 0, 0, 0, 238, 0, 0, 0, 104, 0, 0, 0, 220, 0, 0, 0, 129, 0, 0, 0, 181, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 171, 0, 0, 0, 217, 0, 0, 0, 40, 0, 0, 0, 99, 0, 0, 0, 109, 0, 0, 0, 139, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 42, 0, 0, 0, 126, 0, 0, 0, 50, 0, 0, 0, +123, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 204, 0, 0, 0, 34, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 25, 0, 0, 0, 7, 0, 0, 0, 192, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 166, 0, 0, 0, 10, 0, 0, 0, 95, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 188, 0, 0, 0, 242, 0, 0, 0, 225, 0, 0, 0, 207, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 181, 0, 0, 0, 154, 0, 0, 0, +140, 0, 0, 0, 154, 0, 0, 0, 221, 0, 0, 0, 39, 0, 0, 0, 244, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 217, 0, 0, 0, 82, 0, 0, 0, 167, 0, 0, 0, 205, 0, 0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 166, 0, 0, 0, 99, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 191, 0, 0, 0, 238, 0, 0, 0, 73, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 100, 0, 0, 0, 139, 0, 0, 0, 96, 0, 0, 0, 144, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 68, 0, 0, +0, 119, 0, 0, 0, 185, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 194, 0, 0, 0, 80, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 223, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, 0, 170, 0, 0, 0, 104, 0, 0, 0, 171, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 62, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 146, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 156, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 74, 0, 0, 0, 49, 0, 0, 0, 236, 0, 0, 0, 249, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 22, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 102, 0, 0, 0, 95, 0, 0, 0, 209, 0, 0, 0, 212, 0, 0, 0, 237, 0, 0, 0, 184, 0, 0, 0, 146, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 218, 0, 0, 0, 234, 0, 0, 0, 217, 0, 0, 0, 87, 0, 0, 0, 223, 0, 0, 0, 76, 0, 0, +0, 42, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 176, 0, 0, 0, 78, 0, 0, 0, 110, 0, 0, 0, 17, 0, 0, 0, 59, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 37, 0, 0, 0, 165, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 63, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 81, 0, 0, 0, 20, 0, 0, 0, 198, 0, 0, 0, 95, 0, 0, 0, 60, 0, 0, 0, 11, 0, 0, 0, 168, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 145, 0, 0, 0, 115, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, +51, 0, 0, 0, 42, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 51, 0, 0, 0, 143, 0, 0, 0, 104, 0, 0, 0, 255, 0, 0, 0, 31, 0, 0, 0, 61, 0, 0, 0, 115, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 204, 0, 0, 0, 125, 0, 0, 0, 19, 0, 0, 0, 108, 0, 0, 0, 36, 0, 0, 0, 75, 0, 0, 0, 204, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 222, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 81, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 224, 0, 0, 0, 110, +0, 0, 0, 155, 0, 0, 0, 234, 0, 0, 0, 104, 0, 0, 0, 63, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 83, 0, 0, 0, 141, 0, 0, 0, 75, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 137, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 186, 0, 0, 0, 134, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 205, 0, 0, 0, 227, 0, 0, 0, 45, 0, 0, 0, 6, 0, 0, 0, 249, 0, 0, 0, 41, 0, 0, 0, 90, 0, 0, 0, 219, 0, 0, 0, 61, 0, 0, 0, 132, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 96, 0, 0, 0, 157, 0, 0, 0, 183, +0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 54, 0, 0, 0, 99, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 151, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 46, 0, 0, 0, 105, 0, 0, 0, 152, 0, 0, 0, 253, 0, 0, 0, 198, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 223, 0, 0, 0, 154, 0, 0, 0, 68, 0, 0, 0, 126, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 109, 0, 0, 0, 191, 0, 0, 0, 39, 0, 0, 0, +194, 0, 0, 0, 248, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 181, 0, 0, 0, 88, 0, 0, 0, 78, 0, 0, 0, 183, 0, 0, 0, 137, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 45, 0, 0, 0, 84, 0, 0, 0, 190, 0, 0, 0, 117, 0, 0, 0, 203, 0, 0, 0, 5, 0, 0, 0, 176, 0, 0, 0, 84, 0, 0, 0, 183, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 134, 0, 0, 0, 74, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 207, 0, 0, 0, 39, 0, 0, 0, 70, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 150, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 213, +0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 113, 0, 0, 0, 197, 0, 0, 0, 93, 0, 0, 0, 200, 0, 0, 0, 175, 0, 0, 0, 69, 0, 0, 0, 64, 0, 0, 0, 123, 0, 0, 0, 119, 0, 0, 0, 87, 0, 0, 0, 73, 0, 0, 0, 158, 0, 0, 0, 128, 0, 0, 0, 57, 0, 0, 0, 35, 0, 0, 0, 238, 0, 0, 0, 129, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 207, 0, 0, 0, 219, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 87, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 30, 0, 0, 0, 119, 0, 0, 0, 252, 0, 0, 0, 11, 0, 0, 0, 166, 0, 0, 0, 191, +0, 0, 0, 138, 0, 0, 0, 12, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 58, 0, 0, 0, 212, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 221, 0, 0, 0, 13, 0, 0, 0, 150, 0, +0, 0, 218, 0, 0, 0, 121, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 21, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 107, 0, 0, 0, 38, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 149, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 10, 0, 0, 0, 197, 0, 0, 0, 8, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 49, 0, 0, 0, 129, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 182, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 218, 0, 0, 0, 61, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 150, 0, +0, 0, 206, 0, 0, 0, 138, 0, 0, 0, 210, 0, 0, 0, 141, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 211, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 144, 0, 0, 0, 141, 0, 0, 0, 16, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 231, 0, 0, 0, 186, 0, 0, 0, 79, 0, 0, 0, 7, 0, 0, 0, 223, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 160, 0, 0, 0, 197, 0, 0, 0, 214, 0, 0, 0, 177, 0, 0, 0, 176, 0, 0, 0, 229, 0, 0, 0, 87, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 245, 0, 0, 0, 69, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 100, 0, +0, 0, 90, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 1, 0, 0, 0, 118, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 12, 0, 0, 0, 194, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 226, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 32, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 249, 0, 0, +0, 26, 0, 0, 0, 200, 0, 0, 0, 125, 0, 0, 0, 216, 0, 0, 0, 185, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0, 0, 193, 0, 0, 0, 202, 0, 0, 0, 220, 0, 0, 0, 211, 0, 0, 0, 241, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 141, 0, 0, 0, 216, 0, 0, 0, 228, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 243, 0, 0, 0, 4, 0, 0, 0, 214, 0, 0, 0, 17, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, +0, 214, 0, 0, 0, 8, 0, 0, 0, 144, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 122, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 51, 0, 0, 0, 45, 0, 0, 0, 55, 0, 0, 0, 201, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 144, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 162, 0, 0, 0, 170, 0, 0, 0, 225, 0, 0, 0, 184, 0, 0, 0, 132, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 105, 0, 0, 0, 107, 0, 0, 0, 219, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 146, 0, 0, 0, 188, +0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 250, 0, 0, 0, 214, 0, 0, 0, 182, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 99, 0, 0, 0, 152, 0, 0, 0, 147, 0, 0, 0, 72, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 187, 0, 0, 0, 24, 0, 0, 0, 52, 0, 0, 0, 195, 0, 0, 0, 219, 0, 0, 0, 103, 0, 0, 0, 150, 0, 0, 0, 243, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 86, 0, 0, 0, 176, 0, 0, 0, 111, 0, 0, 0, 124, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 57, +0, 0, 0, 72, 0, 0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 12, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 122, 0, 0, 0, 202, 0, 0, 0, 231, 0, 0, 0, 146, 0, 0, 0, 252, 0, 0, 0, 89, 0, 0, 0, 48, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 111, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 189, 0, 0, 0, 233, 0, 0, 0, 84, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 155, 0, 0, 0, 67, 0, 0, 0, 213, 0, 0, 0, 113, 0, 0, 0, 34, 0, 0, 0, 95, 0, 0, 0, 220, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 10, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 234, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 144, 0, +0, 0, 80, 0, 0, 0, 175, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 157, 0, 0, 0, 56, 0, 0, 0, 151, 0, 0, 0, 31, 0, 0, 0, 108, 0, 0, 0, 172, 0, 0, 0, 48, 0, 0, 0, 70, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 209, 0, 0, 0, 75, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 218, 0, 0, 0, 46, 0, 0, 0, 171, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 190, 0, 0, 0, 175, 0, 0, 0, 161, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 11, +0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 27, 0, 0, 0, 74, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 220, 0, 0, 0, 184, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 178, 0, 0, 0, 163, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 30, 0, 0, 0, 118, 0, 0, 0, 10, 0, 0, 0, 218, 0, 0, 0, 141, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 4, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, +0, 80, 0, 0, 0, 110, 0, 0, 0, 210, 0, 0, 0, 71, 0, 0, 0, 203, 0, 0, 0, 138, 0, 0, 0, 230, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 36, 0, 0, 0, 243, 0, 0, 0, 210, 0, 0, 0, 96, 0, 0, 0, 253, 0, 0, 0, 223, 0, 0, 0, 115, 0, 0, 0, 164, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 253, 0, 0, 0, 103, 0, 0, 0, 107, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 129, 0, 0, 0, 83, 0, 0, 0, 57, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 184, 0, 0, 0, 213, 0, 0, 0, 195, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 124, 0, +0, 0, 163, 0, 0, 0, 240, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 33, 0, 0, 0, 214, 0, 0, 0, 191, 0, 0, 0, 183, 0, 0, 0, 76, 0, 0, 0, 135, 0, 0, 0, 19, 0, 0, 0, 69, 0, 0, 0, 45, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 40, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 48, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 94, 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 117, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 205, 0, 0, 0, 10, 0, 0, +0, 21, 0, 0, 0, 210, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 119, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 201, 0, 0, 0, 190, 0, 0, 0, 170, 0, 0, 0, 144, 0, 0, 0, 205, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 176, 0, 0, 0, 100, 0, 0, 0, 152, 0, 0, 0, 87, 0, 0, 0, 68, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 234, 0, 0, 0, 193, 0, 0, 0, 195, 0, 0, 0, 34, 0, 0, 0, 255, 0, 0, 0, 96, 0, 0, 0, 70, 0, +0, 0, 203, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 13, 0, 0, 0, 130, 0, 0, 0, 185, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 205, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 12, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 135, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 161, 0, 0, 0, 149, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 189, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 232, 0, 0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 147, 0, 0, 0, 214, 0, 0, 0, 56, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 247, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 239, 0, 0, 0, 125, 0, 0, 0, 66, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 233, 0, 0, 0, 184, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 73, 0, 0, 0, 23, 0, 0, 0, 100, 0, 0, 0, 33, 0, 0, +0, 128, 0, 0, 0, 131, 0, 0, 0, 44, 0, 0, 0, 99, 0, 0, 0, 76, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 89, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 81, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 47, 0, 0, 0, 255, 0, 0, 0, 153, 0, 0, 0, 62, 0, 0, 0, 105, 0, 0, 0, 109, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 231, 0, 0, 0, 91, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 42, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 222, 0, 0, 0, 104, +0, 0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 34, 0, 0, 0, 90, 0, 0, 0, 189, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 75, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 44, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 189, 0, 0, 0, 255, 0, 0, 0, 5, 0, 0, 0, 199, 0, 0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 248, +0, 0, 0, 77, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 121, 0, 0, 0, 130, 0, 0, 0, 231, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 83, 0, 0, 0, 132, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 60, 0, 0, 0, 163, 0, 0, 0, 106, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 179, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 30, 0, 0, 0, 85, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 234, 0, 0, 0, 94, 0, 0, 0, 131, +0, 0, 0, 225, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 51, 0, 0, 0, 62, 0, 0, 0, 131, 0, 0, 0, 255, 0, 0, 0, 203, 0, 0, 0, 28, 0, 0, 0, 159, 0, 0, 0, 177, 0, 0, 0, 163, 0, 0, 0, 180, 0, 0, 0, 201, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 248, 0, 0, 0, 35, 0, 0, 0, 143, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 22, 0, 0, 0, 67, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 2, 0, 0, 0, 247, 0, 0, 0, 129, 0, 0, 0, 67, 0, +0, 0, 131, 0, 0, 0, 163, 0, 0, 0, 32, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, 59, 0, 0, 0, 138, 0, 0, 0, 4, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 198, 0, 0, 0, 15, 0, 0, 0, 200, 0, 0, 0, 223, 0, 0, 0, 215, 0, 0, 0, 250, 0, 0, 0, 47, 0, 0, 0, 136, 0, 0, 0, 63, 0, 0, 0, 252, 0, 0, 0, 12, 0, 0, 0, 118, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 114, 0, 0, 0, 187, 0, 0, 0, 12, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 23, 0, 0, 0, 147, 0, 0, 0, 45, 0, 0, 0, 111, 0, 0, 0, 222, 0, +0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 15, 0, 0, 0, 128, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 39, 0, 0, 0, 212, 0, 0, 0, 171, 0, 0, 0, 221, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 97, 0, 0, 0, 19, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 30, 0, 0, 0, 77, 0, 0, 0, 26, 0, 0, 0, 185, 0, 0, 0, 201, 0, 0, 0, 16, 0, 0, 0, 251, 0, 0, 0, 30, 0, 0, 0, 78, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 75, 0, 0, 0, 138, 0, 0, 0, 94, 0, 0, 0, 123, 0, 0, 0, 75, 0, 0, 0, 232, 0, 0, 0, 67, 0, 0, 0, +140, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 84, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 182, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 157, 0, 0, 0, 228, 0, 0, 0, 91, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 125, 0, +0, 0, 18, 0, 0, 0, 72, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 66, 0, 0, 0, 205, 0, 0, 0, 50, 0, 0, 0, 212, 0, 0, 0, 75, 0, 0, 0, 193, 0, 0, 0, 114, 0, 0, 0, 97, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 236, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 36, 0, 0, 0, 69, 0, 0, 0, 148, 0, 0, 0, 227, 0, 0, 0, 190, 0, 0, 0, 221, 0, 0, 0, 103, 0, 0, 0, 168, 0, 0, 0, 119, 0, 0, 0, 90, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 203, 0, 0, 0, 119, 0, 0, 0, 154, 0, 0, 0, 32, 0, 0, 0, 222, 0, 0, 0, 184, 0, 0, 0, 35, 0, +0, 0, 217, 0, 0, 0, 160, 0, 0, 0, 15, 0, 0, 0, 140, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 203, 0, 0, 0, 174, 0, 0, 0, 182, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 14, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 117, 0, 0, 0, 152, 0, 0, 0, 33, 0, 0, 0, 113, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 224, 0, 0, 0, 118, 0, 0, 0, 148, 0, 0, 0, 115, 0, 0, 0, 223, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 40, 0, 0, 0, 35, 0, 0, 0, 63, 0, 0, 0, 91, 0, 0, 0, 248, 0, 0, 0, 59, 0, 0, 0, 36, 0, 0, 0, 55, 0, 0, 0, 243, +0, 0, 0, 29, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 168, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 255, 0, 0, 0, 6, 0, 0, 0, 225, 0, 0, 0, 19, 0, 0, 0, 223, 0, 0, 0, 185, 0, 0, 0, 193, 0, 0, 0, 12, 0, 0, 0, 169, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 217, 0, 0, 0, 129, 0, 0, 0, 218, 0, 0, 0, 178, 0, 0, 0, 79, 0, 0, 0, 130, 0, 0, 0, 157, 0, 0, 0, 67, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 210, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 45, +0, 0, 0, 125, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 255, 0, 0, 0, 165, 0, 0, 0, 159, 0, 0, 0, 229, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 99, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 199, 0, 0, 0, 77, 0, 0, 0, 135, 0, 0, 0, 148, 0, 0, 0, 234, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 76, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 14, +0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 231, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 16, 0, 0, 0, 3, 0, 0, 0, 199, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 251, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 51, 0, 0, 0, 107, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 43, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 108, 0, 0, 0, 112, 0, 0, 0, 71, 0, 0, 0, 126, 0, 0, 0, 206, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 113, 0, 0, 0, 243, 0, 0, 0, 180, 0, 0, 0, 86, 0, 0, 0, 166, 0, 0, 0, 220, 0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 7, +0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 221, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 192, 0, 0, 0, 43, 0, 0, 0, 34, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 53, 0, 0, 0, 156, 0, 0, 0, 122, 0, 0, 0, 1, 0, 0, 0, 146, 0, 0, 0, 68, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 2, 0, 0, 0, 237, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 52, 0, 0, 0, 41, 0, 0, 0, 73, 0, 0, 0, 68, +0, 0, 0, 69, 0, 0, 0, 98, 0, 0, 0, 29, 0, 0, 0, 46, 0, 0, 0, 255, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 33, 0, 0, 0, 164, 0, 0, 0, 37, 0, 0, 0, 123, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 21, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 143, 0, 0, 0, 124, 0, 0, 0, 165, 0, 0, 0, 125, 0, 0, 0, 30, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 211, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 156, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 209, 0, 0, 0, 6, 0, 0, 0, 213, 0, 0, 0, 196, 0, 0, 0, 127, 0, 0, 0, 148, 0, 0, 0, 187, 0, 0, 0, 146, 0, 0, +0, 45, 0, 0, 0, 44, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 233, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 107, 0, 0, 0, 43, 0, 0, 0, 210, 0, 0, 0, 12, 0, 0, 0, 136, 0, 0, 0, 197, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 13, 0, 0, 0, 74, 0, 0, 0, 201, 0, 0, 0, 82, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 121, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 243, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 214, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, +14, 0, 0, 0, 78, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 46, 0, 0, 0, 66, 0, 0, 0, 203, 0, 0, 0, 31, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 62, 0, 0, 0, 158, 0, 0, 0, 82, 0, 0, 0, 96, 0, 0, 0, 183, 0, 0, 0, 194, 0, 0, 0, 97, 0, 0, 0, 87, 0, 0, 0, 140, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 24, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 252, 0, 0, 0, 183, 0, 0, 0, 117, 0, 0, 0, 145, 0, 0, 0, 27, 0, 0, 0, 232, +0, 0, 0, 104, 0, 0, 0, 202, 0, 0, 0, 68, 0, 0, 0, 200, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, 0, 204, 0, 0, 0, 83, 0, 0, 0, 10, 0, 0, 0, 50, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 82, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 236, 0, 0, 0, 61, 0, 0, 0, 133, 0, 0, 0, 204, 0, 0, 0, 88, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 71, 0, 0, 0, 255, 0, 0, 0, 159, 0, 0, 0, 165, 0, 0, 0, 48, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 174, 0, 0, 0, 200, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 117, +0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, 14, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 115, 0, 0, 0, 160, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 54, 0, 0, 0, 108, 0, 0, 0, 91, 0, 0, 0, 242, 0, 0, 0, 238, 0, 0, 0, 100, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 137, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 140, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 176, 0, 0, 0, 193, 0, 0, 0, 165, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 173, 0, 0, 0, 121, 0, 0, +0, 156, 0, 0, 0, 86, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 193, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 57, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 191, 0, 0, 0, 7, 0, 0, 0, 27, 0, 0, 0, 130, 0, 0, 0, 41, 0, 0, 0, 105, 0, 0, 0, 149, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 86, 0, 0, 0, 158, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 86, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 77, 0, 0, 0, 152, 0, 0, 0, 49, 0, 0, 0, 30, 0, 0, 0, 96, 0, 0, +0, 77, 0, 0, 0, 135, 0, 0, 0, 133, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 18, 0, 0, 0, 249, 0, 0, 0, 142, 0, 0, 0, 127, 0, 0, 0, 228, 0, 0, 0, 127, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 1, 0, 0, 0, 115, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 196, 0, 0, 0, 233, 0, 0, 0, 108, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 74, 0, 0, 0, 90, 0, 0, 0, 172, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 98, 0, 0, 0, 91, 0, 0, 0, 238, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, +51, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 206, 0, 0, 0, 97, 0, 0, 0, 6, 0, 0, 0, 53, 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 202, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 211, 0, 0, 0, 174, 0, 0, 0, 166, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 205, +0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 167, 0, 0, 0, 210, 0, 0, 0, 39, 0, 0, 0, 233, 0, 0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 22, 0, 0, 0, 91, 0, 0, 0, 132, 0, 0, 0, 128, 0, 0, 0, 249, 0, 0, 0, 208, 0, 0, 0, 204, 0, 0, 0, 106, 0, 0, 0, 30, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 123, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 210, 0, 0, 0, 135, 0, 0, 0, 72, 0, 0, 0, 255, 0, 0, 0, 161, 0, 0, 0, 202, 0, 0, 0, 233, 0, 0, 0, 21, 0, 0, 0, +133, 0, 0, 0, 220, 0, 0, 0, 219, 0, 0, 0, 44, 0, 0, 0, 57, 0, 0, 0, 18, 0, 0, 0, 145, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 41, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 210, 0, 0, 0, 245, 0, 0, 0, 50, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 229, 0, 0, 0, 16, 0, 0, 0, 71, 0, 0, 0, 59, 0, 0, 0, 250, 0, 0, 0, 144, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 14, 0, 0, 0, 167, 0, 0, 0, +59, 0, 0, 0, 200, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 2, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 148, 0, 0, 0, 147, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 224, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 90, 0, 0, 0, 99, 0, 0, 0, 103, 0, 0, 0, 225, 0, 0, 0, 155, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 56, 0, 0, 0, 121, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 29, 0, 0, 0, 94, 0, 0, 0, 81, 0, 0, 0, 238, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 232, 0, 0, 0, 88, 0, 0, 0, 75, +0, 0, 0, 138, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 134, 0, 0, 0, 226, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 117, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 255, 0, 0, 0, 216, 0, 0, 0, 221, 0, 0, 0, 214, 0, 0, 0, 55, 0, 0, 0, 87, 0, 0, 0, 157, 0, 0, 0, 109, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 213, 0, 0, 0, 96, 0, 0, 0, 136, 0, 0, 0, 101, 0, 0, 0, 154, 0, 0, 0, 185, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 132, 0, 0, 0, 162, 0, 0, 0, 103, 0, 0, 0, 221, 0, 0, 0, +23, 0, 0, 0, 37, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 22, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 144, 0, 0, 0, 14, 0, 0, 0, 171, 0, 0, 0, 207, 0, 0, 0, 138, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 248, 0, 0, 0, 67, 0, 0, 0, 91, 0, 0, 0, 186, 0, 0, 0, 45, 0, 0, 0, 235, 0, 0, 0, 47, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 90, +0, 0, 0, 64, 0, 0, 0, 180, 0, 0, 0, 171, 0, 0, 0, 230, 0, 0, 0, 173, 0, 0, 0, 159, 0, 0, 0, 70, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 179, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 234, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 32, 0, 0, 0, 22, 0, 0, 0, 93, 0, 0, 0, 140, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 29, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 189, 0, 0, 0, 144, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 19, 0, 0, 0, 59, 0, 0, 0, 84, 0, 0, 0, 220, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0, 24, +0, 0, 0, 190, 0, 0, 0, 53, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 82, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 5, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 168, 0, 0, 0, 187, 0, 0, 0, 178, 0, 0, 0, 23, 0, 0, 0, 72, 0, 0, 0, 178, 0, 0, 0, 122, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 136, 0, 0, 0, 227, 0, 0, 0, 145, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 187, 0, 0, 0, 138, 0, 0, 0, 39, 0, 0, 0, 130, 0, 0, 0, 81, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 166, 0, 0, 0, 169, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 89, 0, 0, 0, 34, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, +0, 69, 0, 0, 0, 203, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 24, 0, 0, 0, 51, 0, 0, 0, 124, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 244, 0, 0, 0, 250, 0, 0, 0, 131, 0, 0, 0, 227, 0, 0, 0, 165, 0, 0, 0, 121, 0, 0, 0, 102, 0, 0, 0, 115, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 35, 0, 0, 0, 104, 0, 0, 0, 194, 0, 0, 0, 96, 0, 0, 0, 221, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, 0, 220, 0, 0, 0, 3, 0, 0, 0, 122, 0, 0, 0, 224, 0, 0, 0, 224, 0, 0, 0, 62, 0, 0, +0, 52, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 251, 0, 0, 0, 192, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 84, 0, 0, 0, 88, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 129, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 37, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0]).concat([233, 0, 0, 0, 150, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 245, 0, 0, 0, 237, 0, 0, 0, 149, 0, 0, 0, 17, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 18, 0, 0, 0, 151, +0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 254, 0, 0, 0, 62, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 166, 0, 0, 0, 240, 0, 0, 0, 117, 0, 0, 0, 126, 0, 0, 0, 232, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 33, 0, 0, 0, 9, 0, 0, 0, 103, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 209, 0, 0, 0, 203, 0, 0, 0, 27, 0, 0, 0, 8, 0, 0, 0, 158, 0, 0, 0, 156, 0, 0, 0, 183, +0, 0, 0, 83, 0, 0, 0, 185, 0, 0, 0, 59, 0, 0, 0, 113, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 18, 0, 0, 0, 26, 0, 0, 0, 88, 0, 0, 0, 175, 0, 0, 0, 126, 0, 0, 0, 130, 0, 0, 0, 82, 0, 0, 0, 67, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 147, 0, 0, 0, 26, 0, 0, 0, 38, 0, 0, 0, 5, 0, 0, 0, 110, 0, 0, 0, 68, 0, 0, 0, 163, 0, 0, 0, 249, 0, 0, 0, 100, 0, 0, 0, 175, 0, 0, 0, 231, 0, 0, 0, 109, 0, 0, 0, 125, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 234, 0, 0, 0, 59, 0, 0, +0, 95, 0, 0, 0, 155, 0, 0, 0, 232, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 46, 0, 0, 0, 62, 0, 0, 0, 223, 0, 0, 0, 169, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 80, 0, 0, 0, 113, 0, 0, 0, 240, 0, 0, 0, 120, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 56, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 177, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 23, 0, 0, 0, 196, 0, 0, 0, 84, 0, 0, 0, 39, 0, 0, 0, +220, 0, 0, 0, 93, 0, 0, 0, 170, 0, 0, 0, 221, 0, 0, 0, 65, 0, 0, 0, 188, 0, 0, 0, 223, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 195, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 109, 0, 0, 0, 179, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 204, 0, 0, 0, 145, 0, 0, 0, 184, 0, 0, 0, 149, 0, 0, 0, 5, 0, 0, 0, 223, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 87, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 81, 0, 0, 0, 173, 0, 0, 0, 140, 0, 0, 0, 56, 0, 0, 0, 123, 0, 0, 0, 200, 0, 0, +0, 222, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 190, 0, 0, 0, 161, 0, 0, 0, 176, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 29, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 32, 0, 0, 0, 238, 0, 0, 0, 66, 0, 0, 0, 235, 0, 0, 0, 56, 0, 0, 0, 237, +0, 0, 0, 11, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 94, 0, 0, 0, 107, 0, 0, 0, 30, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 26, 0, 0, 0, 204, 0, 0, 0, 5, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 56, 0, 0, 0, 225, 0, 0, 0, 31, 0, 0, 0, 80, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 28, 0, 0, 0, 145, 0, 0, 0, 230, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 142, 0, 0, 0, 85, 0, 0, 0, 26, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 102, 0, 0, 0, 175, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, +0, 15, 0, 0, 0, 174, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 202, 0, 0, 0, 130, 0, 0, 0, 88, 0, 0, 0, 33, 0, 0, 0, 156, 0, 0, 0, 24, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 236, 0, 0, 0, 34, 0, 0, 0, 128, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 59, 0, 0, 0, 10, 0, 0, 0, 57, 0, 0, 0, 29, 0, 0, 0, 106, 0, 0, 0, 21, 0, 0, 0, 87, 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 99, 0, 0, 0, 84, 0, 0, 0, 219, 0, 0, 0, 57, 0, 0, 0, 219, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 100, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 9, 0, 0, 0, +79, 0, 0, 0, 59, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 96, 0, 0, 0, 153, 0, 0, 0, 148, 0, 0, 0, 253, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 90, 0, 0, 0, 68, 0, 0, 0, 241, 0, 0, 0, 85, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 234, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 253, 0, 0, 0, 201, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 79, 0, 0, 0, 90, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, +198, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 58, 0, 0, 0, 120, 0, 0, 0, 82, 0, 0, 0, 135, 0, 0, 0, 201, 0, 0, 0, 151, 0, 0, 0, 99, 0, 0, 0, 177, 0, 0, 0, 221, 0, 0, 0, 84, 0, 0, 0, 95, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 166, 0, 0, 0, 168, 0, 0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 130, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 221, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 135, 0, 0, 0, 8, 0, 0, 0, 23, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, +0, 42, 0, 0, 0, 161, 0, 0, 0, 12, 0, 0, 0, 243, 0, 0, 0, 8, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 36, 0, 0, 0, 30, 0, 0, 0, 131, 0, 0, 0, 167, 0, 0, 0, 223, 0, 0, 0, 145, 0, 0, 0, 202, 0, 0, 0, 189, 0, 0, 0, 105, 0, 0, 0, 71, 0, 0, 0, 141, 0, 0, 0, 27, 0, 0, 0, 226, 0, 0, 0, 185, 0, 0, 0, 78, 0, 0, 0, 181, 0, 0, 0, 225, 0, 0, 0, 118, 0, 0, 0, 179, 0, 0, 0, 28, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 206, 0, 0, 0, 95, 0, 0, 0, 179, 0, 0, 0, 90, 0, 0, 0, 29, 0, 0, 0, 218, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, +0, 3, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 104, 0, 0, 0, 24, 0, 0, 0, 239, 0, 0, 0, 178, 0, 0, 0, 28, 0, 0, 0, 132, 0, 0, 0, 59, 0, 0, 0, 162, 0, 0, 0, 68, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 4, 0, 0, 0, 59, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 125, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 206, 0, 0, 0, 114, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 132, 0, 0, 0, 178, 0, 0, 0, 125, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, +190, 0, 0, 0, 87, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 237, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 25, 0, 0, 0, 214, 0, 0, 0, 188, 0, 0, 0, 21, 0, 0, 0, 121, 0, 0, 0, 100, 0, 0, 0, 210, 0, 0, 0, 24, 0, 0, 0, 227, 0, 0, 0, 32, 0, 0, 0, 103, 0, 0, 0, 58, 0, 0, 0, 84, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 253, 0, 0, 0, 4, 0, 0, 0, 197, 0, 0, 0, 251, 0, 0, 0, 153, 0, 0, 0, 231, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 3, 0, 0, 0, 239, 0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 158, 0, 0, 0, 77, 0, 0, 0, 247, 0, 0, 0, 128, 0, 0, 0, 207, 0, 0, 0, 46, 0, 0, 0, 204, 0, 0, 0, 155, 0, 0, 0, 69, 0, 0, 0, 201, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 188, 0, 0, 0, 55, 0, 0, 0, 168, 0, 0, 0, +82, 0, 0, 0, 150, 0, 0, 0, 17, 0, 0, 0, 65, 0, 0, 0, 138, 0, 0, 0, 71, 0, 0, 0, 145, 0, 0, 0, 254, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 84, 0, 0, 0, 99, 0, 0, 0, 209, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 140, 0, 0, 0, 169, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 242, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 133, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 205, 0, 0, 0, 243, 0, 0, 0, 134, 0, 0, 0, 64, +0, 0, 0, 230, 0, 0, 0, 57, 0, 0, 0, 66, 0, 0, 0, 149, 0, 0, 0, 214, 0, 0, 0, 203, 0, 0, 0, 69, 0, 0, 0, 26, 0, 0, 0, 32, 0, 0, 0, 200, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 50, 0, 0, 0, 105, 0, 0, 0, 4, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 32, 0, 0, 0, 70, 0, 0, 0, 199, 0, 0, 0, 107, 0, 0, 0, 35, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 112, 0, 0, 0, 131, 0, 0, 0, 71, 0, 0, 0, 192, 0, 0, 0, 219, 0, 0, 0, 85, 0, 0, 0, 8, 0, 0, 0, 168, 0, 0, 0, 123, 0, 0, 0, 24, 0, 0, +0, 109, 0, 0, 0, 245, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 12, 0, 0, 0, 74, 0, 0, 0, 140, 0, 0, 0, 96, 0, 0, 0, 174, 0, 0, 0, 174, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 85, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 29, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 136, 0, 0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 120, 0, 0, 0, 10, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 220, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 141, 0, 0, 0, +127, 0, 0, 0, 239, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 63, 0, 0, 0, 204, 0, 0, 0, 162, 0, 0, 0, 116, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 146, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 219, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 24, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 171, 0, 0, 0, 3, 0, 0, 0, 236, 0, 0, 0, 206, 0, 0, 0, 193, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, +248, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 165, 0, 0, 0, 229, 0, 0, 0, 12, 0, 0, 0, 58, 0, 0, 0, 168, 0, 0, 0, 85, 0, 0, 0, 185, 0, 0, 0, 255, 0, 0, 0, 104, 0, 0, 0, 228, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 48, 0, 0, 0, 125, 0, 0, 0, 48, 0, 0, 0, 53, 0, 0, 0, 194, 0, 0, 0, 120, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 252, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 195, 0, 0, 0, 183, 0, 0, 0, 101, 0, 0, 0, 216, 0, 0, 0, 46, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 12, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 18, 0, 0, +0, 170, 0, 0, 0, 214, 0, 0, 0, 79, 0, 0, 0, 197, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 14, 0, 0, 0, 226, 0, 0, 0, 60, 0, 0, 0, 118, 0, 0, 0, 134, 0, 0, 0, 56, 0, 0, 0, 242, 0, 0, 0, 123, 0, 0, 0, 44, 0, 0, 0, 22, 0, 0, 0, 120, 0, 0, 0, 141, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 21, 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 133, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 29, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 253, 0, 0, 0, 64, 0, 0, 0, 239, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 161, 0, +0, 0, 179, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 122, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 62, 0, 0, 0, 161, 0, 0, 0, 120, +0, 0, 0, 206, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 35, 0, 0, 0, 219, 0, 0, 0, 125, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 141, 0, 0, 0, 220, 0, 0, 0, 48, 0, 0, 0, 103, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 109, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 25, 0, 0, 0, 68, 0, 0, 0, 140, 0, 0, 0, 74, 0, 0, 0, 139, 0, 0, 0, 62, 0, 0, 0, 251, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 166, 0, +0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 239, 0, 0, 0, 207, 0, 0, 0, 217, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 208, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 235, 0, 0, 0, 4, 0, 0, 0, 164, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 113, 0, 0, 0, 39, 0, 0, 0, 149, 0, 0, 0, 133, 0, 0, 0, 93, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 200, 0, 0, 0, 174, 0, 0, 0, 106, 0, 0, 0, 125, 0, 0, 0, 162, 0, 0, 0, 33, 0, 0, 0, 202, 0, 0, 0, 206, 0, 0, 0, 56, 0, 0, 0, 171, +0, 0, 0, 15, 0, 0, 0, 208, 0, 0, 0, 213, 0, 0, 0, 43, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 103, 0, 0, 0, 12, 0, 0, 0, 241, 0, 0, 0, 58, 0, 0, 0, 154, 0, 0, 0, 234, 0, 0, 0, 9, 0, 0, 0, 57, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 51, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 197, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 127, 0, 0, 0, 84, 0, 0, 0, 128, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 246, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 115, 0, +0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 182, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 247, 0, 0, 0, 240, 0, 0, 0, 189, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 95, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 127, 0, 0, 0, 179, 0, 0, 0, 85, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 201, 0, 0, 0, 68, 0, 0, 0, 85, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 150, 0, 0, 0, 152, 0, 0, 0, 100, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 176, 0, 0, 0, 139, 0, 0, 0, 170, 0, 0, 0, 30, +0, 0, 0, 236, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 143, 0, 0, 0, 31, 0, 0, 0, 146, 0, 0, 0, 4, 0, 0, 0, 198, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 223, 0, 0, 0, 161, 0, 0, 0, 204, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 245, 0, 0, 0, 14, 0, 0, 0, 156, 0, 0, 0, 87, 0, 0, 0, 220, 0, 0, 0, 227, 0, 0, 0, 187, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 30, 0, 0, 0, 254, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 216, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 22, 0, 0, 0, 234, 0, 0, 0, 32, 0, 0, 0, 241, 0, 0, 0, 211, 0, 0, 0, 104, +0, 0, 0, 143, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 169, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 54, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 136, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 213, 0, 0, 0, 166, 0, 0, 0, 243, 0, 0, 0, 220, 0, 0, 0, 56, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 31, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 218, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 72, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 35, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 174, 0, 0, 0, 248, 0, +0, 0, 140, 0, 0, 0, 252, 0, 0, 0, 221, 0, 0, 0, 166, 0, 0, 0, 116, 0, 0, 0, 55, 0, 0, 0, 101, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 142, 0, 0, 0, 159, 0, 0, 0, 100, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 185, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 114, 0, 0, 0, 184, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 60, 0, 0, 0, 111, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 46, 0, 0, 0, 12, 0, 0, 0, 96, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 132, 0, 0, 0, 52, 0, 0, 0, 85, 0, 0, 0, 137, 0, 0, 0, 89, 0, 0, 0, 52, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 141, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 248, 0, 0, 0, 171, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, +0, 68, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 117, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 111, 0, 0, 0, 208, 0, 0, 0, 84, 0, 0, 0, 46, 0, 0, 0, 99, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 201, 0, 0, 0, 148, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 206, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 104, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 116, 0, 0, 0, 28, 0, 0, 0, 20, 0, 0, 0, 155, 0, 0, 0, 212, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 113, 0, 0, 0, 90, 0, 0, +0, 182, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 79, 0, 0, 0, 247, 0, 0, 0, 142, 0, 0, 0, 186, 0, 0, 0, 165, 0, 0, 0, 72, 0, 0, 0, 154, 0, 0, 0, 199, 0, 0, 0, 250, 0, 0, 0, 154, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 98, 0, 0, 0, 173, 0, 0, 0, 242, 0, 0, 0, 94, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 26, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 175, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 89, 0, 0, 0, 206, 0, 0, 0, 99, 0, 0, 0, 210, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 205, 0, 0, +0, 33, 0, 0, 0, 12, 0, 0, 0, 173, 0, 0, 0, 68, 0, 0, 0, 165, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 128, 0, 0, 0, 17, 0, 0, 0, 2, 0, 0, 0, 155, 0, 0, 0, 12, 0, 0, 0, 229, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 21, 0, 0, 0, 190, 0, 0, 0, 154, 0, 0, 0, 13, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 245, 0, 0, 0, 190, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 12, 0, 0, 0, 56, 0, +0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 134, 0, 0, 0, 59, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 206, 0, 0, 0, 33, 0, 0, 0, 125, 0, 0, 0, 108, 0, 0, 0, 186, 0, 0, 0, 20, 0, 0, 0, 197, 0, 0, 0, 234, 0, 0, 0, 18, 0, 0, 0, 158, 0, 0, 0, 46, 0, 0, 0, 130, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 155, 0, 0, 0, 74, 0, 0, 0, 231, 0, 0, 0, 29, 0, 0, 0, 236, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 28, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 105, 0, 0, 0, 21, 0, 0, +0, 66, 0, 0, 0, 157, 0, 0, 0, 163, 0, 0, 0, 63, 0, 0, 0, 14, 0, 0, 0, 191, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 244, 0, 0, 0, 189, 0, 0, 0, 238, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 18, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 212, 0, 0, 0, 47, 0, 0, 0, 144, 0, 0, 0, 55, 0, 0, 0, 50, 0, 0, 0, 195, 0, 0, 0, 11, 0, 0, 0, 115, 0, 0, 0, 236, 0, 0, 0, 151, 0, 0, 0, 133, 0, 0, 0, 164, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 53, 0, 0, 0, 254, 0, 0, +0, 117, 0, 0, 0, 221, 0, 0, 0, 113, 0, 0, 0, 17, 0, 0, 0, 164, 0, 0, 0, 136, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 83, 0, 0, 0, 105, 0, 0, 0, 59, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 173, 0, 0, 0, 78, 0, 0, 0, 129, 0, 0, 0, 95, 0, 0, 0, 181, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 190, 0, 0, 0, 103, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 52, 0, 0, 0, 142, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 178, 0, 0, 0, 200, 0, 0, 0, 155, 0, 0, 0, 88, 0, 0, 0, 197, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 45, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 130, 0, 0, 0, 140, 0, 0, 0, +242, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 78, 0, 0, 0, 115, 0, 0, 0, 214, 0, 0, 0, 11, 0, 0, 0, 107, 0, 0, 0, 13, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 92, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 143, 0, 0, 0, 233, 0, 0, 0, 125, 0, 0, 0, 153, 0, 0, 0, 250, 0, 0, 0, 211, 0, 0, 0, 171, 0, 0, 0, 188, 0, 0, 0, 199, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 4, 0, 0, 0, 127, 0, 0, +0, 12, 0, 0, 0, 25, 0, 0, 0, 67, 0, 0, 0, 3, 0, 0, 0, 61, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 64, 0, 0, 0, 249, 0, 0, 0, 200, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 22, 0, 0, 0, 129, 0, 0, 0, 57, 0, 0, 0, 150, 0, 0, 0, 246, 0, 0, 0, 23, 0, 0, 0, 88, 0, 0, 0, 200, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 251, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 69, 0, 0, 0, 210, 0, 0, 0, 82, 0, 0, 0, 118, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, 0, 136, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 90, +0, 0, 0, 84, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 103, 0, 0, 0, 21, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 131, 0, 0, 0, 105, 0, 0, 0, 30, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 177, 0, 0, 0, 96, 0, 0, 0, 224, 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 189, 0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 189, 0, 0, 0, 205, 0, 0, 0, 6, 0, 0, 0, 100, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 250, 0, 0, 0, 140, +0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 222, 0, 0, 0, 149, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 117, 0, 0, 0, 22, 0, 0, 0, 43, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 253, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 233, 0, 0, 0, 112, 0, 0, 0, 57, 0, 0, 0, 118, 0, 0, 0, 151, 0, 0, 0, 126, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 20, 0, 0, 0, 161, 0, 0, 0, 124, 0, 0, 0, 208, 0, 0, 0, 121, +0, 0, 0, 110, 0, 0, 0, 216, 0, 0, 0, 138, 0, 0, 0, 165, 0, 0, 0, 109, 0, 0, 0, 140, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 63, 0, 0, 0, 236, 0, 0, 0, 68, 0, 0, 0, 141, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 1, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 238, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 180, 0, 0, 0, 133, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 58, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 228, 0, 0, 0, 17, 0, 0, 0, 87, 0, 0, 0, 35, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 126, +0, 0, 0, 205, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 159, 0, 0, 0, 32, 0, 0, 0, 206, 0, 0, 0, 160, 0, 0, 0, 115, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 248, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 38, 0, 0, 0, 13, 0, 0, 0, 111, 0, 0, 0, 72, 0, 0, 0, 127, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 176, 0, 0, 0, 31, 0, 0, 0, 79, 0, 0, 0, 168, 0, 0, 0, 2, 0, +0, 0, 98, 0, 0, 0, 39, 0, 0, 0, 138, 0, 0, 0, 80, 0, 0, 0, 141, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 108, 0, 0, 0, 212, 0, 0, 0, +47, 0, 0, 0, 15, 0, 0, 0, 105, 0, 0, 0, 15, 0, 0, 0, 135, 0, 0, 0, 63, 0, 0, 0, 97, 0, 0, 0, 101, 0, 0, 0, 30, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 2, 0, 0, 0, 48, 0, 0, 0, 172, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 226, 0, 0, 0, 98, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 233, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 239, 0, 0, 0, 106, 0, 0, 0, 66, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 46, 0, 0, 0, 172, 0, 0, 0, 209, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 82, 0, 0, 0, 50, 0, +0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 84, 0, 0, 0, 247, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 78, 0, 0, 0, 251, 0, 0, 0, 2, 0, 0, 0, 176, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 245, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 34, 0, 0, 0, 125, 0, 0, 0, 128, 0, 0, 0, 8, 0, 0, 0, 83, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 177, 0, 0, 0, 161, 0, 0, +0, 138, 0, 0, 0, 116, 0, 0, 0, 111, 0, 0, 0, 189, 0, 0, 0, 63, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 96, 0, 0, 0, 175, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 70, 0, 0, 0, 163, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 135, 0, 0, 0, 68, 0, 0, 0, 99, 0, 0, 0, 102, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 110, 0, 0, 0, 85, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 62, 0, 0, 0, 53, 0, 0, 0, 80, 0, 0, 0, 191, 0, 0, 0, 147, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, +0, 139, 0, 0, 0, 5, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 190, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 97, 0, 0, 0, 236, 0, 0, 0, 232, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 46, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 100, 0, 0, 0, 248, 0, 0, 0, 219, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 220, 0, 0, 0, 196, 0, 0, 0, 213, 0, 0, 0, 98, 0, 0, 0, 60, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 209, 0, 0, 0, +87, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 252, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 33, 0, 0, 0, 65, 0, 0, 0, 83, 0, 0, 0, 187, 0, 0, 0, 23, 0, 0, 0, 121, 0, 0, 0, 13, 0, 0, 0, 209, 0, 0, 0, 168, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 32, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 132, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 17, 0, 0, 0, 103, 0, 0, 0, 122, 0, 0, 0, 139, 0, 0, 0, 26, 0, 0, 0, 228, 0, 0, 0, +93, 0, 0, 0, 225, 0, 0, 0, 93, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 254, 0, 0, 0, 101, 0, 0, 0, 59, 0, 0, 0, 37, 0, 0, 0, 232, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 190, 0, 0, 0, 152, 0, 0, 0, 10, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 146, 0, 0, 0, 230, 0, 0, 0, 158, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 202, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 89, 0, 0, 0, 224, 0, 0, 0, 181, 0, 0, +0, 0, 0, 0, 0, 29, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 175, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 47, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 254, 0, 0, 0, 174, 0, 0, 0, 58, 0, 0, 0, 238, 0, 0, 0, 219, 0, 0, 0, 124, 0, 0, 0, 97, 0, 0, 0, 190, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 82, 0, 0, 0, 163, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 175, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 70, 0, 0, 0, 99, 0, 0, 0, 172, 0, 0, 0, 164, 0, 0, 0, 119, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 56, 0, 0, 0, 224, 0, 0, 0, 21, 0, 0, 0, 168, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 206, 0, 0, 0, 81, 0, +0, 0, 1, 0, 0, 0, 169, 0, 0, 0, 188, 0, 0, 0, 15, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 249, 0, 0, 0, 128, 0, 0, 0, 7, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 179, 0, 0, 0, 233, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 61, 0, 0, 0, 42, 0, 0, 0, 124, 0, 0, 0, 233, 0, 0, 0, 228, 0, 0, 0, 22, 0, 0, 0, 92, 0, 0, 0, 94, 0, 0, 0, 101, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, +70, 0, 0, 0, 114, 0, 0, 0, 2, 0, 0, 0, 162, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 11, 0, 0, 0, 62, 0, 0, 0, 235, 0, 0, 0, 53, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 126, 0, 0, 0, 219, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 138, 0, 0, 0, 160, 0, 0, 0, 180, 0, 0, 0, 207, 0, 0, 0, 96, 0, 0, 0, 75, 0, 0, 0, 212, 0, 0, 0, 213, 0, 0, 0, 249, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 136, 0, 0, 0, 189, 0, 0, 0, 34, 0, 0, 0, 98, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 228, 0, 0, 0, +130, 0, 0, 0, 87, 0, 0, 0, 250, 0, 0, 0, 30, 0, 0, 0, 143, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 186, 0, 0, 0, 8, 0, 0, 0, 182, 0, 0, 0, 16, 0, 0, 0, 84, 0, 0, 0, 79, 0, 0, 0, 124, 0, 0, 0, 27, 0, 0, 0, 38, 0, 0, 0, 237, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 37, 0, 0, 0, 208, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 66, 0, 0, 0, 187, 0, 0, 0, 37, 0, 0, 0, 3, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 246, 0, 0, 0, 153, 0, 0, 0, 232, +0, 0, 0, 119, 0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 250, 0, 0, 0, 98, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 117, 0, 0, 0, 12, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 213, 0, 0, 0, 250, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 92, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 40, 0, 0, 0, 105, 0, 0, 0, 13, 0, 0, 0, 172, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 139, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 160, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, +189, 0, 0, 0, 164, 0, 0, 0, 142, 0, 0, 0, 24, 0, 0, 0, 108, 0, 0, 0, 242, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 220, 0, 0, 0, 74, 0, 0, 0, 134, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 20, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 26, 0, 0, 0, 4, 0, 0, 0, 15, 0, 0, 0, 151, 0, 0, 0, 165, 0, 0, 0, 219, 0, 0, 0, 139, 0, 0, 0, 45, 0, 0, 0, 170, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 242, 0, 0, 0, 147, 0, 0, 0, 187, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 168, 0, 0, 0, +160, 0, 0, 0, 37, 0, 0, 0, 43, 0, 0, 0, 166, 0, 0, 0, 95, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 200, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 59, 0, 0, 0, 2, 0, 0, 0, 238, 0, 0, 0, 201, 0, 0, 0, 41, 0, 0, 0, 15, 0, 0, 0, 223, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 98, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 75, 0, 0, 0, 249, 0, 0, 0, 4, 0, 0, 0, 233, 0, 0, 0, 6, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 55, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 201, +0, 0, 0, 20, 0, 0, 0, 235, 0, 0, 0, 236, 0, 0, 0, 57, 0, 0, 0, 167, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 51, 0, 0, 0, 190, 0, 0, 0, 196, 0, 0, 0, 240, 0, +0, 0, 92, 0, 0, 0, 239, 0, 0, 0, 240, 0, 0, 0, 86, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 151, 0, 0, 0, 71, 0, 0, 0, 200, 0, 0, 0, 114, 0, 0, 0, 182, 0, 0, 0, 83, 0, 0, 0, 164, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 165, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 207, 0, 0, 0, 102, 0, 0, 0, 80, 0, 0, 0, 109, 0, 0, 0, 23, 0, 0, 0, 164, 0, 0, 0, 25, 0, 0, 0, 82, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 179, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 46, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, +0, 82, 0, 0, 0, 249, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 190, 0, 0, 0, 90, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 42, 0, 0, 0, 216, 0, 0, 0, 140, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 98, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 232, 0, 0, 0, 115, 0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 176, 0, 0, 0, 181, 0, 0, 0, 45, 0, 0, 0, 148, 0, 0, 0, 80, 0, 0, 0, 170, 0, 0, 0, 211, 0, 0, 0, 178, 0, 0, 0, 234, 0, 0, 0, 157, 0, +0, 0, 98, 0, 0, 0]).concat([118, 0, 0, 0, 59, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 112, 0, 0, 0, 200, 0, 0, 0, 154, 0, 0, 0, 21, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 200, 0, 0, 0, 34, 0, 0, 0, 26, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 231, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 185, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 88, 0, 0, 0, 93, 0, 0, 0, 58, 0, 0, 0, 155, 0, 0, 0, 228, +0, 0, 0, 4, 0, 0, 0, 213, 0, 0, 0, 239, 0, 0, 0, 56, 0, 0, 0, 239, 0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 117, 0, 0, 0, 161, 0, 0, 0, 104, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 68, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 71, 0, 0, 0, 63, 0, 0, 0, 15, 0, 0, 0, 228, 0, 0, 0, 146, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 148, 0, 0, 0, 88, 0, 0, 0, 94, 0, 0, 0, 188, 0, +0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 32, 0, 0, 0, 214, 0, 0, 0, 216, 0, 0, 0, 145, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 75, 0, 0, 0, 52, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 111, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 0, 101, 0, 0, 0, 116, 0, 0, 0, 19, 0, 0, 0, 78, 0, 0, 0, 240, 0, 0, 0, 105, 0, 0, 0, 38, 0, 0, 0, 206, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 197, 0, 0, 0, 200, 0, 0, 0, 100, 0, 0, 0, 38, 0, 0, 0, 162, 0, +0, 0, 80, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 114, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 147, 0, 0, 0, 213, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 174, 0, 0, 0, 56, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 50, 0, 0, 0, 52, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 185, 0, 0, 0, 97, 0, 0, 0, 123, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 172, 0, 0, 0, 113, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 116, 0, 0, 0, 85, 0, 0, 0, 27, 0, 0, 0, 170, 0, 0, 0, 169, 0, +0, 0, 56, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 213, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 171, 0, 0, 0, 28, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 48, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 137, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 192, 0, 0, 0, 194, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 119, 0, 0, 0, 69, 0, 0, 0, 236, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 76, 0, 0, 0, 185, 0, 0, 0, 223, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 107, 0, 0, 0, 203, 0, 0, 0, 231, 0, 0, 0, 20, 0, 0, 0, 97, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 210, 0, 0, 0, 72, 0, 0, 0, 101, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 138, 0, 0, +0, 19, 0, 0, 0, 27, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 173, 0, 0, 0, 12, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 90, 0, 0, 0, 186, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 151, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 179, 0, 0, 0, 155, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 183, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 178, 0, 0, 0, 81, 0, 0, 0, 121, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, +0, 63, 0, 0, 0, 219, 0, 0, 0, 107, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 92, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 222, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 49, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 237, 0, 0, 0, 190, 0, 0, 0, 40, 0, 0, 0, 79, 0, 0, 0, 179, 0, 0, 0, 126, 0, 0, 0, 5, 0, 0, 0, 106, 0, 0, 0, 219, 0, 0, 0, 149, 0, 0, 0, 13, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 10, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, +62, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 142, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 202, 0, 0, 0, 214, 0, 0, 0, 14, 0, 0, 0, 30, 0, 0, 0, 157, 0, 0, 0, 239, 0, 0, 0, 171, 0, 0, 0, 152, 0, 0, 0, 77, 0, 0, 0, 187, 0, 0, 0, 108, 0, 0, 0, 5, 0, 0, 0, 224, 0, 0, 0, 228, 0, 0, 0, 93, 0, 0, 0, 189, 0, 0, 0, 87, 0, 0, 0, 204, 0, 0, 0, 33, 0, 0, 0, 39, 0, 0, 0, 206, 0, 0, 0, 253, 0, 0, 0, 169, 0, 0, 0, 148, 0, 0, 0, 142, 0, 0, 0, 225, 0, 0, 0, 171, 0, 0, 0, 73, 0, 0, 0, 224, 0, 0, 0, +70, 0, 0, 0, 38, 0, 0, 0, 161, 0, 0, 0, 168, 0, 0, 0, 140, 0, 0, 0, 161, 0, 0, 0, 153, 0, 0, 0, 29, 0, 0, 0, 180, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 45, 0, 0, 0, 200, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 94, 0, 0, 0, 55, 0, 0, 0, 82, 0, 0, 0, 196, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 21, 0, 0, 0, 51, 0, 0, 0, 132, 0, 0, 0, 27, 0, 0, 0, 20, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 59, 0, 0, 0, 173, 0, 0, 0, 15, 0, 0, 0, 67, 0, 0, 0, 108, +0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 107, 0, 0, 0, 76, 0, 0, 0, 127, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 15, 0, 0, 0, 71, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 86, 0, 0, 0, 124, 0, 0, 0, 67, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 187, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 62, 0, 0, 0, 100, 0, 0, 0, 171, 0, 0, 0, 160, 0, 0, 0, 160, 0, 0, 0, 223, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 135, 0, 0, 0, 58, 0, 0, 0, 189, 0, 0, 0, +168, 0, 0, 0, 72, 0, 0, 0, 201, 0, 0, 0, 184, 0, 0, 0, 239, 0, 0, 0, 46, 0, 0, 0, 173, 0, 0, 0, 111, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 240, 0, 0, 0, 27, 0, 0, 0, 126, 0, 0, 0, 42, 0, 0, 0, 108, 0, 0, 0, 248, 0, 0, 0, 169, 0, 0, 0, 106, 0, 0, 0, 225, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 161, 0, 0, 0, 103, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 186, 0, 0, 0, 39, 0, 0, 0, 146, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 80, 0, +0, 0, 222, 0, 0, 0, 204, 0, 0, 0, 64, 0, 0, 0, 38, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 144, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 100, 0, 0, 0, 62, 0, 0, 0, 3, 0, 0, 0, 221, 0, 0, 0, 55, 0, 0, 0, +54, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 105, 0, 0, 0, 3, 0, 0, 0, 252, 0, 0, 0, 160, 0, 0, 0, 43, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 5, 0, 0, 0, 14, 0, 0, 0, 204, 0, 0, 0, 216, 0, 0, 0, 31, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 105, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 160, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 50, 0, 0, 0, 233, 0, 0, 0, 44, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 64, 0, 0, 0, 100, +0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 179, 0, 0, 0, 169, 0, 0, 0, 105, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 64, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 50, 0, 0, 0, 79, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 141, 0, 0, 0, 100, 0, 0, 0, 102, 0, 0, 0, 74, 0, 0, 0, 113, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 163, 0, 0, 0, 173, 0, 0, 0, 141, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 236, 0, 0, 0, 207, 0, 0, 0, 103, 0, 0, +0, 112, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 74, 0, 0, 0, 15, 0, 0, 0, 110, 0, 0, 0, 175, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 111, 0, 0, 0, 198, 0, 0, 0, 54, 0, 0, 0, 110, 0, 0, 0, 108, 0, 0, 0, 140, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 96, 0, 0, 0, 190, 0, 0, 0, 38, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 94, 0, 0, 0, 23, 0, 0, 0, 202, 0, 0, 0, 95, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 135, 0, 0, 0, 232, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 203, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, +53, 0, 0, 0, 129, 0, 0, 0, 19, 0, 0, 0, 96, 0, 0, 0, 107, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 10, 0, 0, 0, 175, 0, 0, 0, 78, 0, 0, 0, 107, 0, 0, 0, 81, 0, 0, 0, 253, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 19, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 68, 0, 0, 0, 203, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 182, 0, 0, 0, 157, 0, 0, 0, 116, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 57, 0, 0, 0, +202, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 17, 0, 0, 0, 239, 0, 0, 0, 109, 0, 0, 0, 247, 0, 0, 0, 57, 0, 0, 0, 92, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 250, 0, 0, 0, 227, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 35, 0, 0, 0, 158, 0, 0, 0, 246, 0, 0, 0, 209, 0, 0, 0, 33, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 173, 0, 0, 0, 101, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 138, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 5, 0, 0, 0, 122, 0, 0, 0, 132, 0, 0, 0, 74, 0, 0, 0, +19, 0, 0, 0, 195, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 110, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 217, 0, 0, 0, 116, 0, 0, 0, 117, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 61, 0, 0, 0, 59, 0, 0, 0, 8, 0, 0, 0, 221, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 199, 0, 0, 0, 144, 0, 0, 0, 31, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 58, 0, 0, 0, 206, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 121, 0, 0, 0, 60, 0, 0, 0, 48, 0, 0, 0, 18, 0, 0, 0, +68, 0, 0, 0, 40, 0, 0, 0, 246, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 244, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 176, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 185, 0, 0, 0, 154, 0, 0, 0, 22, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 78, 0, 0, 0, 211, 0, 0, 0, 45, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 14, 0, 0, 0, 210, 0, 0, 0, 13, 0, 0, 0, 190, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 228, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 170, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 66, 0, 0, 0, 172, 0, 0, 0, 71, 0, 0, 0, 36, +0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 143, 0, 0, 0, 181, 0, 0, 0, 155, 0, 0, 0, 240, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 243, 0, 0, 0, 116, 0, 0, 0, 233, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 203, 0, 0, 0, 21, 0, 0, 0, 234, 0, 0, 0, 235, 0, 0, 0, 16, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 209, 0, 0, 0, 193, 0, 0, 0, 166, 0, 0, 0, 40, 0, 0, 0, 204, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 165, 0, 0, 0, +164, 0, 0, 0, 173, 0, 0, 0, 50, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 25, 0, 0, 0, 232, 0, 0, 0, 52, 0, 0, 0, 43, 0, 0, 0, 28, 0, 0, 0, 96, 0, 0, 0, 145, 0, 0, 0, 252, 0, 0, 0, 5, 0, 0, 0, 169, 0, 0, 0, 179, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 41, 0, 0, 0, 196, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 226, 0, 0, 0, 34, 0, 0, 0, 187, 0, 0, 0, 168, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 112, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 60, 0, 0, 0, 246, 0, 0, 0, 13, +0, 0, 0, 130, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 135, 0, 0, 0, 150, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 149, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 38, 0, 0, 0, 191, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 148, 0, 0, 0, 249, 0, 0, 0, 28, 0, 0, 0, 99, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 45, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 132, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 173, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 183, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 225, +0, 0, 0, 53, 0, 0, 0, 137, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 168, 0, 0, 0, 109, 0, 0, 0, 206, 0, 0, 0, 140, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 224, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 24, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 147, 0, 0, 0, 195, 0, 0, 0, 181, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 246, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 195, 0, 0, 0, 124, 0, 0, 0, 235, 0, 0, 0, 206, 0, 0, 0, 134, 0, 0, 0, 236, +0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 123, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 61, 0, 0, 0, 213, 0, 0, 0, 154, 0, 0, 0, 100, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 177, 0, 0, 0, 214, 0, 0, 0, 134, 0, 0, 0, 152, 0, 0, 0, 66, 0, 0, 0, 63, 0, 0, 0, 138, 0, 0, 0, 241, 0, 0, 0, 199, 0, 0, 0, 245, 0, 0, 0, 66, 0, 0, 0, 168, 0, 0, 0, 156, 0, 0, 0, 82, 0, 0, 0, 168, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 36, 0, 0, 0, 63, 0, 0, 0, +74, 0, 0, 0, 161, 0, 0, 0, 164, 0, 0, 0, 91, 0, 0, 0, 232, 0, 0, 0, 98, 0, 0, 0, 26, 0, 0, 0, 197, 0, 0, 0, 189, 0, 0, 0, 200, 0, 0, 0, 20, 0, 0, 0, 213, 0, 0, 0, 13, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 165, 0, 0, 0, 230, 0, 0, 0, 131, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 85, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 229, 0, 0, 0, 161, 0, 0, 0, 217, 0, 0, 0, 23, 0, 0, 0, +109, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 249, 0, 0, 0, 228, 0, 0, 0, 233, 0, 0, 0, 225, 0, 0, 0, 82, 0, 0, 0, 63, 0, 0, 0, 81, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 221, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 49, 0, 0, 0, 135, +0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 213, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 162, 0, 0, 0, 102, 0, 0, 0, 181, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 187, 0, 0, 0, 57, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 2, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 122, 0, 0, 0, 56, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 227, 0, 0, 0, 68, 0, 0, 0, 210, 0, 0, 0, 94, 0, 0, 0, 148, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 85, +0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 228, 0, 0, 0, 62, 0, 0, 0, 67, 0, 0, 0, 208, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 163, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 121, 0, 0, 0, 65, 0, 0, 0, 248, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 69, 0, 0, 0, 119, 0, 0, 0, 39, 0, 0, 0, 60, 0, 0, 0, 189, 0, 0, 0, 88, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 226, 0, 0, 0, +4, 0, 0, 0, 75, 0, 0, 0, 187, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 200, 0, 0, 0, 15, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 147, 0, 0, 0, 52, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 116, 0, 0, 0, 72, 0, 0, 0, 205, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 176, 0, 0, 0, 226, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 106, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 120, 0, 0, 0, 30, 0, 0, 0, 219, 0, 0, 0, 145, 0, 0, 0, 129, 0, 0, 0, 28, 0, 0, 0, +249, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 223, 0, 0, 0, 209, 0, 0, 0, 90, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 78, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 147, 0, 0, 0, 95, 0, 0, 0, 81, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 212, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 163, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 27, 0, 0, 0, 70, 0, 0, 0, 218, 0, 0, 0, 158, 0, 0, 0, +81, 0, 0, 0, 58, 0, 0, 0, 230, 0, 0, 0, 209, 0, 0, 0, 166, 0, 0, 0, 187, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 213, 0, 0, 0, 243, 0, 0, 0, 63, 0, 0, 0, 253, 0, 0, 0, 247, 0, 0, 0, 68, 0, 0, 0, 128, 0, 0, 0, 45, 0, 0, 0, 83, 0, 0, 0, 75, 0, 0, 0, 208, 0, 0, 0, 135, 0, 0, 0, 104, 0, 0, 0, 193, 0, 0, 0, 181, 0, 0, 0, 216, 0, 0, 0, 247, 0, 0, 0, 7, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 190, 0, 0, 0, 183, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, +0, 94, 0, 0, 0, 118, 0, 0, 0, 162, 0, 0, 0, 215, 0, 0, 0, 3, 0, 0, 0, 220, 0, 0, 0, 228, 0, 0, 0, 129, 0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 60, 0, 0, 0, 222, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 115, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 96, 0, 0, 0, 250, 0, 0, 0, 68, 0, 0, 0, 113, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 216, 0, 0, 0, 198, 0, 0, 0, 88, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 132, 0, 0, 0, 15, 0, +0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 200, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 177, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 213, 0, 0, 0, 52, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 147, 0, 0, 0, 234, 0, 0, 0, 82, 0, 0, 0, 148, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 17, 0, 0, 0, 45, 0, 0, 0, 88, 0, 0, 0, 249, 0, 0, 0, 181, 0, 0, 0, 10, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 246, 0, 0, 0, 46, 0, 0, 0, 63, 0, 0, 0, 54, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 90, 0, 0, 0, 231, 0, 0, 0, 209, 0, 0, 0, 8, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 66, 0, 0, 0, +174, 0, 0, 0, 204, 0, 0, 0, 181, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 196, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 38, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 113, 0, 0, 0, 18, 0, 0, 0, 157, 0, 0, 0, 136, 0, 0, 0, 61, 0, 0, 0, 156, 0, 0, 0, 234, 0, 0, 0, 65, 0, 0, 0, 106, 0, 0, 0, 240, 0, 0, 0, 80, 0, 0, 0, 147, 0, 0, 0, 147, 0, 0, 0, 221, 0, 0, 0, 71, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 81, 0, 0, 0, 109, 0, 0, 0, 28, 0, 0, 0, 170, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, +0, 144, 0, 0, 0, 63, 0, 0, 0, 20, 0, 0, 0, 226, 0, 0, 0, 110, 0, 0, 0, 142, 0, 0, 0, 100, 0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 224, 0, 0, 0, 78, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 193, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 10, 0, 0, 0, 106, 0, 0, 0, 158, 0, 0, 0, 161, 0, 0, 0, 96, 0, 0, 0, 203, 0, 0, 0, 47, 0, 0, 0, 11, 0, 0, 0, 220, 0, 0, 0, 57, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 161, 0, 0, 0, 68, 0, 0, 0, 233, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 120, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 71, 0, +0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 180, 0, 0, 0, 118, 0, 0, 0, 109, 0, 0, 0, 134, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 233, 0, 0, 0, 104, 0, 0, 0, 181, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 31, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 81, 0, 0, 0, 111, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 250, 0, 0, 0, 119, 0, +0, 0, 233, 0, 0, 0, 98, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 235, 0, 0, 0, 120, 0, 0, 0, 247, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 65, 0, 0, 0, 180, 0, 0, 0, 77, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 19, 0, 0, 0, 173, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 205, 0, 0, 0, 247, 0, 0, 0, 108, 0, 0, 0, 199, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 30, 0, 0, 0, 110, 0, 0, 0, 200, 0, 0, 0, 78, 0, 0, 0, 85, +0, 0, 0, 98, 0, 0, 0, 128, 0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 12, 0, 0, 0, 134, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 211, 0, 0, 0, 13, 0, 0, 0, 76, 0, 0, 0, 143, 0, 0, 0, 52, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 91, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 48, 0, 0, 0, 22, 0, 0, 0, 180, 0, 0, 0, 163, 0, 0, 0, 117, 0, 0, 0, 255, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 108, 0, 0, 0, 194, +0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 33, 0, 0, 0, 11, 0, 0, 0, 195, 0, 0, 0, 186, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 119, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 46, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 194, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 56, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 143, 0, 0, 0, 81, 0, 0, 0, 197, 0, 0, 0, 222, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 48, 0, 0, 0, 86, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 254, 0, 0, 0, 84, 0, 0, 0, 18, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 104, 0, 0, 0, 67, 0, 0, 0, 163, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 42, 0, 0, 0, 106, 0, 0, 0, 165, 0, 0, 0, 142, 0, 0, 0, 50, 0, 0, +0, 231, 0, 0, 0, 99, 0, 0, 0, 79, 0, 0, 0, 227, 0, 0, 0, 198, 0, 0, 0, 68, 0, 0, 0, 62, 0, 0, 0, 171, 0, 0, 0, 99, 0, 0, 0, 202, 0, 0, 0, 23, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 63, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 193, 0, 0, 0, 125, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 19, 0, 0, 0, 90, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 187, 0, 0, 0, 76, 0, 0, 0, 238, 0, 0, 0, 172, 0, 0, 0, 169, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 162, 0, 0, 0, 56, 0, 0, +0, 57, 0, 0, 0, 123, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 66, 0, 0, 0, 230, 0, 0, 0, 137, 0, 0, 0, 237, 0, 0, 0, 15, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 140, 0, 0, 0, 128, 0, 0, 0, 131, 0, 0, 0, 16, 0, 0, 0, 138, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 180, 0, 0, 0, 223, 0, 0, 0, 63, 0, 0, 0, 140, 0, 0, 0, 247, 0, 0, 0, 35, 0, 0, 0, 7, 0, 0, 0, 214, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 130, 0, 0, 0, 108, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 228, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 228, 0, +0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 240, 0, 0, 0, 8, 0, 0, 0, 98, 0, 0, 0, 238, 0, 0, 0, 117, 0, 0, 0, 72, 0, 0, 0, 146, 0, 0, 0, 51, 0, 0, 0, 242, 0, 0, 0, 244, 0, 0, 0, 173, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 182, 0, 0, 0, 54, 0, 0, 0, 71, 0, 0, 0, 53, 0, 0, 0, 185, 0, 0, 0, 180, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 118, 0, 0, 0, 240, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 56, 0, 0, 0, 81, 0, 0, 0, +21, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 149, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 187, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 104, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 164, 0, 0, 0, 44, 0, 0, 0, 125, 0, 0, 0, 94, 0, 0, 0, 2, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 29, 0, 0, 0, 129, 0, 0, 0, 36, 0, 0, 0, 16, 0, 0, 0, 231, 0, 0, 0, 41, 0, 0, 0, 249, 0, 0, 0, 55, 0, 0, 0, 217, 0, 0, 0, 70, 0, 0, 0, +90, 0, 0, 0, 205, 0, 0, 0, 112, 0, 0, 0, 254, 0, 0, 0, 77, 0, 0, 0, 91, 0, 0, 0, 191, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 145, 0, 0, 0, 244, 0, 0, 0, 239, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 41, 0, 0, 0, 208, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 37, 0, 0, 0, 146, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 228, 0, 0, 0, 73, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 4, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 252, 0, 0, 0, 235, 0, 0, 0, 208, 0, 0, 0, 11, 0, 0, 0, 5, 0, 0, 0, +50, 0, 0, 0, 82, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 117, 0, 0, 0, 80, 0, 0, 0, 225, 0, 0, 0, 99, 0, 0, 0, 2, 0, 0, 0, 130, 0, 0, 0, 142, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 68, 0, 0, 0, 55, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 206, 0, 0, 0, 203, 0, 0, 0, 96, 0, 0, 0, 218, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 57, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 119, 0, 0, 0, 64, 0, +0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 213, 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, 0, 44, 0, 0, 0, 199, 0, 0, 0, 90, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 209, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, +0, 152, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 252, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 5, 0, 0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 150, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 107, 0, 0, 0, 114, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 152, 0, 0, 0, 104, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 90, 0, 0, 0, 122, 0, 0, 0, 140, 0, 0, 0, 157, 0, 0, 0, 7, 0, 0, 0, 180, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 97, 0, 0, 0, 159, 0, 0, 0, 215, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 131, 0, 0, 0, +140, 0, 0, 0, 16, 0, 0, 0, 105, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 210, 0, 0, 0, 99, 0, 0, 0, 163, 0, 0, 0, 228, 0, 0, 0, 84, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 105, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 144, 0, 0, 0, 87, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 83, 0, 0, 0, 34, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 253, 0, 0, 0, 45, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 65, 0, 0, 0, +107, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 190, 0, 0, 0, 153, 0, 0, 0, 209, 0, 0, 0, 85, 0, 0, 0, 41, 0, 0, 0, 49, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 213, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 94, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 159, 0, 0, 0, 37, 0, 0, 0, 248, 0, 0, 0, 129, 0, 0, 0, 84, 0, 0, 0, 45, 0, 0, 0, 14, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 129, 0, 0, 0, 155, 0, 0, 0, 166, 0, 0, 0, 146, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, +0, 233, 0, 0, 0, 143, 0, 0, 0, 36, 0, 0, 0, 59, 0, 0, 0, 202, 0, 0, 0, 224, 0, 0, 0, 68, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 251, 0, 0, 0, 135, 0, 0, 0, 212, 0, 0, 0, 38, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 17, 0, 0, 0, 231, 0, 0, 0, 219, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 221, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 223, 0, 0, 0, 173, 0, 0, 0, 62, 0, 0, 0, 73, 0, 0, 0, 79, 0, 0, 0, 224, 0, 0, +0, 91, 0, 0, 0, 246, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 21, 0, 0, 0, 60, 0, 0, 0, 133, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 18, 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 18, 0, 0, 0, 3, 0, 0, 0, 95, 0, 0, 0, 201, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 29, 0, 0, 0, 23, 0, 0, 0, 224, 0, 0, 0, 188, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 98, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 148, 0, 0, 0, 166, 0, 0, 0, 170, 0, 0, 0, 24, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 141, 0, 0, +0, 73, 0, 0, 0, 166, 0, 0, 0, 23, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 217, 0, 0, 0, 182, 0, 0, 0, 212, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 106, 0, 0, 0, 175, 0, 0, 0, 112, 0, 0, 0, 7, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 17, 0, 0, 0, 173, 0, 0, 0, 228, 0, 0, 0, 38, 0, 0, 0, 51, 0, 0, 0, 112, 0, 0, 0, 146, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 116, 0, 0, 0, 159, 0, 0, 0, 117, 0, 0, 0, 96, 0, 0, 0, 86, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 98, 0, 0, +0, 59, 0, 0, 0, 191, 0, 0, 0, 85, 0, 0, 0, 53, 0, 0, 0, 97, 0, 0, 0, 139, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 232, 0, 0, 0, 58, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 253, 0, 0, 0, 149, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 203, 0, 0, 0, 17, 0, 0, 0, 157, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 198, 0, 0, 0, 214, 0, 0, 0, 69, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 13, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 113, 0, 0, 0, 91, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 189, 0, 0, 0, 175, 0, 0, 0, 172, 0, 0, 0, 240, 0, 0, 0, 252, 0, 0, 0, 18, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 78, 0, 0, 0, 218, 0, 0, 0, 232, +0, 0, 0, 17, 0, 0, 0, 243, 0, 0, 0, 35, 0, 0, 0, 225, 0, 0, 0, 4, 0, 0, 0, 98, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 78, 0, 0, 0, 200, 0, 0, 0, 177, 0, 0, 0, 27, 0, 0, 0, 111, 0, 0, 0, 115, 0, 0, 0, 97, 0, 0, 0, 61, 0, 0, 0, 39, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 147, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 216, 0, 0, 0, 79, 0, 0, 0, 144, 0, 0, 0, 172, 0, 0, 0, 162, 0, 0, 0, 98, 0, 0, 0, 10, 0, 0, 0, 240, 0, 0, 0, 97, 0, 0, +0, 217, 0, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 240, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 38, 0, 0, 0, 114, 0, 0, 0, 209, 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 229, 0, 0, 0, 184, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0]).concat([16, 0, 0, 0, 72, 0, 0, 0, 70, 0, 0, 0, 73, 0, 0, 0, 58, 0, 0, 0, 159, 0, 0, 0, 94, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 144, 0, 0, 0, 232, 0, 0, 0, 127, 0, 0, 0, 211, +0, 0, 0, 118, 0, 0, 0, 105, 0, 0, 0, 51, 0, 0, 0, 123, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 208, 0, 0, 0, 93, 0, 0, 0, 141, 0, 0, 0, 193, 0, 0, 0, 62, 0, 0, 0, 74, 0, 0, 0, 234, 0, 0, 0, 55, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 53, 0, 0, 0, 241, 0, 0, 0, 40, 0, 0, 0, 157, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 130, 0, +0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 249, 0, 0, 0, 75, 0, 0, 0, 156, 0, 0, 0, 190, 0, 0, 0, 174, 0, 0, 0, 124, 0, 0, 0, 228, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 35, 0, 0, 0, 179, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 35, 0, 0, 0, 170, 0, 0, 0, 153, 0, 0, 0, 189, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 108, 0, 0, 0, 141, 0, 0, 0, 166, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 157, 0, 0, 0, 204, 0, 0, 0, 104, 0, 0, 0, 117, 0, 0, 0, 127, 0, 0, 0, 195, 0, 0, 0, 77, +0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 108, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 90, 0, 0, 0, 96, 0, 0, 0, 229, 0, 0, 0, 189, 0, 0, 0, 125, 0, 0, 0, 39, 0, 0, 0, 139, 0, 0, 0, 218, 0, 0, 0, 180, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 3, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 146, 0, 0, 0, 63, 0, 0, 0, 34, 0, 0, 0, 214, 0, 0, 0, 181, 0, 0, 0, 23, 0, 0, 0, 132, 0, 0, 0, 191, 0, 0, 0, 18, 0, 0, 0, 204, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 74, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 161, +0, 0, 0, 172, 0, 0, 0, 110, 0, 0, 0, 171, 0, 0, 0, 250, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 83, 0, 0, 0, 179, 0, 0, 0, 39, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 71, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 52, 0, 0, 0, 30, 0, 0, 0, 121, 0, 0, 0, 252, 0, 0, 0, 166, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 53, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 77, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 196, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 236, 0, 0, 0, 137, 0, 0, 0, 148, 0, 0, 0, 186, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 72, +0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 127, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 225, 0, 0, 0, 245, 0, 0, 0, 241, 0, 0, 0, 213, 0, 0, 0, 171, 0, 0, +0, 168, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 207, 0, 0, 0, 86, 0, 0, 0, 159, 0, 0, 0, 242, 0, 0, 0, 75, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 6, 0, 0, 0, 91, 0, 0, 0, 190, 0, 0, 0, 180, 0, 0, 0, 97, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 129, 0, 0, 0, 171, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 43, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 146, 0, 0, 0, +103, 0, 0, 0, 78, 0, 0, 0, 134, 0, 0, 0, 106, 0, 0, 0, 139, 0, 0, 0, 229, 0, 0, 0, 232, 0, 0, 0, 12, 0, 0, 0, 247, 0, 0, 0, 54, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 51, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 94, 0, 0, 0, 189, 0, 0, 0, 24, 0, 0, 0, 251, 0, 0, 0, 16, 0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 240, 0, 0, 0, 13, 0, 0, 0, 99, 0, 0, 0, 239, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 107, 0, 0, 0, 249, 0, 0, 0, 131, 0, 0, 0, 207, 0, 0, 0, 222, 0, 0, 0, 4, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, +44, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 165, 0, 0, 0, 216, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 165, 0, 0, 0, 163, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 107, 0, 0, 0, 104, 0, 0, 0, 124, 0, 0, 0, 51, 0, 0, 0, 21, 0, 0, 0, 215, 0, 0, 0, 127, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 196, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 240, 0, 0, 0, 204, 0, 0, 0, 115, 0, 0, 0, 168, 0, 0, 0, 253, 0, 0, 0, 250, 0, 0, 0, 24, 0, 0, 0, 209, 0, 0, 0, 3, 0, 0, 0, 145, 0, +0, 0, 141, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 163, 0, 0, 0, 164, 0, 0, 0, 211, 0, 0, 0, 177, 0, 0, 0, 234, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 144, 0, 0, 0, 229, 0, 0, 0, 253, 0, 0, 0, 63, 0, 0, 0, 132, 0, 0, 0, 170, 0, 0, 0, 249, 0, 0, 0, 139, 0, 0, 0, 130, 0, 0, 0, 89, 0, 0, 0, 36, 0, 0, 0, 52, 0, 0, 0, 104, 0, 0, 0, 79, 0, 0, 0, 28, 0, 0, 0, 35, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 113, 0, 0, 0, 225, 0, 0, 0, 127, 0, 0, 0, 140, 0, 0, 0, 175, +0, 0, 0, 241, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 245, 0, 0, 0, 26, 0, 0, 0, 97, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 242, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 75, 0, 0, 0, 1, 0, 0, 0, 133, 0, 0, 0, 25, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 124, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 32, 0, 0, 0, 212, 0, 0, 0, 232, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, +0, 114, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 173, 0, 0, 0, 244, 0, 0, 0, 221, 0, 0, 0, 45, 0, 0, 0, 247, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 181, 0, 0, 0, 91, 0, 0, 0, 33, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 95, 0, 0, 0, 150, 0, 0, 0, 69, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 164, 0, 0, 0, 33, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 218, 0, 0, 0, 196, 0, 0, 0, 196, 0, 0, 0, 160, 0, 0, 0, 229, 0, 0, 0, 244, 0, 0, 0, 236, 0, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 101, 0, 0, +0, 233, 0, 0, 0, 8, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 27, 0, 0, 0, 197, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 115, 0, 0, 0, 80, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 113, 0, 0, 0, 105, 0, 0, 0, 97, 0, 0, 0, 14, 0, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 86, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 30, 0, 0, 0, 163, 0, 0, 0, 244, 0, 0, 0, 171, 0, 0, 0, 245, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 218, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 155, +0, 0, 0, 89, 0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 134, 0, 0, 0, 215, 0, 0, 0, 176, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 127, 0, 0, 0, 27, 0, 0, 0, 189, 0, 0, 0, 212, 0, 0, 0, 7, 0, 0, 0, 120, 0, 0, 0, 128, 0, 0, 0, 46, 0, 0, 0, 177, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 238, 0, 0, 0, 154, 0, 0, 0, 249, 0, 0, 0, 246, 0, 0, 0, 243, 0, 0, 0, 65, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 136, 0, 0, 0, 149, 0, 0, 0, 172, 0, 0, 0, +53, 0, 0, 0, 65, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 113, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 114, 0, 0, 0, 236, 0, 0, 0, 243, 0, 0, 0, 248, 0, 0, 0, 107, 0, 0, 0, 230, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 82, 0, 0, 0, 216, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 192, 0, 0, 0, 99, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 60, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 141, 0, 0, 0, 86, 0, 0, 0, 232, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 119, 0, 0, +0, 35, 0, 0, 0, 177, 0, 0, 0, 253, 0, 0, 0, 27, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 180, 0, 0, 0, 101, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 67, 0, 0, 0, 220, 0, 0, 0, 220, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 34, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 133, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 181, 0, 0, 0, 200, 0, 0, 0, 6, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 71, 0, 0, 0, 63, +0, 0, 0, 240, 0, 0, 0, 250, 0, 0, 0, 230, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 155, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 117, 0, 0, 0, 50, 0, 0, 0, 166, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 47, 0, 0, 0, 79, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 157, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 242, 0, 0, 0, 204, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 37, 0, 0, 0, 133, 0, 0, 0, 227, +0, 0, 0, 106, 0, 0, 0, 193, 0, 0, 0, 98, 0, 0, 0, 4, 0, 0, 0, 167, 0, 0, 0, 8, 0, 0, 0, 50, 0, 0, 0, 109, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 59, 0, 0, 0, 135, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 102, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 115, 0, 0, 0, 110, 0, 0, 0, 188, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 249, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 233, 0, 0, 0, 244, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 221, 0, +0, 0, 159, 0, 0, 0, 184, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 29, 0, 0, 0, 34, 0, 0, 0, 85, 0, 0, 0, 125, 0, 0, 0, 113, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 51, 0, 0, 0, 197, 0, 0, 0, 55, 0, 0, 0, 105, 0, 0, 0, 91, 0, 0, 0, 168, 0, 0, 0, 198, 0, 0, 0, 157, 0, 0, 0, 164, 0, 0, 0, 252, 0, 0, 0, 97, 0, 0, 0, 110, 0, 0, 0, 104, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 215, 0, 0, 0, 28, 0, 0, 0, 103, 0, 0, 0, 210, 0, 0, 0, 125, 0, 0, 0, 250, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 84, 0, 0, 0, 141, 0, 0, 0, 54, +0, 0, 0, 53, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 108, 0, 0, 0, 103, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 77, 0, 0, 0, 66, 0, 0, 0, 41, 0, 0, 0, 93, 0, 0, 0, 164, 0, 0, 0, 107, 0, 0, 0, 111, 0, 0, 0, 168, 0, 0, 0, 138, 0, 0, +0, 77, 0, 0, 0, 145, 0, 0, 0, 123, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 54, 0, 0, 0, 239, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 235, 0, 0, 0, 88, 0, 0, 0, 61, 0, 0, 0, 179, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 139, 0, 0, 0, 151, 0, 0, 0, 150, 0, 0, 0, 51, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 200, 0, 0, 0, 74, 0, 0, 0, 202, 0, 0, 0, 208, 0, 0, 0, 177, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 221, 0, 0, 0, 167, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 62, 0, +0, 0, 69, 0, 0, 0, 203, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 53, 0, 0, 0, 157, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 18, 0, 0, 0, 60, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 207, 0, 0, 0, 92, 0, 0, 0, 69, 0, 0, 0, 184, 0, 0, 0, 65, 0, 0, 0, 215, 0, 0, 0, 171, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 206, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 67, 0, 0, 0, 92, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 1, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 16, +0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 160, 0, 0, 0, 25, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 198, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 123, 0, 0, 0, 231, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 231, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 232, 0, 0, 0, 138, 0, 0, 0, 220, 0, 0, 0, 75, 0, 0, 0, 87, 0, 0, 0, 21, 0, 0, 0, 59, 0, 0, 0, 102, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 163, +0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 29, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 41, 0, 0, 0, 80, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 214, 0, 0, 0, 190, 0, 0, 0, 173, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 170, 0, 0, 0, 152, 0, 0, 0, 237, 0, 0, 0, 63, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 163, 0, 0, 0, 56, +0, 0, 0, 57, 0, 0, 0, 139, 0, 0, 0, 164, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 93, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 161, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 124, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 78, 0, 0, 0, 132, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 221, 0, 0, 0, 202, 0, 0, 0, 72, 0, 0, 0, 139, 0, 0, 0, 72, 0, 0, 0, 185, 0, 0, 0, 186, 0, 0, 0, 52, 0, 0, 0, 197, 0, 0, 0, 227, 0, 0, 0, 232, 0, 0, 0, +174, 0, 0, 0, 23, 0, 0, 0, 39, 0, 0, 0, 227, 0, 0, 0, 100, 0, 0, 0, 96, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 169, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 197, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 205, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 188, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, +253, 0, 0, 0, 78, 0, 0, 0, 58, 0, 0, 0, 191, 0, 0, 0, 95, 0, 0, 0, 4, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 79, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 66, 0, 0, 0, 170, 0, 0, 0, 223, 0, 0, 0, 174, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 110, 0, 0, 0, 126, 0, 0, 0, 75, 0, 0, 0, 113, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 114, 0, 0, 0, 237, 0, 0, 0, 235, 0, 0, 0, 113, 0, 0, 0, 36, 0, 0, 0, 151, 0, 0, 0, 38, 0, 0, 0, 156, 0, 0, 0, 254, 0, 0, 0, 203, 0, 0, 0, 62, 0, 0, 0, 89, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 15, 0, 0, 0, 117, 0, 0, 0, 125, 0, 0, 0, 190, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 149, 0, 0, 0, 112, +0, 0, 0, 96, 0, 0, 0, 137, 0, 0, 0, 102, 0, 0, 0, 62, 0, 0, 0, 29, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 192, 0, 0, 0, 4, 0, 0, 0, 67, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 34, 0, 0, 0, 220, 0, 0, 0, 113, 0, 0, 0, 40, 0, 0, 0, 100, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 143, 0, 0, 0, 44, 0, 0, 0, 107, 0, 0, 0, 8, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 112, 0, 0, 0, 39, 0, 0, 0, 157, 0, +0, 0, 217, 0, 0, 0, 175, 0, 0, 0, 177, 0, 0, 0, 39, 0, 0, 0, 175, 0, 0, 0, 227, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 195, 0, 0, 0, 38, 0, 0, 0, 58, 0, 0, 0, 188, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 221, 0, 0, 0, 100, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 235, 0, 0, 0, 192, 0, 0, 0, 30, 0, 0, 0, 218, 0, 0, 0, 44, 0, 0, 0, 164, 0, 0, 0, 209, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 92, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, +0, 7, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 153, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 154, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 124, 0, 0, 0, 7, 0, 0, 0, 179, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 61, 0, 0, 0, 100, 0, 0, 0, 170, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 121, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 140, 0, 0, 0, 148, 0, 0, 0, 214, 0, 0, 0, 98, 0, 0, 0, 55, 0, 0, 0, 125, 0, 0, 0, 100, 0, 0, +0, 205, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 232, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 106, 0, 0, 0, 80, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 40, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 154, 0, 0, 0, 147, 0, 0, 0, 10, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 241, 0, 0, 0, 197, 0, 0, 0, 180, 0, 0, 0, 15, 0, 0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 141, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 248, 0, 0, 0, 7, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, +24, 0, 0, 0, 7, 0, 0, 0, 254, 0, 0, 0, 142, 0, 0, 0, 82, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 190, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 1, 0, 0, 0, 170, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 40, 0, 0, 0, 102, 0, 0, 0, 50, 0, 0, 0, 26, 0, 0, 0, 186, 0, 0, 0, 124, 0, 0, 0, 234, 0, 0, 0, 17, 0, 0, 0, 128, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 155, 0, 0, 0, 86, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 18, 0, +0, 0, 44, 0, 0, 0, 234, 0, 0, 0, 86, 0, 0, 0, 105, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 240, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, 177, 0, 0, 0, 184, 0, 0, 0, 205, 0, 0, 0, 200, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 115, 0, 0, 0, 219, 0, 0, 0, 199, 0, 0, 0, 207, 0, 0, 0, 136, 0, 0, 0, 235, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 111, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 210, 0, 0, 0, 205, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 18, 0, 0, 0, 40, +0, 0, 0, 142, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 206, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 58, 0, 0, 0, 64, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 246, 0, 0, 0, 155, 0, 0, 0, 244, 0, 0, 0, 107, 0, 0, 0, 7, 0, +0, 0, 132, 0, 0, 0, 251, 0, 0, 0, 152, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 140, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 99, 0, 0, 0, 182, 0, 0, 0, 170, 0, 0, 0, 255, 0, 0, 0, 152, 0, 0, 0, 40, 0, 0, 0, 61, 0, 0, 0, 22, 0, 0, 0, 53, 0, 0, 0, 243, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 179, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 250, 0, 0, 0, 244, 0, 0, 0, 160, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 87, 0, 0, 0, 69, 0, 0, 0, 147, 0, 0, 0, 185, +0, 0, 0, 188, 0, 0, 0, 214, 0, 0, 0, 89, 0, 0, 0, 231, 0, 0, 0, 119, 0, 0, 0, 148, 0, 0, 0, 108, 0, 0, 0, 171, 0, 0, 0, 150, 0, 0, 0, 59, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 1, 0, 0, 0, 18, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 112, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 178, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 204, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 16, 0, +0, 0, 1, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 221, 0, 0, 0, 226, 0, 0, 0, 52, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 195, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 82, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 85, 0, 0, 0, 119, 0, 0, 0, 23, 0, 0, 0, 183, 0, 0, 0, 142, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 234, 0, +0, 0, 218, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 234, 0, 0, 0, 14, 0, 0, 0, 64, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 53, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 132, 0, 0, 0, 90, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 249, 0, 0, 0, 119, 0, 0, 0, 111, 0, 0, 0, 237, 0, 0, 0, 105, 0, 0, 0, 28, 0, 0, 0, 13, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 173, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 87, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 14, 0, +0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 237, 0, 0, 0, 39, 0, 0, 0, 209, 0, 0, 0, 60, 0, 0, 0, 169, 0, 0, 0, 217, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 152, 0, 0, 0, 132, 0, 0, 0, 94, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 214, 0, 0, 0, 240, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 137, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 95, 0, 0, 0, 21, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 121, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 22, 0, 0, 0, 254, 0, 0, 0, 237, 0, 0, 0, 159, 0, 0, 0, 38, 0, 0, 0, 86, 0, +0, 0, 246, 0, 0, 0, 75, 0, 0, 0, 159, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 133, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 152, 0, 0, 0, 206, 0, 0, 0, 78, 0, 0, 0, 195, 0, 0, 0, 88, 0, 0, 0, 85, 0, 0, 0, 178, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 76, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 250, 0, 0, 0, 167, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 134, 0, 0, 0, 155, 0, 0, 0, +48, 0, 0, 0, 165, 0, 0, 0, 94, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 138, 0, 0, 0, 154, 0, 0, 0, 159, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 91, 0, 0, 0, 83, 0, 0, 0, 20, 0, 0, 0, 25, 0, 0, 0, 37, 0, 0, 0, 99, 0, 0, 0, 180, 0, 0, 0, 111, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 143, 0, 0, 0, 188, 0, 0, 0, 30, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 11, 0, 0, 0, 141, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 113, 0, 0, 0, 227, 0, 0, 0, 59, 0, 0, 0, 111, 0, 0, 0, 83, 0, 0, 0, 47, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 149, 0, 0, 0, 212, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 79, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 87, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 73, 0, 0, 0, 168, 0, 0, 0, 80, 0, 0, 0, 225, 0, +0, 0, 97, 0, 0, 0, 107, 0, 0, 0, 87, 0, 0, 0, 53, 0, 0, 0, 235, 0, 0, 0, 68, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 116, 0, 0, 0, 242, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 62, 0, 0, 0, 127, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 78, 0, 0, 0, 9, 0, 0, 0, 101, 0, 0, 0, 16, 0, 0, 0, 94, 0, 0, 0, 3, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 169, 0, 0, 0, 96, 0, 0, 0, 220, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 229, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, +141, 0, 0, 0, 79, 0, 0, 0, 121, 0, 0, 0, 47, 0, 0, 0, 14, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 106, 0, 0, 0, 199, 0, 0, 0, 183, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 75, 0, 0, 0, 101, 0, 0, 0, 150, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 107, 0, 0, 0, 106, 0, 0, 0, 183, 0, 0, 0, 227, 0, 0, 0, 220, 0, 0, 0, 69, 0, 0, 0, 155, 0, 0, 0, 219, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 174, +0, 0, 0, 220, 0, 0, 0, 168, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 101, 0, 0, 0, 98, 0, 0, 0, 206, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 132, 0, 0, 0, 24, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 241, 0, 0, 0, 226, 0, 0, 0, 123, 0, 0, 0, 206, 0, 0, 0, 80, 0, 0, 0, 65, 0, 0, 0, 33, 0, 0, 0, 48, 0, 0, 0, 83, 0, 0, 0, 27, 0, 0, 0, 71, 0, 0, 0, 1, 0, 0, 0, 183, 0, 0, 0, 24, 0, 0, 0, 216, 0, 0, 0, 130, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 96, 0, 0, 0, 240, 0, 0, 0, 50, 0, 0, 0, 246, 0, 0, 0, 91, 0, 0, +0, 240, 0, 0, 0, 48, 0, 0, 0, 136, 0, 0, 0, 145, 0, 0, 0, 89, 0, 0, 0, 253, 0, 0, 0, 144, 0, 0, 0, 162, 0, 0, 0, 185, 0, 0, 0, 85, 0, 0, 0, 147, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 158, 0, 0, 0, 235, 0, 0, 0, 106, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 214, 0, 0, 0, 115, 0, 0, 0, 232, 0, 0, 0, 107, 0, 0, 0, 41, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 153, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 144, 0, 0, 0, 82, 0, +0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 78, 0, 0, 0, 255, 0, 0, 0, 75, 0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 125, 0, 0, 0, 99, 0, 0, 0, 140, 0, 0, 0, 110, 0, 0, 0, 92, 0, 0, 0, 222, 0, 0, 0, 48, 0, 0, 0, 223, 0, 0, 0, 101, 0, 0, 0, 250, 0, 0, 0, 46, 0, 0, 0, 176, 0, 0, 0, 163, 0, 0, 0, 37, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 189, 0, 0, 0, 37, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 174, 0, 0, 0, 223, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 27, 0, 0, 0, 234, 0, 0, 0, 56, 0, 0, 0, 179, 0, +0, 0, 5, 0, 0, 0, 22, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 191, 0, 0, 0, 100, 0, 0, 0, 40, 0, 0, 0, 173, 0, 0, 0, 248, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 186, 0, 0, 0, 213, 0, 0, 0, 127, 0, 0, 0, 213, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 102, 0, 0, 0, 47, 0, 0, 0, 61, 0, 0, 0, 170, 0, 0, 0, 84, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 50, 0, 0, 0, 34, 0, 0, 0, 154, 0, 0, 0, 30, 0, 0, 0, 82, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 228, 0, 0, 0, 135, 0, 0, 0, 252, 0, 0, 0, 177, 0, 0, 0, 44, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 185, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 70, 0, 0, 0, 242, 0, 0, +0, 165, 0, 0, 0, 159, 0, 0, 0, 143, 0, 0, 0, 138, 0, 0, 0, 147, 0, 0, 0, 112, 0, 0, 0, 105, 0, 0, 0, 212, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 253, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 78, 0, 0, 0, 102, 0, 0, 0, 207, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 206, 0, 0, 0, 12, 0, 0, 0, 217, 0, 0, 0, 166, 0, 0, 0, 80, 0, 0, 0, 214, 0, 0, 0, 94, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 155, 0, 0, 0, 184, 0, 0, 0, 165, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 224, 0, +0, 0, 67, 0, 0, 0, 130, 0, 0, 0, 109, 0, 0, 0, 101, 0, 0, 0, 230, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 117, 0, 0, 0, 58, 0, 0, 0, 252, 0, 0, 0, 100, 0, 0, 0, 211, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 221, 0, 0, 0, 73, 0, 0, 0, 154, 0, 0, 0, 89, 0, 0, 0, 83, 0, 0, 0, 191, 0, 0, 0, 180, 0, 0, 0, 167, 0, 0, 0, 82, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 171, 0, 0, 0, 195, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 134, 0, +0, 0, 250, 0, 0, 0, 57, 0, 0, 0, 67, 0, 0, 0, 14, 0, 0, 0, 75, 0, 0, 0, 163, 0, 0, 0, 99, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 88, 0, 0, 0, 241, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 127, 0, 0, 0, 118, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 187, 0, 0, 0, 190, 0, 0, 0, 11, 0, 0, 0, 22, 0, 0, 0, 233, 0, 0, 0, 186, 0, 0, 0, 98, 0, 0, 0, 52, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 241, 0, +0, 0, 198, 0, 0, 0, 147, 0, 0, 0, 101, 0, 0, 0, 238, 0, 0, 0, 11, 0, 0, 0, 188, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 240, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 132, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 52, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 153, 0, 0, 0, 213, 0, 0, 0, 80, 0, 0, 0, 105, 0, 0, 0, 203, 0, 0, 0, 214, 0, 0, 0, 33, 0, 0, 0, 99, 0, 0, 0, 124, 0, 0, 0, 153, 0, 0, 0, 235, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, +103, 0, 0, 0, 127, 0, 0, 0, 12, 0, 0, 0, 102, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 50, 0, 0, 0, 82, 0, 0, 0, 223, 0, 0, 0, 93, 0, 0, 0, 197, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, 171, 0, 0, 0, 95, 0, 0, 0, 13, 0, 0, 0, 44, 0, 0, +0, 186, 0, 0, 0, 103, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 222, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 211, 0, 0, 0, 141, 0, 0, 0, 57, 0, 0, 0, 86, 0, 0, 0, 94, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 228, 0, 0, 0, 46, 0, 0, 0, 51, 0, 0, 0, 98, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 184, 0, 0, 0, 159, 0, 0, 0, 200, 0, 0, 0, 75, 0, 0, 0, 167, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 73, 0, 0, 0, 155, 0, 0, 0, 146, 0, 0, 0, 53, 0, 0, 0, 130, 0, 0, 0, 214, 0, 0, 0, 10, 0, +0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 241, 0, 0, 0, 71, 0, 0, 0, 47, 0, 0, 0, 106, 0, 0, 0, 126, 0, 0, 0, 159, 0, 0, 0, 207, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 251, 0, 0, 0, 27, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, +139, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 209, 0, 0, 0, 172, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 162, 0, 0, 0, 66, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 109, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 178, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 123, 0, 0, 0, 140, 0, 0, 0, 133, 0, 0, 0, 43, 0, 0, 0, 196, 0, 0, 0, 252, 0, 0, 0, 241, 0, 0, 0, +171, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 34, 0, 0, 0, 196, 0, 0, 0, 132, 0, 0, 0, 23, 0, 0, 0, 58, 0, 0, 0, 250, 0, 0, 0, 134, 0, 0, 0, 166, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 32, 0, 0, 0, 77, 0, 0, 0, 121, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 113, 0, 0, 0, 84, 0, 0, 0, 56, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 47, 0, 0, 0, 94, 0, 0, 0, 249, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 243, 0, 0, 0, 62, 0, 0, 0, +185, 0, 0, 0, 253, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 105, 0, 0, 0, 136, 0, 0, 0, 30, 0, 0, 0]).concat([119, 0, 0, 0, 33, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 145, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 21, 0, 0, 0, 178, 0, 0, 0, 166, 0, 0, 0, 207, 0, 0, 0, 126, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 203, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 91, 0, 0, 0, 3, 0, 0, 0, 223, 0, 0, 0, 62, 0, 0, 0, 136, 0, 0, 0, 129, 0, 0, 0, 109, +0, 0, 0, 206, 0, 0, 0, 7, 0, 0, 0, 66, 0, 0, 0, 24, 0, 0, 0, 96, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 85, 0, 0, 0, 254, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 149, 0, 0, 0, 16, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 215, 0, 0, 0, 205, 0, 0, 0, 250, 0, 0, 0, 189, 0, 0, 0, 70, 0, 0, 0, 223, 0, 0, 0, 147, 0, 0, 0, 113, 0, 0, 0, 16, 0, 0, 0, 44, 0, 0, 0, 168, 0, 0, 0, 59, 0, 0, 0, 182, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 112, 0, +0, 0, 132, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 168, 0, 0, 0, 89, 0, 0, 0, 245, 0, 0, 0, 142, 0, 0, 0, 16, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 98, 0, 0, 0, 112, 0, 0, 0, 232, 0, 0, 0, 196, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 40, 0, 0, 0, 110, 0, 0, 0, 22, 0, 0, 0, 60, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 246, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 203, 0, 0, 0, 126, 0, +0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 233, 0, 0, 0, 90, 0, 0, 0, 250, 0, 0, 0, 3, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 146, 0, 0, 0, 99, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 98, 0, 0, 0, 240, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 24, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 183, 0, 0, 0, 120, 0, 0, 0, 194, 0, 0, 0, 169, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 50, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 133, 0, 0, 0, 175, 0, 0, 0, 203, 0, 0, 0, 141, 0, 0, 0, 145, 0, 0, 0, 19, 0, 0, 0, 218, +0, 0, 0, 107, 0, 0, 0, 54, 0, 0, 0, 10, 0, 0, 0, 194, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 65, 0, 0, 0, 49, 0, 0, 0, 95, 0, 0, 0, 98, 0, 0, 0, 70, 0, 0, 0, 248, 0, 0, 0, 146, 0, 0, 0, 249, 0, 0, 0, 102, 0, 0, 0, 72, 0, 0, 0, 115, 0, 0, 0, 166, 0, 0, 0, 151, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 136, 0, 0, 0, 238, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 177, 0, 0, 0, 112, 0, 0, 0, 138, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 202, 0, 0, 0, 75, 0, 0, 0, 15, 0, 0, 0, 164, 0, 0, 0, 102, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 159, 0, 0, 0, 136, 0, 0, 0, +103, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 194, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 157, 0, 0, 0, 182, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 114, 0, 0, 0, 79, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 90, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 161, 0, 0, 0, 69, 0, 0, 0, 50, 0, 0, 0, 60, 0, 0, 0, 131, 0, 0, 0, 135, 0, 0, 0, 114, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 119, 0, 0, 0, 104, 0, 0, 0, +174, 0, 0, 0, 251, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 94, 0, 0, 0, 241, 0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 53, 0, 0, 0, 197, 0, 0, 0, 187, 0, 0, 0, 185, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 214, 0, 0, 0, 205, 0, 0, 0, 213, 0, 0, 0, 12, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 144, 0, 0, 0, 52, 0, 0, 0, 251, 0, 0, 0, 81, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 70, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 191, 0, 0, +0, 69, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 198, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 136, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 115, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 255, 0, 0, 0, 33, 0, 0, 0, 160, 0, 0, 0, 155, 0, 0, 0, 47, 0, 0, 0, 154, 0, 0, 0, 253, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 132, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 157, 0, 0, 0, 82, 0, 0, 0, 198, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 52, 0, +0, 0, 42, 0, 0, 0, 6, 0, 0, 0, 175, 0, 0, 0, 148, 0, 0, 0, 61, 0, 0, 0, 244, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 242, 0, 0, 0, 192, 0, 0, 0, 33, 0, 0, 0, 194, 0, 0, 0, 66, 0, 0, 0, 94, 0, 0, 0, 200, 0, 0, 0, 47, 0, 0, 0, 53, 0, 0, 0, 162, 0, 0, 0, 62, 0, 0, 0, 41, 0, 0, 0, 250, 0, 0, 0, 12, 0, 0, 0, 132, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 6, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 3, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 166, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 91, 0, 0, +0, 142, 0, 0, 0, 202, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 34, 0, 0, 0, 86, 0, 0, 0, 139, 0, 0, 0, 93, 0, 0, 0, 20, 0, 0, 0, 75, 0, 0, 0, 77, 0, 0, 0, 249, 0, 0, 0, 190, 0, 0, 0, 181, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 92, 0, 0, 0, 123, 0, 0, 0, 139, 0, 0, 0, 244, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 34, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 156, 0, 0, 0, 96, 0, 0, 0, 162, 0, 0, 0, 25, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 55, 0, 0, 0, 78, 0, 0, 0, +166, 0, 0, 0, 201, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 215, 0, 0, 0, 40, 0, 0, 0, 34, 0, 0, 0, 99, 0, 0, 0, 57, 0, 0, 0, 232, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 242, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 153, 0, 0, 0, 57, 0, 0, 0, 149, 0, 0, 0, 4, 0, 0, 0, 189, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 170, +0, 0, 0, 226, 0, 0, 0, 70, 0, 0, 0, 213, 0, 0, 0, 228, 0, 0, 0, 232, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 171, 0, 0, 0, 124, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 155, 0, 0, 0, 53, 0, +0, 0, 113, 0, 0, 0, 120, 0, 0, 0, 206, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 241, 0, 0, 0, 115, 0, 0, 0, 155, 0, 0, 0, 185, 0, 0, 0, 21, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 207, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 79, 0, 0, 0, 77, 0, 0, 0, 87, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 130, 0, 0, 0, 164, 0, 0, 0, 77, 0, 0, 0, 101, 0, 0, 0, 110, 0, 0, 0, 10, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 242, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, +31, 0, 0, 0, 110, 0, 0, 0, 246, 0, 0, 0, 181, 0, 0, 0, 188, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 162, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 22, 0, 0, 0, 64, 0, 0, 0, 49, 0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 189, 0, 0, 0, 161, 0, 0, 0, 77, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 91, +0, 0, 0, 235, 0, 0, 0, 31, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 33, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 60, 0, 0, 0, 66, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 111, 0, 0, 0, 21, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 209, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 199, 0, 0, 0, 115, 0, 0, 0, 69, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 118, 0, 0, 0, 183, 0, +0, 0, 246, 0, 0, 0, 57, 0, 0, 0, 182, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 190, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 91, 0, 0, 0, 252, 0, 0, 0, 114, 0, 0, 0, 253, 0, 0, 0, 186, 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 166, 0, 0, 0, 124, 0, 0, 0, 149, 0, 0, 0, 227, 0, 0, 0, 97, 0, 0, 0, 63, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 212, 0, 0, 0, 32, 0, 0, 0, 217, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 62, 0, 0, 0, 245, +0, 0, 0, 17, 0, 0, 0, 100, 0, 0, 0, 227, 0, 0, 0, 180, 0, 0, 0, 190, 0, 0, 0, 50, 0, 0, 0, 134, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 231, 0, 0, 0, 201, 0, 0, 0, 31, 0, 0, 0, 16, 0, 0, 0, 165, 0, 0, 0, 106, 0, 0, 0, 45, 0, 0, 0, 57, 0, 0, 0, 208, 0, 0, 0, 59, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 26, 0, 0, 0, 230, 0, 0, 0, 160, 0, 0, 0, 185, 0, 0, 0, 60, 0, 0, 0, 80, 0, 0, 0, 184, 0, 0, 0, 64, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 54, 0, 0, 0, 90, +0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 171, 0, 0, 0, 220, 0, 0, 0, 4, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 30, 0, 0, 0, 11, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 53, 0, 0, 0, 58, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 254, 0, 0, 0, 231, 0, 0, 0, 73, 0, 0, 0, 234, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, +116, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 166, 0, 0, 0, 143, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 77, 0, 0, 0, 110, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 141, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 219, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 215, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 145, 0, 0, 0, 222, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 159, 0, 0, 0, 190, 0, 0, 0, 99, 0, 0, 0, 176, 0, 0, 0, 131, 0, 0, 0, 134, 0, 0, 0, 67, 0, 0, 0, 93, 0, 0, 0, 188, 0, 0, 0, 224, 0, 0, 0, 243, 0, 0, 0, 192, 0, 0, 0, 117, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 247, +0, 0, 0, 139, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 174, 0, 0, 0, 139, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 36, 0, 0, 0, 104, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 123, 0, 0, 0, 98, 0, 0, 0, 253, 0, 0, 0, 127, 0, 0, 0, 216, 0, 0, 0, 212, 0, 0, 0, 183, 0, 0, 0, 80, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 27, 0, 0, 0, 191, 0, 0, 0, 65, 0, 0, 0, 149, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 216, 0, 0, 0, 23, 0, 0, 0, 27, +0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 195, 0, 0, 0, 56, 0, 0, 0, 72, 0, 0, 0, 20, 0, 0, 0, 181, 0, 0, 0, 151, 0, 0, 0, 210, 0, 0, 0, 167, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 241, 0, 0, 0, 53, 0, 0, 0, 68, 0, 0, 0, 56, 0, 0, 0, 158, 0, 0, 0, 241, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 11, 0, 0, 0, 234, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, +0, 131, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 80, 0, 0, 0, 209, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 219, 0, 0, 0, 94, 0, 0, 0, 222, 0, 0, 0, 170, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 218, 0, 0, 0, 149, 0, 0, 0, 234, 0, 0, 0, 71, 0, 0, 0, 208, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 25, 0, 0, 0, 174, 0, 0, 0, 29, 0, 0, 0, 169, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 63, +0, 0, 0, 172, 0, 0, 0, 93, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 31, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 41, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 55, 0, 0, 0, 241, 0, 0, 0, 148, 0, 0, 0, 143, 0, 0, 0, 12, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 186, 0, 0, 0, 154, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 102, 0, 0, 0, 2, 0, 0, 0, 251, 0, 0, 0, 84, 0, 0, 0, 184, 0, 0, 0, 5, 0, 0, 0, 243, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 118, 0, 0, 0, 143, +0, 0, 0, 215, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 102, 0, 0, 0, 255, 0, 0, 0, 230, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 94, 0, 0, 0, 205, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 157, 0, 0, 0, 72, 0, 0, 0, 189, 0, 0, 0, 170, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 205, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 10, 0, 0, 0, 100, 0, 0, 0, 177, 0, 0, 0, 152, 0, 0, 0, 214, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, +148, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 78, 0, 0, 0, 187, 0, 0, 0, 150, 0, 0, 0, 205, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 227, 0, 0, 0, 6, 0, 0, 0, 122, 0, 0, 0, 108, 0, 0, 0, 69, 0, 0, 0, 39, 0, 0, 0, 196, 0, 0, 0, 147, 0, 0, 0, 127, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 98, 0, 0, 0, 80, 0, 0, 0, 56, 0, 0, 0, 58, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 198, 0, 0, 0, 217, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 185, 0, 0, 0, 57, 0, 0, 0, 147, 0, 0, +0, 61, 0, 0, 0, 201, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 44, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 14, 0, 0, 0, 133, +0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 90, 0, 0, 0, 116, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 76, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 32, 0, 0, 0, 19, 0, 0, 0, 31, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 39, 0, 0, 0, 144, 0, 0, 0, 92, 0, 0, 0, 2, 0, 0, 0, 66, 0, 0, 0, 173, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 181, 0, 0, 0, 126, 0, 0, 0, 8, 0, 0, 0, 133, 0, 0, 0, 0, +0, 0, 0, 250, 0, 0, 0, 127, 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 231, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 242, 0, 0, 0, 126, 0, 0, 0, 27, 0, 0, 0, 56, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 109, 0, 0, 0, 51, 0, 0, 0, 102, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 129, 0, 0, 0, 172, 0, 0, 0, 228, 0, 0, 0, 32, 0, 0, 0, 9, 0, 0, 0, 53, 0, 0, 0, 76, 0, 0, 0, 69, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 76, 0, 0, 0, 20, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 233, 0, 0, 0, 138, 0, 0, 0, 123, 0, 0, 0, 141, 0, +0, 0, 254, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 193, 0, 0, 0, 53, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 29, 0, 0, 0, 97, 0, 0, 0, 46, 0, 0, 0, 194, 0, 0, 0, 221, 0, 0, 0, 149, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 171, 0, 0, 0, 128, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 23, 0, 0, 0, 181, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 138, 0, 0, 0, 17, 0, 0, 0, 158, 0, 0, 0, 114, 0, 0, 0, 190, 0, 0, 0, 133, 0, 0, 0, 141, 0, 0, 0, 81, 0, 0, 0, 10, 0, 0, 0, 242, 0, 0, 0, 159, +0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 40, 0, 0, 0, 123, 0, 0, 0, 187, 0, 0, 0, 113, 0, 0, 0, 20, 0, 0, 0, 94, 0, 0, 0, 38, 0, 0, 0, 140, 0, 0, 0, 61, 0, 0, 0, 200, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 211, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 47, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 223, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 89, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 160, +0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 59, 0, 0, 0, 105, 0, 0, 0, 200, 0, 0, 0, 67, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 108, 0, 0, 0, 121, 0, 0, 0, 86, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 212, 0, 0, 0, 130, 0, 0, 0, 32, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 102, 0, 0, 0, 215, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 86, 0, 0, 0, 252, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 232, 0, 0, 0, 183, 0, 0, 0, 96, 0, 0, +0, 174, 0, 0, 0, 71, 0, 0, 0, 128, 0, 0, 0, 252, 0, 0, 0, 229, 0, 0, 0, 35, 0, 0, 0, 231, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 133, 0, 0, 0, 230, 0, 0, 0, 152, 0, 0, 0, 160, 0, 0, 0, 41, 0, 0, 0, 78, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 69, 0, 0, 0, 60, 0, 0, 0, 255, 0, 0, 0, 175, 0, 0, 0, 39, 0, 0, 0, 76, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 186, 0, 0, 0, 91, 0, 0, 0, 158, 0, +0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 190, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 58, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 241, 0, 0, 0, 149, 0, 0, 0, 125, 0, 0, 0, 200, 0, 0, 0, 109, 0, 0, 0, 82, 0, 0, 0, 230, 0, 0, 0, 153, 0, 0, 0, 44, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 224, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 143, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 228, 0, 0, 0, 110, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 129, 0, 0, 0, 160, 0, 0, 0, 247, 0, 0, 0, 218, 0, 0, 0, 239, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 227, 0, 0, 0, 107, +0, 0, 0, 120, 0, 0, 0, 54, 0, 0, 0, 39, 0, 0, 0, 62, 0, 0, 0, 198, 0, 0, 0, 18, 0, 0, 0, 7, 0, 0, 0, 171, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 105, 0, 0, 0, 157, 0, 0, 0, 179, 0, 0, 0, 190, 0, 0, 0, 8, 0, 0, 0, 124, 0, 0, 0, 42, 0, 0, 0, 71, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 212, 0, 0, 0, 205, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 52, 0, 0, 0, 91, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 95, 0, 0, 0, 58, 0, 0, 0, 101, 0, 0, 0, 19, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 76, 0, 0, 0, +240, 0, 0, 0, 34, 0, 0, 0, 184, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 164, 0, 0, 0, 198, 0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 200, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 87, 0, 0, 0, 137, 0, 0, 0, 223, 0, 0, 0, 51, 0, 0, 0, 169, 0, 0, 0, 104, 0, 0, 0, 73, 0, 0, 0, 128, 0, 0, 0, 228, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 48, 0, 0, 0, 233, 0, 0, 0, 211, 0, 0, 0, 96, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, +194, 0, 0, 0, 114, 0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 54, 0, 0, 0, 165, 0, 0, 0, 189, 0, 0, 0, 57, 0, 0, 0, 131, 0, 0, 0, 133, 0, 0, 0, 80, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 29, 0, 0, 0, 181, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 119, 0, 0, 0, 11, 0, 0, 0, 80, 0, 0, 0, 100, 0, 0, 0, 52, 0, 0, 0, 236, 0, 0, 0, 192, 0, 0, 0, 158, 0, 0, 0, 68, 0, 0, 0, 65, 0, 0, 0, 175, 0, 0, 0, 160, 0, 0, 0, 54, 0, 0, 0, 5, 0, 0, 0, 109, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 37, +0, 0, 0, 70, 0, 0, 0, 53, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 149, 0, 0, 0, 241, 0, 0, 0, 106, 0, 0, 0, 70, 0, 0, 0, 215, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 249, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 93, 0, 0, 0, 119, 0, 0, 0, 91, 0, 0, 0, 226, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 225, 0, 0, 0, 124, 0, 0, 0, 19, 0, 0, 0, 140, 0, 0, 0, 159, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 185, 0, 0, 0, 42, 0, 0, 0, 153, 0, 0, 0, 168, +0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 60, 0, 0, 0, 134, 0, 0, 0, 176, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 247, 0, 0, 0, 245, 0, 0, 0, 86, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 70, 0, 0, 0, 17, 0, 0, 0, 110, 0, 0, 0, 19, 0, 0, 0, 183, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 241, 0, 0, 0, 172, 0, 0, 0, 173, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 248, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 94, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 161, 0, 0, 0, 228, 0, 0, 0, +106, 0, 0, 0, 251, 0, 0, 0, 10, 0, 0, 0, 73, 0, 0, 0, 93, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 2, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 53, 0, 0, 0, 10, 0, 0, 0, 254, 0, 0, 0, 201, 0, 0, 0, 172, 0, 0, 0, 34, 0, 0, 0, 145, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, 0, 149, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 22, 0, 0, 0, 243, 0, 0, 0, 57, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 15, +0, 0, 0, 83, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 31, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 29, 0, 0, 0, 104, 0, 0, 0, 103, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 152, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, +76, 0, 0, 0, 101, 0, 0, 0, 151, 0, 0, 0, 247, 0, 0, 0, 2, 0, 0, 0, 74, 0, 0, 0, 82, 0, 0, 0, 108, 0, 0, 0, 1, 0, 0, 0, 189, 0, 0, 0, 72, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 164, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 155, 0, 0, 0, 90, 0, 0, 0, 162, 0, 0, 0, 144, 0, 0, 0, 211, 0, 0, 0, 184, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0, 130, 0, 0, 0, 40, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 129, 0, 0, 0, 101, 0, 0, 0, 224, 0, 0, 0, 12, +0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 50, 0, 0, 0, 39, 0, 0, 0, 100, 0, 0, 0, 218, 0, 0, 0, 253, 0, 0, 0, 52, 0, 0, 0, 35, 0, 0, 0, 90, 0, 0, 0, 181, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 77, 0, 0, 0, 179, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 200, 0, 0, 0, 31, 0, 0, 0, 138, 0, 0, 0, 57, 0, 0, 0, 102, 0, 0, 0, 230, 0, 0, 0, 186, 0, 0, 0, 76, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 202, 0, 0, 0, 156, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 158, 0, 0, 0, 255, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 142, +0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 103, 0, 0, 0, 24, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 65, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 164, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 252, 0, 0, 0, 21, 0, 0, 0, 36, 0, 0, 0, 187, 0, 0, 0, 126, 0, 0, 0, 203, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 242, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 160, 0, +0, 0, 42, 0, 0, 0, 164, 0, 0, 0, 41, 0, 0, 0, 71, 0, 0, 0, 134, 0, 0, 0, 46, 0, 0, 0, 146, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 213, 0, 0, 0, 62, 0, 0, 0, 166, 0, 0, 0, 185, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 51, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 40, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, +0, 236, 0, 0, 0, 142, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 104, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 41, 0, 0, 0, 28, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 64, 0, 0, 0, 23, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, 124, 0, 0, 0, 46, 0, 0, 0, 93, 0, 0, 0, 10, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 188, 0, 0, 0, 62, 0, 0, 0, 50, 0, 0, 0, 231, 0, 0, 0, 74, 0, 0, 0, 26, 0, 0, 0, +19, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 56, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 173, 0, 0, 0, 82, 0, 0, 0, 247, 0, 0, 0, 207, 0, 0, 0, 188, 0, 0, 0, 39, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 205, 0, 0, 0, 109, 0, 0, 0, 86, 0, 0, 0, 229, 0, 0, 0, 176, 0, 0, 0, 39, 0, 0, 0, 173, 0, 0, 0, 190, 0, 0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 181, 0, 0, 0, 99, 0, 0, 0, 222, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 149, 0, 0, 0, 183, 0, +0, 0, 10, 0, 0, 0, 126, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 69, 0, 0, 0, 111, 0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 117, 0, 0, 0, 143, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 15, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 241, 0, 0, 0, 233, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 136, 0, 0, 0, 170, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 148, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 26, 0, 0, 0, 181, 0, 0, 0, 204, 0, 0, 0, 187, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 156, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 88, 0, 0, 0, 114, 0, 0, 0, 141, 0, 0, 0, 251, 0, 0, 0, 34, 0, 0, 0, 123, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 179, 0, 0, 0, 81, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 116, 0, 0, 0, 61, 0, 0, 0, 242, 0, +0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 3, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 107, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 112, 0, 0, 0, 144, 0, 0, 0, 220, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 251, 0, 0, 0, 73, 0, 0, 0, 252, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 228, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 214, 0, 0, 0, 227, 0, 0, 0, 150, 0, 0, 0, 97, 0, 0, 0, 58, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 155, 0, 0, 0, 31, 0, +0, 0, 144, 0, 0, 0, 164, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 91, 0, 0, 0, 200, 0, 0, 0, 222, 0, 0, 0, 80, 0, 0, 0, 177, 0, 0, 0, 29, 0, 0, 0, 175, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 135, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 170, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 44, 0, 0, 0, 141, 0, 0, 0, 123, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 175, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 217, 0, 0, 0, 69, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 217, 0, 0, 0, 83, 0, +0, 0, 180, 0, 0, 0, 241, 0, 0, 0, 101, 0, 0, 0, 160, 0, 0, 0, 225, 0, 0, 0, 195, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 137, 0, 0, 0, 155, 0, 0, 0, 79, 0, 0, 0, 98, 0, 0, 0, 179, 0, 0, 0, 87, 0, 0, 0, 165, 0, 0, 0, 69, 0, 0, 0, 28, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 234, 0, 0, 0, 175, 0, 0, 0, 209, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 246, 0, 0, 0, 163, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 87, 0, 0, 0, 50, 0, 0, 0, 98, 0, 0, 0, 231, +0, 0, 0, 6, 0, 0, 0, 18, 0, 0, 0, 81, 0, 0, 0, 160, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 94, 0, 0, 0, 164, 0, 0, 0, 32, 0, 0, 0, 120, 0, 0, 0, 49, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 194, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 35, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 117, 0, 0, 0, 48, 0, 0, 0, 34, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 67, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 247, 0, 0, 0, 117, 0, 0, 0, 157, 0, 0, 0, 127, +0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 125, 0, 0, 0, 228, 0, 0, 0, 114, 0, 0, 0, 172, 0, 0, 0, 159, 0, 0, 0, 28, 0, 0, 0, 136, 0, 0, 0, 193, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 60, 0, 0, 0, 28, 0, 0, 0, 93, 0, 0, 0, 180, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 15, 0, 0, 0, 144, 0, 0, 0, 185, 0, 0, 0, 54, 0, 0, 0, 47, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 222, 0, 0, 0, 10, 0, 0, 0, 81, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 243, 0, 0, 0, 188, 0, 0, 0, 81, 0, 0, 0, 236, 0, 0, 0, +223, 0, 0, 0, 177, 0, 0, 0, 162, 0, 0, 0, 95, 0, 0, 0, 46, 0, 0, 0, 104, 0, 0, 0, 161, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 155, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 133, 0, 0, 0, 123, 0, 0, 0, 66, 0, 0, 0, 191, 0, 0, 0, 144, 0, 0, 0, 75, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, 0, 47, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 222, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 195, 0, 0, 0, 109, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 46, 0, 0, 0, 100, 0, 0, 0, 130, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 33, 0, 0, 0, 236, 0, 0, 0, 246, 0, 0, 0, 216, 0, 0, 0, 134, 0, +0, 0, 9, 0, 0, 0, 49, 0, 0, 0, 124, 0, 0, 0, 221, 0, 0, 0, 3, 0, 0, 0, 106, 0, 0, 0, 88, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 183, 0, 0, 0, 155, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 71, 0, 0, 0, 228, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 29, 0, 0, 0, 174, 0, 0, 0, 224, 0, 0, 0, 244, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 197, 0, 0, 0, 185, 0, 0, 0, 88, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 49, 0, +0, 0, 26, 0, 0, 0, 244, 0, 0, 0, 45, 0, 0, 0, 225, 0, 0, 0, 202, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 89, 0, 0, 0, 199, 0, 0, 0, 202, 0, 0, 0, 99, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 169, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 85, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 50, 0, 0, 0, 7, 0, 0, 0, 80, 0, 0, 0, 247, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 222, 0, 0, 0, 117, 0, 0, 0]).concat([88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 58, 0, 0, 0, 31, 0, 0, 0, 245, 0, 0, 0, 247, +0, 0, 0, 121, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 8, 0, 0, 0, 70, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 225, 0, 0, 0, 254, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, 103, 0, 0, 0, 186, 0, 0, 0, 103, 0, 0, 0, 151, 0, 0, 0, 196, 0, 0, 0, 231, 0, 0, 0, 27, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 95, 0, 0, 0, 238, 0, 0, 0, 244, 0, 0, 0, 91, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 205, 0, 0, 0, 173, 0, 0, 0, 238, 0, 0, 0, 194, 0, 0, 0, 72, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 27, 0, 0, 0, 227, +0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 180, 0, 0, 0, 79, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 201, 0, 0, 0, 218, 0, 0, 0, 213, 0, 0, 0, 115, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 243, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 112, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 132, 0, 0, 0, 226, 0, 0, 0, 187, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 158, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 172, 0, 0, 0, 255, 0, 0, 0, 39, 0, 0, 0, 224, 0, 0, 0, 89, +0, 0, 0, 190, 0, 0, 0, 57, 0, 0, 0, 156, 0, 0, 0, 13, 0, 0, 0, 131, 0, 0, 0, 215, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 21, 0, 0, 0, 183, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 48, 0, 0, 0, 115, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 125, 0, 0, 0, 93, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 107, 0, 0, 0, 193, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 34, 0, 0, 0, 254, 0, 0, 0, 127, 0, 0, 0, 251, 0, 0, 0, 53, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 40, 0, 0, 0, 196, 0, 0, 0, 2, 0, +0, 0, 172, 0, 0, 0, 31, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 202, 0, 0, 0, 218, 0, 0, 0, 151, 0, 0, 0, 9, 0, 0, 0, 65, 0, 0, 0, 119, 0, 0, 0, 135, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 135, 0, 0, 0, 120, 0, 0, 0, 245, 0, 0, 0, 251, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 47, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 136, 0, 0, 0, 140, 0, 0, 0, 64, 0, 0, 0, 92, 0, 0, 0, 119, 0, 0, 0, 65, +0, 0, 0, 77, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 76, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 51, 0, 0, 0, 131, 0, 0, 0, 50, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 16, +0, 0, 0, 194, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 110, 0, 0, 0, 244, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 126, 0, 0, 0, 202, 0, 0, 0, 123, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 186, 0, 0, 0, 163, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 103, 0, 0, 0, 51, 0, 0, 0, 212, 0, 0, 0, 135, 0, 0, 0, 54, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 32, 0, 0, 0, 5, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 193, 0, 0, 0, 135, 0, 0, 0, 23, 0, 0, 0, 246, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 47, 0, 0, 0, 218, 0, 0, 0, 56, 0, 0, 0, 167, +0, 0, 0, 27, 0, 0, 0, 252, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 137, 0, 0, 0, 226, 0, 0, 0, 71, 0, 0, 0, 43, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 161, 0, 0, 0, 180, 0, 0, 0, 222, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 49, 0, 0, 0, 81, 0, 0, 0, 245, 0, 0, 0, 224, 0, 0, 0, 164, 0, 0, 0, 11, 0, 0, 0, 92, 0, 0, 0, 229, 0, 0, 0, 198, 0, 0, 0, 4, 0, 0, 0, 142, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 190, 0, 0, 0, 56, 0, 0, 0, 133, 0, 0, 0, 35, 0, 0, 0, 203, +0, 0, 0, 183, 0, 0, 0, 190, 0, 0, 0, 79, 0, 0, 0, 169, 0, 0, 0, 211, 0, 0, 0, 110, 0, 0, 0, 18, 0, 0, 0, 170, 0, 0, 0, 213, 0, 0, 0, 178, 0, 0, 0, 46, 0, 0, 0, 147, 0, 0, 0, 41, 0, 0, 0, 154, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 51, 0, 0, 0, 174, 0, 0, 0, 47, 0, 0, 0, 135, 0, 0, 0, 26, 0, 0, 0, 208, 0, 0, 0, 151, 0, 0, 0, 199, +0, 0, 0, 13, 0, 0, 0, 77, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 5, 0, 0, 0, 132, 0, 0, 0, 236, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 10, 0, 0, 0, 79, 0, 0, 0, 112, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 105, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 211, 0, 0, 0, 138, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 103, 0, 0, 0, 62, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 150, 0, 0, +0, 38, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 231, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 99, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 6, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 240, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 178, 0, 0, 0, 87, 0, 0, 0, 119, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 155, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 190, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 193, 0, 0, 0, 241, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 42, 0, 0, 0, 5, 0, 0, +0, 154, 0, 0, 0, 238, 0, 0, 0, 16, 0, 0, 0, 126, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 38, 0, 0, 0, 233, 0, 0, 0, 64, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 224, 0, 0, 0, 209, 0, 0, 0, 137, 0, 0, 0, 96, 0, 0, 0, 132, 0, 0, 0, 121, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 234, 0, 0, 0, 230, 0, 0, 0, 174, 0, 0, 0, 72, 0, 0, 0, 195, 0, 0, 0, 103, 0, 0, 0, 192, 0, 0, 0, 87, 0, 0, 0, 205, 0, 0, 0, 47, 0, +0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 220, 0, 0, 0, 185, 0, 0, 0, 199, 0, 0, 0, 188, 0, 0, 0, 134, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 40, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 199, 0, 0, 0, 248, 0, 0, 0, 188, 0, 0, 0, 103, 0, 0, 0, 42, 0, 0, 0, 96, 0, 0, 0, 77, 0, 0, 0, 143, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 26, 0, 0, 0, 23, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 61, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 237, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 63, 0, 0, 0, 35, 0, 0, 0, 44, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 54, 0, 0, 0, 88, 0, 0, 0, 87, 0, 0, 0, 158, +0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 92, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, 188, 0, 0, 0, 107, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 111, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 215, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 217, 0, 0, 0, 120, 0, 0, 0, 177, 0, 0, 0, 144, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 179, 0, 0, 0, 181, 0, 0, 0, 25, 0, 0, 0, 63, 0, 0, 0, 27, 0, 0, 0, 250, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 179, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 137, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 128, +0, 0, 0, 50, 0, 0, 0, 19, 0, 0, 0, 160, 0, 0, 0, 123, 0, 0, 0, 26, 0, 0, 0, 111, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 176, 0, 0, 0, 67, 0, 0, 0, 143, 0, 0, 0, 13, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 93, 0, 0, 0, 142, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 243, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 4, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 144, 0, 0, 0, 180, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 63, 0, 0, 0, 176, 0, +0, 0, 59, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 113, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 170, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 96, 0, 0, 0, 168, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 57, 0, 0, 0, 16, 0, 0, 0, 180, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 130, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 83, 0, 0, 0, 176, 0, 0, 0, 174, 0, 0, 0, 193, 0, 0, 0, 141, 0, 0, 0, 201, 0, 0, 0, 143, 0, +0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 119, 0, 0, 0, 239, 0, 0, 0, 186, 0, 0, 0, 121, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 168, 0, 0, 0, 245, 0, 0, 0, 106, 0, 0, 0, 226, 0, 0, 0, 63, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 67, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 29, 0, 0, 0, 43, 0, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 184, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 103, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 225, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, +0, 167, 0, 0, 0, 49, 0, 0, 0, 55, 0, 0, 0, 119, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 18, 0, 0, 0, 159, 0, 0, 0, 244, 0, 0, 0, 63, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 86, 0, 0, 0, 247, 0, 0, 0, 127, 0, 0, 0, 116, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 93, 0, 0, 0, 248, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 48, 0, 0, 0, 221, 0, 0, 0, 204, 0, 0, 0, 56, 0, 0, 0, 165, 0, 0, 0, 211, 0, 0, 0, 202, 0, 0, 0, 216, 0, 0, 0, 209, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 49, 0, +0, 0, 145, 0, 0, 0, 212, 0, 0, 0, 114, 0, 0, 0, 5, 0, 0, 0, 87, 0, 0, 0, 74, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 74, 0, 0, 0, 198, 0, 0, 0, 104, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 24, 0, 0, 0, 65, 0, 0, 0, 97, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 141, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 101, 0, 0, 0, 176, 0, 0, 0, 17, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 163, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, +0, 151, 0, 0, 0, 141, 0, 0, 0, 43, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 216, 0, 0, 0, 244, 0, 0, 0, +252, 0, 0, 0, 179, 0, 0, 0, 160, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 112, 0, 0, 0, 21, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 248, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 24, 0, 0, 0, 204, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 132, 0, 0, 0, 161, 0, 0, 0, 174, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 194, 0, 0, 0, 1, 0, 0, 0, 193, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 96, 0, 0, 0, 16, 0, +0, 0, 164, 0, 0, 0, 108, 0, 0, 0, 45, 0, 0, 0, 103, 0, 0, 0, 112, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 27, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 251, 0, 0, 0, 112, 0, 0, 0, 43, 0, 0, 0, 161, 0, 0, 0, 140, 0, 0, 0, 156, 0, 0, 0, 148, 0, 0, 0, 132, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 105, 0, 0, 0, 93, 0, 0, 0, 29, 0, 0, 0, 60, 0, 0, 0, 175, 0, 0, 0, 187, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 78, 0, 0, 0, 152, 0, 0, 0, 61, 0, +0, 0, 237, 0, 0, 0, 13, 0, 0, 0, 33, 0, 0, 0, 3, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 4, 0, 0, 0, 176, 0, 0, 0, 152, 0, 0, 0, 105, 0, 0, 0, 85, 0, 0, 0, 114, 0, 0, 0, 15, 0, 0, 0, 94, 0, 0, 0, 223, 0, 0, 0, 21, 0, 0, 0, 83, 0, 0, 0, 59, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 176, 0, 0, 0, 241, 0, 0, 0, 112, 0, 0, 0, 104, 0, 0, 0, 143, 0, 0, 0, 102, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 73, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 78, 0, 0, 0, 239, 0, +0, 0, 202, 0, 0, 0, 71, 0, 0, 0, 212, 0, 0, 0, 3, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 205, 0, 0, 0, 36, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 12, 0, 0, 0, 130, 0, 0, 0, 155, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 74, 0, 0, 0, 178, 0, 0, 0, 15, 0, 0, 0, 136, 0, 0, 0, 85, 0, 0, 0, 95, 0, 0, 0, 90, 0, 0, 0, 87, 0, 0, 0, 255, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 11, 0, 0, 0, 19, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, +207, 0, 0, 0, 210, 0, 0, 0, 21, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 220, 0, 0, 0, 255, 0, 0, 0, 21, 0, 0, 0, 97, 0, 0, 0, 47, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 98, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 47, 0, 0, 0, 181, 0, 0, 0, 12, 0, 0, 0, 183, 0, 0, 0, 30, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 15, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 205, 0, 0, 0, 217, 0, 0, 0, 125, 0, 0, 0, 246, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 22, 0, 0, 0, 27, 0, +0, 0, 55, 0, 0, 0, 71, 0, 0, 0, 227, 0, 0, 0, 245, 0, 0, 0, 158, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 231, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 71, 0, 0, 0, 146, 0, 0, 0, 75, 0, 0, 0, 105, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 140, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 160, 0, 0, 0, 174, 0, 0, 0, 37, 0, 0, 0, 105, 0, 0, 0, 50, 0, 0, 0, 161, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, +0, 0, 0, 0, 210, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, 77, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 19, 0, 0, 0, 226, 0, 0, 0, 80, 0, 0, 0, 93, 0, 0, 0, 160, 0, 0, 0, 157, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 220, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 227, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 112, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 40, 0, 0, 0, 73, 0, 0, 0, 121, 0, 0, 0, 255, 0, 0, 0, 37, 0, 0, 0, 210, 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, 141, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 174, 0, 0, 0, 155, 0, 0, 0, 102, 0, 0, 0, 228, 0, 0, 0, 125, 0, 0, 0, 192, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 163, +0, 0, 0, 252, 0, 0, 0, 236, 0, 0, 0, 78, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 20, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 106, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 56, 0, 0, 0, 70, 0, 0, 0, 226, 0, 0, 0, 115, 0, 0, 0, 234, 0, 0, 0, 75, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 124, 0, 0, 0, 158, 0, 0, 0, 94, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, +0, 33, 0, 0, 0, 79, 0, 0, 0, 46, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 40, 0, 0, 0, 96, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 50, 0, 0, 0, 157, 0, 0, 0, 190, 0, 0, 0, 23, 0, 0, 0, 48, 0, 0, 0, 42, 0, 0, 0, 198, 0, 0, 0, 24, 0, 0, 0, 146, 0, 0, 0, 102, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 152, 0, 0, 0, 64, 0, 0, 0, 17, 0, 0, 0, 166, 0, 0, 0, 127, 0, 0, 0, 24, 0, 0, 0, 132, 0, 0, 0, 40, 0, 0, 0, 63, 0, 0, 0, 171, 0, 0, 0, 211, 0, 0, 0, 244, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, +60, 0, 0, 0, 202, 0, 0, 0, 45, 0, 0, 0, 73, 0, 0, 0, 195, 0, 0, 0, 234, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 133, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 223, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 81, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 6, 0, 0, 0, 79, 0, 0, 0, 138, 0, 0, 0, 33, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 168, 0, 0, 0, 186, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, +0, 246, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 77, 0, 0, 0, 86, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 46, 0, 0, 0, 79, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 50, 0, 0, 0, 8, 0, 0, 0, 159, 0, 0, 0, 151, 0, 0, 0, 91, 0, 0, 0, 229, 0, 0, 0, 68, 0, 0, 0, 236, 0, 0, 0, 6, 0, 0, 0, 157, 0, 0, 0, 144, 0, 0, 0, 121, 0, 0, 0, 159, 0, 0, 0, 211, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 143, 0, 0, 0, 16, 0, 0, 0, 253, 0, 0, 0, 221, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, +39, 0, 0, 0, 151, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 234, 0, 0, 0, 184, 0, 0, 0, 78, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 89, 0, 0, 0, 87, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 26, 0, 0, 0, 218, 0, 0, 0, 243, 0, 0, 0, 165, 0, 0, 0, 65, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 126, 0, 0, 0, 231, 0, 0, 0, 113, 0, 0, 0, 234, 0, 0, 0, 198, 0, 0, 0, 59, 0, 0, 0, 89, 0, 0, 0, 204, 0, 0, 0, 46, 0, 0, 0, 211, 0, 0, 0, 64, 0, 0, 0, 236, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 111, 0, 0, 0, +68, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 55, 0, 0, 0, 242, 0, 0, 0, 110, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 239, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 113, 0, 0, 0, 140, 0, 0, 0, 246, 0, 0, 0, 17, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 79, 0, 0, 0, 38, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 203, 0, 0, 0, 239, 0, 0, 0, 145, 0, 0, 0, +235, 0, 0, 0, 106, 0, 0, 0, 98, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 74, 0, 0, 0, 162, 0, 0, 0, 151, 0, 0, 0, 8, 0, 0, 0, 129, 0, 0, 0, 45, 0, 0, 0, 131, 0, 0, 0, 196, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 131, 0, 0, 0, 126, 0, 0, 0, 236, +0, 0, 0, 13, 0, 0, 0, 149, 0, 0, 0, 76, 0, 0, 0, 91, 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 152, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 12, 0, 0, 0, 81, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 39, 0, 0, 0, 59, 0, 0, 0, 185, 0, 0, 0, 184, 0, 0, 0, 6, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 254, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 218, 0, 0, 0, 99, 0, 0, 0, 72, 0, 0, +0, 155, 0, 0, 0, 173, 0, 0, 0, 222, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 188, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 39, 0, 0, 0, 101, 0, 0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 55, 0, 0, 0, 49, 0, 0, 0, 125, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 173, 0, 0, 0, 135, 0, 0, 0, 7, 0, 0, 0, 42, 0, 0, 0, 107, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 235, 0, 0, 0, 78, 0, 0, 0, 117, 0, 0, 0, 53, 0, 0, 0, 166, 0, 0, 0, 222, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 25, 0, 0, +0, 58, 0, 0, 0, 183, 0, 0, 0, 177, 0, 0, 0, 239, 0, 0, 0, 146, 0, 0, 0, 106, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 178, 0, 0, 0, 148, 0, 0, 0, 109, 0, 0, 0, 57, 0, 0, 0, 96, 0, 0, 0, 172, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 129, 0, 0, 0, 26, 0, 0, 0, 59, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 92, 0, 0, 0, 5, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 128, 0, 0, 0, 233, 0, 0, 0, 34, 0, 0, 0, 177, 0, 0, 0, 7, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 158, 0, 0, 0, 112, 0, 0, +0, 73, 0, 0, 0, 109, 0, 0, 0, 18, 0, 0, 0, 253, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 76, 0, 0, 0, 125, 0, 0, 0, 110, 0, 0, 0, 89, 0, 0, 0, 166, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 132, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 242, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 81, 0, 0, 0, 247, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 164, 0, 0, 0, 75, 0, 0, 0, +98, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 253, 0, 0, 0, 114, 0, 0, 0, 7, 0, 0, 0, 242, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 242, 0, 0, 0, 189, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 186, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 177, 0, 0, 0, 31, 0, 0, 0, 23, 0, 0, 0, 10, 0, 0, 0, 56, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 244, 0, 0, 0, 42, 0, 0, 0, 85, 0, 0, 0, 96, 0, 0, 0, 85, 0, 0, 0, 91, 0, 0, 0, 228, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, +76, 0, 0, 0, 157, 0, 0, 0, 91, 0, 0, 0, 159, 0, 0, 0, 112, 0, 0, 0, 166, 0, 0, 0, 133, 0, 0, 0, 154, 0, 0, 0, 44, 0, 0, 0, 160, 0, 0, 0, 226, 0, 0, 0, 50, 0, 0, 0, 72, 0, 0, 0, 206, 0, 0, 0, 158, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 7, 0, 0, 0, 59, 0, 0, 0, 199, 0, 0, 0, 108, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 222, 0, 0, 0, 60, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 122, 0, 0, 0, 150, 0, 0, 0, 126, 0, 0, 0, 67, 0, 0, 0, 87, 0, 0, 0, 169, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, +114, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 211, 0, 0, 0, 211, 0, 0, 0, 182, 0, 0, 0, 133, 0, 0, 0, 246, 0, 0, 0, 113, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 215, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 123, 0, 0, 0, 121, 0, 0, 0, 243, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 246, 0, 0, 0, 237, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 123, 0, 0, 0, 228, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 101, 0, 0, 0, 158, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 34, 0, 0, 0, 38, 0, 0, 0, 83, 0, 0, 0, 203, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 167, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 215, 0, 0, 0, +197, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 189, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 99, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 49, 0, 0, 0, 94, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 21, 0, 0, 0, 145, 0, 0, 0, 166, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 26, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 47, 0, 0, 0, 152, 0, 0, 0, 4, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 33, 0, 0, 0, 97, 0, 0, 0, 9, 0, 0, 0, 246, 0, 0, 0, 78, 0, 0, 0, 241, 0, 0, 0, 146, 0, +0, 0, 238, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0, 115, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 84, 0, 0, 0, 14, 0, 0, 0, 66, 0, 0, 0, 75, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 184, 0, 0, 0, 126, 0, 0, 0, 145, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 184, 0, 0, 0, 221, 0, 0, 0, 127, 0, 0, 0, 80, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 190, 0, 0, 0, 93, 0, 0, 0, 214, 0, 0, 0, 159, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 157, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 58, +0, 0, 0, 123, 0, 0, 0, 152, 0, 0, 0, 88, 0, 0, 0, 187, 0, 0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 63, 0, 0, 0, 19, 0, 0, 0, 241, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 223, 0, 0, 0, 248, 0, 0, 0, 152, 0, 0, 0, 137, 0, 0, 0, 93, 0, 0, 0, 250, 0, 0, 0, 95, 0, 0, 0, 158, 0, 0, 0, 53, 0, 0, 0, 133, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 21, 0, 0, 0, 38, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 237, 0, 0, 0, 138, 0, 0, 0, 128, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 66, 0, 0, 0, 134, +0, 0, 0, 39, 0, 0, 0, 215, 0, 0, 0, 244, 0, 0, 0, 117, 0, 0, 0, 88, 0, 0, 0, 220, 0, 0, 0, 156, 0, 0, 0, 192, 0, 0, 0, 34, 0, 0, 0, 126, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 253, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 151, 0, 0, 0, 186, 0, 0, 0, 112, 0, 0, 0, 187, 0, 0, 0, 163, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 11, 0, 0, 0, 18, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 71, 0, 0, 0, 248, 0, 0, 0, 230, 0, 0, 0, 208, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 51, 0, 0, 0, 168, +0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 110, 0, 0, 0, 15, 0, 0, 0, 68, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 72, 0, 0, 0, 15, 0, 0, 0, 163, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 55, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 67, 0, 0, 0, 174, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 235, 0, 0, 0, 248, 0, 0, 0, 175, 0, 0, 0, 212, 0, 0, 0, 162, 0, 0, 0, 104, +0, 0, 0, 51, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 27, 0, 0, 0, 171, 0, 0, 0, 236, 0, 0, 0, 1, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 234, 0, 0, 0, 61, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 120, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 56, 0, 0, 0, 237, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 232, 0, 0, 0, 65, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 46, 0, 0, 0, 167, 0, 0, 0, 171, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 97, 0, 0, 0, 0, +0, 0, 0, 136, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 206, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 98, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 63, 0, 0, 0, 96, 0, 0, 0, 193, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 40, 0, 0, 0, 88, 0, 0, 0, 36, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 227, 0, 0, 0, 112, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 78, 0, 0, 0, 26, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 60, 0, 0, 0, 164, 0, 0, +0, 65, 0, 0, 0, 224, 0, 0, 0, 101, 0, 0, 0, 163, 0, 0, 0, 10, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 49, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 86, 0, 0, 0, 148, 0, 0, 0, 91, 0, 0, 0, 40, 0, 0, 0, 138, 0, 0, 0, 170, 0, 0, 0, 82, 0, 0, 0, 238, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 5, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 181, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 56, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 135, 0, 0, 0, 247, 0, 0, 0, 43, 0, 0, 0, 251, 0, 0, 0, 4, 0, 0, 0, 203, 0, 0, 0, 132, +0, 0, 0, 61, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 239, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 147, 0, 0, 0, 110, 0, 0, 0, 46, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 88, 0, 0, 0, 39, 0, 0, 0, 43, 0, 0, 0, 24, 0, 0, 0, 143, 0, 0, 0, 131, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 158, 0, 0, 0, 212, 0, 0, 0, 62, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 137, 0, 0, 0, 201, 0, +0, 0, 99, 0, 0, 0, 98, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 196, 0, 0, 0, 38, 0, 0, 0, 104, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 46, 0, 0, 0, 55, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 180, 0, 0, 0, 156, 0, 0, 0, 182, 0, 0, 0, 249, 0, 0, 0, 251, 0, 0, 0, 212, 0, 0, 0, 81, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 119, 0, 0, 0, 71, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 121, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 90, 0, 0, +0, 7, 0, 0, 0, 20, 0, 0, 0, 15, 0, 0, 0, 160, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 208, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 171, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 212, 0, 0, 0, 118, 0, 0, 0, 239, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 108, 0, 0, 0, 161, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 79, 0, 0, 0, 251, 0, 0, 0, 225, 0, 0, 0, 112, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, +149, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 198, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 6, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 180, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 134, 0, 0, 0, 3, 0, 0, 0, 76, 0, 0, 0, 172, 0, 0, 0, 2, 0, 0, 0, 119, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 215, 0, 0, 0, 96, 0, 0, 0, 72, 0, 0, 0, 7, 0, 0, 0, 240, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 255, 0, 0, 0, 84, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 67, 0, 0, 0, 255, 0, 0, 0, 119, 0, 0, 0, 251, 0, 0, 0, 33, 0, +0, 0, 7, 0, 0, 0, 255, 0, 0, 0, 178, 0, 0, 0, 7, 0, 0, 0, 107, 0, 0, 0, 228, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 44, 0, 0, 0, 172, 0, 0, 0, +211, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 124, 0, 0, 0, 41, 0, 0, 0, 247, 0, 0, 0, 5, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 214, 0, 0, 0, 47, 0, 0, 0, 12, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 101, 0, 0, 0, 155, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 13, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 30, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 116, 0, 0, 0, 126, 0, 0, 0, 177, 0, 0, 0, 137, 0, 0, 0, 79, 0, 0, 0, 24, 0, 0, 0, +90, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 6, 0, 0, 0, 223, 0, 0, 0, 69, 0, 0, 0, 135, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 240, 0, 0, 0, 14, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 180, 0, 0, 0, 196, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 39, 0, 0, 0, 228, 0, 0, 0, 193, 0, 0, 0, 144, 0, 0, 0, 255, 0, 0, 0, 74, 0, 0, 0, +167, 0, 0, 0, 60, 0, 0, 0, 238, 0, 0, 0, 205, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0]).concat([37, 0, 0, 0, 148, 0, 0, 0, 127, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 100, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 117, 0, 0, 0, 110, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 94, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 26, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 67, +0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 123, 0, 0, 0, 142, 0, 0, 0, 19, 0, 0, 0, 66, 0, 0, 0, 212, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 251, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 119, 0, 0, 0, 34, 0, 0, 0, 248, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 174, 0, 0, 0, 98, 0, 0, 0, 53, 0, 0, 0, 251, 0, 0, 0, 154, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 228, +0, 0, 0, 12, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 192, 0, 0, 0, 137, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 173, 0, 0, 0, 174, 0, 0, 0, 133, 0, 0, 0, 88, 0, 0, 0, 67, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 230, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 120, 0, 0, 0, 136, 0, 0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 156, 0, 0, 0, 252, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 65, 0, 0, 0, 95, 0, 0, 0, 183, 0, 0, 0, 188, 0, 0, 0, 17, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 54, +0, 0, 0, 28, 0, 0, 0, 83, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 161, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 145, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 100, 0, 0, 0, 184, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 222, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 71, 0, 0, 0, 184, 0, 0, 0, 198, 0, 0, 0, 10, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 214, 0, 0, 0, 27, 0, 0, +0, 154, 0, 0, 0, 108, 0, 0, 0, 229, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 112, 0, 0, 0, 150, 0, 0, 0, 141, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 82, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 187, 0, 0, 0, 15, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 155, 0, 0, 0, 4, 0, 0, 0, 187, 0, 0, 0, 81, 0, 0, 0, 8, 0, 0, 0, 241, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 118, 0, 0, 0, 124, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 148, 0, 0, 0, 247, 0, 0, 0, 64, 0, 0, 0, 208, 0, 0, 0, 215, 0, 0, 0, 235, 0, 0, 0, 169, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 213, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 51, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 138, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 55, 0, 0, 0, 245, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, +189, 0, 0, 0, 187, 0, 0, 0, 50, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 153, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 179, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 61, 0, 0, 0, 153, 0, 0, 0, 202, 0, 0, 0, 210, 0, 0, 0, 244, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 142, 0, 0, 0, 79, 0, 0, 0, 152, 0, 0, 0, 183, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 62, 0, 0, 0, 159, 0, 0, 0, 142, 0, 0, 0, 53, 0, 0, 0, 96, 0, 0, 0, 164, 0, 0, 0, 51, 0, 0, 0, 117, 0, 0, 0, 164, 0, 0, 0, 4, 0, 0, 0, 147, 0, 0, +0, 177, 0, 0, 0, 107, 0, 0, 0, 77, 0, 0, 0, 151, 0, 0, 0, 157, 0, 0, 0, 168, 0, 0, 0, 205, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 185, 0, 0, 0, 231, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 253, 0, 0, 0, 168, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 100, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 27, 0, 0, 0, 201, 0, 0, 0, 158, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 238, 0, 0, 0, 3, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 237, 0, 0, 0, 183, +0, 0, 0, 132, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 211, 0, 0, 0, 161, 0, 0, 0, 107, 0, 0, 0, 36, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 89, 0, 0, 0, 121, 0, 0, 0, 98, 0, 0, 0, 159, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 243, 0, 0, 0, 201, 0, 0, 0, 137, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 204, 0, 0, 0, 47, 0, 0, 0, 190, 0, 0, 0, 214, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 5, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 137, 0, 0, 0, 139, +0, 0, 0, 93, 0, 0, 0, 27, 0, 0, 0, 203, 0, 0, 0, 12, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 118, 0, 0, 0, 219, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 122, 0, 0, 0, 204, 0, 0, 0, 103, 0, 0, 0, 70, 0, 0, 0, 11, 0, 0, 0, 83, 0, 0, 0, 207, 0, 0, 0, 194, 0, 0, 0, 161, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 222, 0, 0, 0, 28, +0, 0, 0, 248, 0, 0, 0, 108, 0, 0, 0, 143, 0, 0, 0, 248, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 231, 0, 0, 0, 254, 0, 0, 0, 178, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 10, 0, 0, 0, 102, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 228, 0, 0, 0, 111, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 140, 0, 0, 0, 107, 0, 0, 0, 190, 0, 0, 0, 252, 0, 0, 0, 77, 0, 0, 0, 112, 0, 0, 0, 98, 0, 0, 0, 110, 0, 0, 0, 82, 0, 0, 0, 119, 0, 0, 0, 153, 0, 0, 0, 136, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 87, 0, 0, 0, +122, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 220, 0, 0, 0, 114, 0, 0, 0, 146, 0, 0, 0, 241, 0, 0, 0, 104, 0, 0, 0, 29, 0, 0, 0, 151, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 141, 0, 0, 0, 83, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 83, 0, 0, 0, 136, 0, 0, 0, 119, 0, 0, 0, 2, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 168, 0, 0, 0, 229, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 42, 0, 0, 0, 171, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 234, 0, 0, 0, 45, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 23, 0, 0, 0, +55, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 220, 0, 0, 0, 224, 0, 0, 0, 74, 0, 0, 0, 183, 0, 0, 0, 125, 0, 0, 0, 130, 0, 0, 0, 16, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 100, 0, 0, 0, 30, 0, 0, 0, 20, 0, 0, 0, 10, 0, 0, 0, 87, 0, 0, 0, 212, 0, +0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 155, 0, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 103, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 213, 0, 0, 0, 168, 0, 0, 0, 215, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 69, 0, 0, 0, 251, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 140, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 232, 0, 0, 0, 82, 0, 0, 0, 54, 0, 0, 0, 212, 0, 0, 0, 33, 0, 0, 0, 163, 0, +0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 248, 0, 0, 0, 113, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 145, 0, 0, 0, 112, 0, 0, 0, 134, 0, 0, 0, 86, 0, 0, 0, 191, 0, 0, 0, 161, 0, 0, 0, 17, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 225, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, 50, 0, 0, 0, 152, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, 0, 18, 0, 0, 0, 240, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 185, 0, 0, 0, 93, 0, 0, 0, 228, 0, 0, 0, 105, +0, 0, 0, 237, 0, 0, 0, 178, 0, 0, 0, 71, 0, 0, 0, 24, 0, 0, 0, 189, 0, 0, 0, 206, 0, 0, 0, 22, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 165, 0, 0, 0, 37, 0, 0, 0, 82, 0, 0, 0, 93, 0, 0, 0, 185, 0, 0, 0, 177, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 78, 0, 0, 0, 188, 0, 0, 0, 238, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 129, 0, 0, 0, 119, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 198, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 91, 0, 0, 0, 107, 0, 0, 0, 99, 0, 0, 0, 146, +0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 238, 0, 0, 0, 79, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 126, 0, 0, 0, 33, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 233, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 189, 0, 0, 0, 222, 0, 0, 0, 186, 0, 0, 0, 173, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 9, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 176, 0, 0, 0, 127, 0, 0, 0, +242, 0, 0, 0, 161, 0, 0, 0, 209, 0, 0, 0, 192, 0, 0, 0, 179, 0, 0, 0, 109, 0, 0, 0, 98, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 119, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 215, 0, 0, 0, 184, 0, 0, 0, 216, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 61, 0, 0, 0, 214, 0, 0, 0, 78, 0, 0, 0, 28, 0, 0, 0, 15, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 241, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 177, 0, 0, 0, 185, 0, 0, 0, 236, 0, 0, 0, 153, 0, 0, 0, 180, +0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 87, 0, 0, 0, 46, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 36, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 57, 0, 0, 0, 70, 0, 0, 0, 142, 0, 0, 0, 137, 0, 0, 0, 106, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 35, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 54, 0, 0, 0, 227, 0, 0, 0, 87, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 222, 0, 0, 0, 111, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, +74, 0, 0, 0, 249, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 105, 0, 0, 0, 82, 0, 0, 0, 229, 0, 0, 0, 91, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 37, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 232, 0, 0, 0, 185, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 173, 0, 0, 0, 189, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 148, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 171, 0, 0, 0, 169, 0, 0, 0, 37, 0, 0, 0, 45, 0, 0, 0, 172, 0, 0, 0, 95, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 126, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 216, 0, 0, 0, 119, 0, +0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 91, 0, 0, 0, 112, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 27, 0, 0, 0, 12, 0, 0, 0, 103, 0, 0, 0, 205, 0, 0, 0, 214, 0, 0, 0, 224, 0, 0, 0, 81, 0, 0, 0, 142, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 136, 0, 0, 0, 240, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 35, 0, 0, 0, 212, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 23, 0, 0, 0, 20, 0, +0, 0, 123, 0, 0, 0, 170, 0, 0, 0, 112, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 251, 0, 0, 0, 245, 0, 0, 0, 191, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 8, 0, 0, 0, 122, 0, 0, 0, 221, 0, 0, 0, 161, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 84, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 35, 0, 0, 0, 119, 0, 0, 0, 35, 0, 0, 0, 245, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 34, 0, 0, 0, 209, 0, 0, 0, 13, 0, 0, 0, 150, 0, 0, 0, 46, 0, 0, 0, 71, 0, 0, 0, 204, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 137, 0, 0, 0, 87, 0, +0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 117, 0, 0, 0, 228, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 186, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 235, 0, 0, 0, 199, 0, 0, 0, 79, 0, 0, 0, 21, 0, 0, 0, 118, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 239, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 130, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 168, 0, 0, 0, 209, 0, 0, 0, 218, 0, 0, 0, 20, 0, +0, 0, 9, 0, 0, 0, 72, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 64, 0, 0, 0, 152, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 90, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 225, 0, 0, 0, 3, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 130, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 233, 0, 0, 0, 40, 0, 0, 0, 199, 0, 0, 0, 164, 0, 0, 0, 207, 0, 0, 0, 42, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 100, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 236, 0, +0, 0, 160, 0, 0, 0, 242, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 181, 0, 0, 0, 144, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 91, 0, 0, 0, 74, 0, 0, 0, 73, 0, 0, 0, 228, 0, 0, 0, 184, 0, 0, 0, 59, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 166, 0, 0, 0, 161, 0, 0, 0, 24, 0, 0, 0, 68, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 119, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 12, 0, 0, 0, 201, 0, 0, 0, 214, 0, 0, 0, 68, +0, 0, 0, 169, 0, 0, 0, 35, 0, 0, 0, 39, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 249, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 102, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 216, 0, 0, 0, 226, 0, 0, 0, 102, 0, 0, 0, 197, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 252, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 168, 0, 0, 0, 79, +0, 0, 0, 168, 0, 0, 0, 94, 0, 0, 0, 128, 0, 0, 0, 69, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 30, 0, 0, 0, 236, 0, 0, 0, 247, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 96, 0, +0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 192, 0, 0, 0, 255, 0, 0, 0, 94, 0, 0, 0, 103, 0, 0, 0, 195, 0, 0, 0, 113, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 56, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 211, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 60, 0, 0, 0, 146, 0, 0, 0, 248, 0, 0, 0, 214, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 66, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 74, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 114, 0, 0, 0, 63, 0, 0, 0, 201, 0, 0, 0, 17, 0, 0, +0, 189, 0, 0, 0, 116, 0, 0, 0, 2, 0, 0, 0, 14, 0, 0, 0, 245, 0, 0, 0, 19, 0, 0, 0, 157, 0, 0, 0, 131, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 222, 0, 0, 0, 196, 0, 0, 0, 30, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 39, 0, 0, 0, 82, 0, 0, 0, 228, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 148, 0, 0, 0, 230, 0, 0, 0, 195, 0, 0, 0, 40, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 86, 0, 0, 0, 172, 0, 0, 0, 250, 0, 0, 0, 182, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 204, 0, 0, 0, 118, 0, 0, 0, 198, 0, +0, 0, 39, 0, 0, 0, 39, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 132, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 189, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 234, 0, 0, 0, 167, 0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 4, 0, 0, 0, 97, 0, 0, 0, 128, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 110, 0, 0, 0, 165, 0, 0, 0, 150, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 200, 0, 0, 0, 195, 0, 0, 0, 24, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 253, 0, 0, 0, 38, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 123, 0, 0, 0, 146, +0, 0, 0, 81, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 101, 0, 0, 0, 87, 0, 0, 0, 184, 0, 0, 0, 73, 0, 0, 0, 171, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 195, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 85, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 165, 0, 0, 0, 199, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 247, 0, 0, 0, 3, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 153, 0, 0, 0, 245, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 102, 0, 0, 0, 40, 0, 0, +0, 245, 0, 0, 0, 37, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 112, 0, 0, 0, 93, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 86, 0, 0, 0, 149, 0, 0, 0, 70, 0, 0, 0, 222, 0, 0, 0, 189, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 180, 0, 0, 0, 87, 0, 0, 0, 89, 0, 0, 0, 137, 0, 0, 0, 235, 0, 0, 0, 2, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 137, 0, 0, 0, 25, 0, 0, 0, 167, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 103, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, +0, 154, 0, 0, 0, 154, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 58, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 106, 0, 0, 0, 157, 0, 0, 0, 234, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 73, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 65, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 240, 0, 0, 0, 247, 0, 0, 0, 79, 0, 0, 0, 249, 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 137, 0, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, +203, 0, 0, 0, 226, 0, 0, 0, 195, 0, 0, 0, 193, 0, 0, 0, 139, 0, 0, 0, 117, 0, 0, 0, 129, 0, 0, 0, 190, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 28, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 167, 0, 0, 0, 53, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 170, 0, 0, 0, 226, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 72, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 138, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 250, 0, 0, 0, 240, 0, 0, 0, 122, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 247, 0, 0, 0, 131, 0, 0, 0, 128, 0, 0, 0, 82, 0, 0, 0, 132, 0, 0, 0, 43, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 196, 0, 0, 0, 93, 0, 0, 0, 79, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, 0, 151, 0, 0, 0, +196, 0, 0, 0, 96, 0, 0, 0, 212, 0, 0, 0, 177, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 199, 0, 0, 0, 64, 0, 0, 0, 56, 0, 0, 0, 115, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 243, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 178, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 87, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 237, 0, 0, 0, 8, 0, 0, 0, 162, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 181, 0, 0, 0, 14, 0, 0, 0, 238, 0, 0, 0, 68, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, +0, 4, 0, 0, 0, 25, 0, 0, 0, 86, 0, 0, 0, 101, 0, 0, 0, 49, 0, 0, 0, 127, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 71, 0, 0, 0, 137, 0, 0, 0, 151, 0, 0, 0, 22, 0, 0, 0, 83, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 178, 0, 0, 0, 191, 0, 0, 0, 103, 0, 0, 0, 235, 0, 0, 0, 114, 0, 0, 0, 96, 0, 0, 0, 129, 0, 0, 0, 13, 0, 0, 0, 72, 0, 0, 0, 126, 0, 0, 0, 19, 0, 0, 0, 51, 0, 0, 0, 205, 0, 0, 0, 168, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, +0, 175, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 172, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 73, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 181, 0, 0, 0, 67, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 31, 0, 0, 0, 255, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 225, 0, 0, 0, 48, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 117, 0, 0, +0, 25, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 95, 0, 0, 0, 248, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 89, 0, 0, 0, 139, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 255, 0, 0, 0, 118, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 75, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 217, 0, 0, 0, 17, 0, 0, 0, 137, 0, 0, 0, 90, 0, 0, 0, 70, 0, 0, 0, 254, 0, 0, 0, +239, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 69, 0, 0, 0, 167, 0, 0, 0, 176, 0, 0, 0, 45, 0, 0, 0, 251, 0, 0, 0, 36, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 172, 0, 0, 0, 130, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 128, 0, 0, 0, 102, 0, 0, 0, 144, 0, 0, 0, 70, 0, 0, 0, 247, 0, 0, 0, 38, 0, 0, 0, 45, 0, 0, 0, 248, 0, 0, 0, +241, 0, 0, 0, 196, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 130, 0, 0, 0, 152, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 63, 0, 0, 0, 178, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 117, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 196, 0, 0, 0, 146, 0, 0, 0, 123, 0, 0, 0, 254, 0, 0, 0, 96, 0, 0, 0, 110, 0, 0, 0, 109, 0, 0, 0, 184, 0, 0, 0, 49, 0, 0, 0, 29, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, +0, 20, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 168, 0, 0, 0, 216, 0, 0, 0, 4, 0, 0, 0, 155, 0, 0, 0, 115, 0, 0, 0, 201, 0, 0, 0, 201, 0, 0, 0, 220, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 191, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 115, +0, 0, 0, 255, 0, 0, 0, 24, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 170, 0, 0, 0, 198, 0, 0, 0, 241, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 253, 0, 0, 0, 171, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 211, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 227, 0, 0, 0, 126, 0, 0, 0, 56, 0, 0, 0, 98, 0, 0, 0, 94, 0, 0, 0, 100, 0, 0, 0, 187, 0, 0, 0, 43, 0, 0, 0, 83, 0, 0, 0, 181, 0, 0, 0, 3, 0, 0, 0, 104, 0, 0, 0, 196, 0, 0, 0, 242, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 3, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, +0, 74, 0, 0, 0, 65, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 26, 0, 0, 0, 174, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 232, 0, 0, 0, 221, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 244, 0, 0, 0, 179, 0, 0, 0, 178, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 237, 0, 0, 0, 139, 0, 0, 0, 191, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 232, 0, +0, 0, 38, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 150, 0, 0, 0, 114, 0, 0, 0, 200, 0, 0, 0, 9, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 201, 0, 0, 0, 38, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 212, 0, 0, 0, 161, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 194, 0, 0, 0, 4, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 118, 0, 0, 0, 60, 0, 0, 0, 2, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, 12, 0, 0, 0, 34, 0, 0, 0, 183, 0, 0, 0, 198, 0, 0, 0, 225, 0, 0, 0, 172, 0, 0, 0, 180, +0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 133, 0, 0, 0, 231, 0, 0, 0, 239, 0, 0, 0, 222, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 191, 0, 0, 0, 90, 0, 0, 0, 224, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 98, 0, 0, 0, 133, 0, 0, 0, 161, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 136, 0, 0, 0, 236, 0, 0, 0, 97, 0, 0, 0, 185, 0, 0, 0, 150, 0, 0, 0, 181, 0, 0, 0, 239, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 204, +0, 0, 0, 228, 0, 0, 0, 207, 0, 0, 0, 108, 0, 0, 0, 255, 0, 0, 0, 128, 0, 0, 0, 71, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 216, 0, 0, 0, 233, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 0, 127, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 29, 0, 0, 0, 29, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 87, 0, 0, 0, 64, 0, 0, 0, 198, 0, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 210, 0, 0, 0, 142, 0, 0, 0, 155, 0, 0, 0, 250, 0, 0, 0, 66, 0, 0, 0, 142, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 199, +0, 0, 0, 134, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 87, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 13, 0, 0, 0, 53, 0, 0, 0, 219, 0, 0, 0, 93, 0, 0, 0, 139, 0, 0, 0, 106, 0, 0, 0, 160, 0, 0, 0, 90, 0, 0, 0, 193, 0, 0, 0, 88, 0, 0, 0, 124, 0, 0, 0, 13, 0, 0, 0, 32, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 38, 0, 0, 0, 95, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 248, 0, +0, 0, 139, 0, 0, 0, 227, 0, 0, 0, 223, 0, 0, 0, 50, 0, 0, 0, 226, 0, 0, 0, 252, 0, 0, 0, 216, 0, 0, 0, 103, 0, 0, 0, 242, 0, 0, 0, 165, 0, 0, 0, 55, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 124, 0, 0, 0, 39, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 233, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 69, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 121, 0, 0, 0, 37, 0, 0, 0, 20, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 80, 0, 0, 0, 217, 0, 0, 0, 99, 0, 0, 0, 86, 0, 0, 0, 183, 0, 0, 0, 86, 0, 0, 0, 59, 0, 0, 0, 158, 0, 0, 0, 167, 0, 0, 0, 239, 0, 0, 0, 137, 0, 0, 0, 187, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 127, 0, 0, 0, 220, 0, 0, 0, 10, 0, 0, +0, 204, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 10, 0, 0, 0, 120, 0, 0, 0, 113, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 15, 0, 0, 0, 167, 0, 0, 0, 17, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 56, 0, 0, 0, 215, 0, 0, 0, 167, 0, 0, 0, 13, 0, 0, 0, 248, 0, 0, 0, 72, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 123, 0, 0, 0, 129, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, +0, 14, 0, 0, 0, 5, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 104, 0, 0, 0, 45, 0, 0, 0, 217, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 25, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 33, 0, 0, 0, 151, 0, 0, 0, 21, 0, 0, 0, 161, 0, 0, 0, 53, 0, 0, 0, 165, 0, 0, 0, 70, 0, 0, 0, 200, 0, 0, 0, 162, 0, 0, 0, 14, 0, 0, 0, 27, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 27, 0, 0, 0, 151, 0, 0, 0, 75, 0, 0, 0, 242, 0, 0, 0, 22, 0, 0, 0, 49, 0, 0, 0, 61, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 160, 0, +0, 0, 80, 0, 0, 0, 58, 0, 0, 0, 24, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 161, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 5, 0, 0, 0, 123, 0, 0, 0, 51, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 59, 0, 0, 0, 186, 0, 0, 0, 54, 0, 0, 0, 123, 0, 0, 0, 109, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0, 197, 0, 0, 0, 250, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 153, 0, 0, 0, 204, 0, 0, 0, 86, 0, 0, 0, 2, 0, 0, 0, 233, 0, 0, 0, 160, 0, +0, 0, 38, 0, 0, 0, 64, 0, 0, 0, 102, 0, 0, 0, 140, 0, 0, 0, 196, 0, 0, 0, 248, 0, 0, 0, 133, 0, 0, 0, 51, 0, 0, 0, 104, 0, 0, 0, 231, 0, 0, 0, 3, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 207, 0, 0, 0, 20, 0, 0, 0, 164, 0, 0, 0, 169, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 70, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 101, 0, 0, 0, 13, 0, 0, 0, 156, 0, 0, 0, 95, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 226, 0, 0, 0, 151, 0, +0, 0, 165, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 74, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 125, 0, 0, 0, 119, 0, 0, 0, 14, 0, 0, 0, 42, 0, 0, 0, 109, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 132, 0, 0, 0, 6, 0, 0, 0, 196, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 166, 0, 0, 0, 198, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 173, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 145, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 103, 0, 0, 0, 29, 0, 0, 0, 44, 0, +0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 254, 0, 0, 0, 122, 0, 0, 0, 116, 0, 0, 0, 207, 0, 0, 0, 212, 0, 0, 0, 210, 0, 0, 0, 229, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 106, 0, 0, 0, 119, 0, 0, 0, 220, 0, 0, 0, 107, 0, 0, 0, 34, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 21, 0, 0, 0, 23, 0, 0, 0, 235, 0, 0, 0, 211, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 94, 0, 0, 0, 1, 0, 0, 0, 240, 0, 0, 0, 145, 0, 0, 0, 171, 0, 0, 0, 44, 0, 0, 0, 65, 0, 0, 0, 206, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 27, 0, 0, 0, 75, 0, 0, 0, 45, 0, 0, 0, +188, 0, 0, 0, 219, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 137, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 75, 0, 0, 0, 30, 0, 0, 0, 111, 0, 0, 0, 11, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 0, 206, 0, 0, 0, 191, 0, 0, 0, 182, 0, 0, 0, 119, 0, 0, 0, 45, 0, 0, 0, 72, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 79, 0, 0, 0, 163, 0, 0, 0, 93, 0, 0, 0, 74, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 84, 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 43, 0, 0, 0, 39, 0, 0, 0, 220, 0, 0, 0, 83, 0, 0, 0, 255, +0, 0, 0, 202, 0, 0, 0, 140, 0, 0, 0, 89, 0, 0, 0, 179, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 7, 0, 0, 0, 118, 0, 0, 0, 97, 0, 0, 0, 15, 0, 0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 57, 0, 0, 0, 126, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 40, 0, 0, 0, 130, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0]).concat([94, 0, 0, 0, 97, 0, 0, 0, 94, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 124, 0, 0, 0, 239, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 207, 0, 0, 0, +159, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 195, 0, 0, 0, 230, 0, 0, 0, 138, 0, 0, 0, 159, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 150, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 111, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 193, 0, 0, 0, 86, 0, 0, 0, 147, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 59, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 115, 0, 0, 0, 22, 0, 0, 0, 237, 0, 0, 0, 250, 0, 0, 0, 180, 0, 0, 0, 47, 0, 0, 0, 115, 0, 0, 0, 139, 0, 0, 0, 177, 0, 0, 0, 149, 0, +0, 0, 229, 0, 0, 0, 146, 0, 0, 0, 80, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 241, 0, 0, 0, 86, 0, 0, 0, 196, 0, 0, 0, 117, 0, 0, 0, 36, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 133, 0, 0, 0, 90, 0, 0, 0, 58, 0, 0, 0, 19, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 172, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 58, 0, 0, +0, 70, 0, 0, 0, 127, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 82, 0, 0, 0, 110, 0, 0, 0, 55, 0, 0, 0, 228, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 102, 0, 0, 0, 65, 0, 0, 0, 103, 0, 0, 0, 228, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 12, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 193, 0, 0, 0, 225, 0, 0, 0, 84, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 118, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 228, 0, +0, 0, 185, 0, 0, 0, 168, 0, 0, 0, 70, 0, 0, 0, 101, 0, 0, 0, 115, 0, 0, 0, 243, 0, 0, 0, 119, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 198, 0, 0, 0, 137, 0, 0, 0, 108, 0, 0, 0, 44, 0, 0, 0, 124, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 15, 0, 0, 0, 247, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 116, 0, 0, 0, 93, 0, 0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 132, 0, 0, 0, 197, 0, 0, 0, 240, 0, 0, 0, 173, 0, 0, 0, 202, 0, 0, 0, 18, 0, 0, 0, 40, +0, 0, 0, 188, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 227, 0, 0, 0, 191, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 52, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 177, 0, 0, 0, 70, 0, +0, 0, 186, 0, 0, 0, 14, 0, 0, 0, 49, 0, 0, 0, 165, 0, 0, 0, 103, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 121, 0, 0, 0, 20, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 47, 0, 0, 0, 95, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 53, 0, 0, 0, 61, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 101, 0, 0, 0, 85, 0, 0, 0, 106, 0, 0, 0, 123, 0, 0, 0, 211, 0, 0, 0, 176, 0, 0, 0, 58, 0, 0, 0, 102, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 67, 0, 0, 0, 241, 0, +0, 0, 38, 0, 0, 0, 88, 0, 0, 0, 153, 0, 0, 0, 9, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 113, 0, 0, 0, 133, 0, 0, 0, 219, 0, 0, 0, 237, 0, 0, 0, 246, 0, 0, 0, 38, 0, 0, 0, 213, 0, 0, 0, 97, 0, 0, 0, 154, 0, 0, 0, 115, 0, 0, 0, 172, 0, 0, 0, 14, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 183, 0, 0, 0, 12, 0, 0, 0, 94, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 23, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 95, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 172, 0, +0, 0, 75, 0, 0, 0, 229, 0, 0, 0, 20, 0, 0, 0, 65, 0, 0, 0, 210, 0, 0, 0, 191, 0, 0, 0, 72, 0, 0, 0, 245, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 178, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 210, 0, 0, 0, 90, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 7, 0, 0, 0, 146, 0, 0, 0, 148, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 201, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 237, 0, 0, 0, 248, 0, 0, +0, 67, 0, 0, 0, 237, 0, 0, 0, 245, 0, 0, 0, 249, 0, 0, 0, 64, 0, 0, 0, 96, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 130, 0, 0, 0, 203, 0, 0, 0, 237, 0, 0, 0, 117, 0, 0, 0, 199, 0, 0, 0, 101, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 13, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 103, 0, 0, 0, 52, 0, 0, 0, 126, 0, 0, 0, 102, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 83, 0, 0, 0, 120, 0, 0, 0, 196, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 108, 0, +0, 0, 127, 0, 0, 0, 206, 0, 0, 0, 232, 0, 0, 0, 159, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 100, 0, 0, 0, 88, 0, 0, 0, 83, 0, 0, 0, 232, 0, 0, 0, 193, 0, 0, 0, 169, 0, 0, 0, 194, 0, 0, 0, 123, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 226, 0, 0, 0, 67, 0, 0, 0, 115, 0, 0, 0, 43, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 111, 0, 0, 0, 54, 0, 0, 0, 51, 0, 0, 0, 183, +0, 0, 0, 185, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 86, 0, 0, 0, 48, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 179, 0, 0, 0, 117, 0, 0, 0, 68, 0, 0, 0, 164, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 110, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 245, 0, 0, 0, 162, 0, 0, 0, 13, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 59, 0, 0, 0, 88, 0, 0, 0, 47, 0, 0, 0, 242, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 24, 0, 0, 0, 63, 0, 0, 0, 253, 0, +0, 0, 47, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 140, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 202, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 53, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 10, 0, 0, 0, 159, 0, 0, 0, 126, 0, 0, 0, 251, 0, 0, 0, 196, 0, 0, 0, 239, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 67, 0, 0, 0, 236, 0, 0, 0, 47, 0, 0, 0, 13, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 214, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 125, 0, 0, 0, 29, 0, 0, 0, 184, 0, 0, 0, 225, 0, 0, 0, 222, 0, 0, 0, 157, 0, 0, 0, 122, 0, 0, 0, 125, 0, 0, 0, 23, 0, 0, 0, 126, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, +0, 45, 0, 0, 0, 124, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 199, 0, 0, 0, 27, 0, 0, 0, 51, 0, 0, 0, 72, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 242, 0, 0, 0, 202, 0, 0, 0, 15, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 192, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 135, 0, 0, 0, 239, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 31, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 216, 0, +0, 0, 9, 0, 0, 0, 217, 0, 0, 0, 97, 0, 0, 0, 84, 0, 0, 0, 131, 0, 0, 0, 2, 0, 0, 0, 24, 0, 0, 0, 130, 0, 0, 0, 147, 0, 0, 0, 153, 0, 0, 0, 7, 0, 0, 0, 208, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 216, 0, 0, 0, 117, 0, 0, 0, 137, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 163, 0, 0, 0, 184, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 210, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 194, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 188, 0, 0, 0, 6, 0, 0, 0, 101, 0, 0, 0, 192, 0, +0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 252, 0, 0, 0, 150, 0, 0, 0, 148, 0, 0, 0, 120, 0, 0, 0, 232, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 65, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 88, 0, 0, 0, 72, 0, 0, 0, 117, 0, 0, 0, 16, 0, 0, 0, 47, 0, 0, 0, 205, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 160, 0, 0, 0, 109, 0, 0, 0, 15, 0, 0, 0, 221, 0, 0, 0, 156, 0, 0, 0, 152, 0, 0, 0, 38, 0, 0, 0, 61, 0, 0, 0, 47, 0, 0, 0, 102, 0, 0, 0, 41, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 189, 0, +0, 0, 126, 0, 0, 0, 238, 0, 0, 0, 110, 0, 0, 0, 221, 0, 0, 0, 183, 0, 0, 0, 14, 0, 0, 0, 239, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 180, 0, 0, 0, 252, 0, 0, 0, 127, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 175, 0, 0, 0, 138, 0, 0, 0, 144, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, 76, 0, 0, 0, 112, 0, 0, 0, 75, 0, 0, 0, 14, 0, 0, 0, 160, 0, 0, 0, 131, 0, 0, 0, 112, 0, 0, 0, 19, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 184, +0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 34, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, 2, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 23, 0, 0, 0, 206, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 218, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 138, 0, 0, 0, 209, 0, 0, 0, 78, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 157, 0, 0, 0, 93, 0, 0, 0, 15, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 82, 0, 0, 0, 254, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, +230, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 243, 0, 0, 0, 243, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 169, 0, 0, 0, 74, 0, 0, 0, 160, 0, 0, 0, 181, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 94, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 162, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 212, 0, 0, 0, 228, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 6, 0, 0, 0, 61, 0, 0, 0, 83, 0, 0, 0, 237, 0, 0, 0, 174, 0, 0, 0, 43, 0, 0, 0, 235, 0, 0, 0, 182, +0, 0, 0, 36, 0, 0, 0, 10, 0, 0, 0, 17, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 214, 0, 0, 0, 127, 0, 0, 0, 164, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 252, 0, 0, 0, 214, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 46, 0, 0, +0, 82, 0, 0, 0, 122, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 114, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 144, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 67, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 248, 0, 0, 0, 96, 0, 0, 0, 125, 0, 0, 0, 145, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 28, 0, 0, 0, 56, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 88, 0, 0, 0, 199, 0, 0, 0, 133, 0, 0, 0, 163, 0, 0, 0, 252, 0, 0, 0, +100, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 80, 0, 0, 0, 148, 0, 0, 0, 202, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 69, 0, 0, 0, 10, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 77, 0, 0, 0, 74, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 113, 0, 0, 0, 87, 0, 0, 0, 172, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 255, 0, 0, 0, 135, 0, 0, 0, 177, 0, 0, 0, 73, 0, 0, 0, 149, 0, 0, 0, 32, 0, 0, 0, 124, +0, 0, 0, 207, 0, 0, 0, 124, 0, 0, 0, 89, 0, 0, 0, 196, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 239, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 157, 0, 0, 0, 70, 0, 0, 0, 203, 0, 0, 0, 120, 0, 0, 0, 148, 0, 0, 0, 144, 0, 0, 0, 228, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 246, 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 201, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 33, 0, 0, 0, +31, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 248, 0, 0, 0, 199, 0, 0, 0, 33, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 165, 0, 0, 0, 227, 0, 0, 0, 157, 0, 0, 0, 36, 0, 0, 0, 47, 0, 0, 0, 192, 0, 0, 0, 147, 0, 0, 0, 97, 0, 0, 0, 207, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 237, 0, 0, 0, 225, 0, 0, 0, 219, 0, 0, 0, 39, 0, 0, 0, 236, 0, 0, 0, 14, 0, 0, 0, 20, 0, 0, 0, 50, 0, 0, 0, 95, 0, 0, 0, 142, 0, 0, 0, 161, +0, 0, 0, 98, 0, 0, 0, 65, 0, 0, 0, 22, 0, 0, 0, 149, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 206, 0, 0, 0, 149, 0, 0, 0, 91, 0, 0, 0, 14, 0, 0, 0, 87, 0, 0, 0, 199, 0, 0, 0, 185, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 236, 0, 0, 0, 180, 0, 0, 0, 70, 0, 0, 0, 6, 0, 0, 0, 115, 0, 0, 0, 38, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 102, 0, 0, 0, 125, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 178, 0, 0, 0, 86, 0, 0, 0, 253, 0, 0, 0, 42, 0, 0, 0, 8, 0, 0, 0, 146, 0, 0, 0, 103, 0, 0, +0, 119, 0, 0, 0, 86, 0, 0, 0, 161, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 0, 149, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 10, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 77, 0, 0, 0, 158, 0, 0, 0, 126, 0, 0, 0, 61, 0, 0, 0, 185, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 176, 0, 0, 0, 206, 0, 0, 0, 164, 0, 0, 0, 48, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 233, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 72, 0, 0, 0, 149, 0, 0, 0, 161, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 183, +0, 0, 0, 165, 0, 0, 0, 187, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 214, 0, 0, 0, 37, 0, 0, 0, 38, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 13, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 67, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 243, 0, 0, 0, 169, 0, 0, 0, 22, 0, 0, 0, 189, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 178, 0, 0, 0, 100, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 228, 0, 0, 0, 163, 0, 0, 0, 115, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 126, 0, 0, 0, 87, 0, 0, 0, 103, 0, 0, 0, 255, 0, 0, +0, 4, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 185, 0, 0, 0, 75, 0, 0, 0, 164, 0, 0, 0, 173, 0, 0, 0, 208, 0, 0, 0, 109, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 180, 0, 0, 0, 175, 0, 0, 0, 52, 0, 0, 0, 169, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 236, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 227, 0, 0, 0, 133, 0, 0, 0, 205, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 65, 0, 0, 0, 193, 0, 0, 0, 28, 0, 0, 0, 249, 0, 0, 0, 160, 0, 0, 0, 250, 0, 0, 0, 183, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 253, 0, +0, 0, 136, 0, 0, 0, 60, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 9, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 25, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 187, 0, 0, 0, 222, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 23, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 222, 0, 0, 0, 232, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 27, 0, 0, 0, 101, 0, 0, 0, 10, 0, 0, 0, 190, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 173, 0, 0, 0, 80, 0, 0, +0, 121, 0, 0, 0, 8, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 7, 0, 0, 0, 149, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 56, 0, 0, 0, 186, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 134, 0, 0, 0, 30, 0, 0, 0, 192, 0, 0, 0, 80, 0, 0, 0, 92, 0, 0, 0, 103, 0, 0, 0, 27, 0, 0, 0, 246, 0, 0, 0, 135, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 74, 0, 0, 0, 237, 0, 0, 0, 141, 0, 0, 0, 225, 0, 0, 0, 102, 0, 0, 0, 24, 0, 0, 0, +178, 0, 0, 0, 20, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 253, 0, 0, 0, 26, 0, 0, 0, 54, 0, 0, 0, 15, 0, 0, 0, 38, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 171, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 253, 0, 0, 0, 112, 0, 0, 0, 253, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 116, 0, 0, 0, 103, 0, 0, 0, 239, 0, 0, 0, 97, 0, 0, 0, 224, 0, 0, 0, 40, 0, 0, 0, 208, 0, 0, +0, 150, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 222, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 239, 0, 0, 0, 220, 0, 0, 0, 170, 0, 0, 0, 125, 0, 0, 0, 243, 0, 0, 0, 182, 0, 0, 0, 85, 0, 0, 0, 166, 0, 0, 0, 101, 0, 0, 0, 235, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 13, 0, 0, 0, 200, 0, 0, 0, 208, 0, 0, 0, 239, 0, 0, 0, 98, 0, 0, 0, 232, 0, 0, 0, 111, 0, 0, 0, 130, 0, 0, 0, 227, 0, 0, 0, 105, 0, 0, 0, 61, 0, 0, 0, 145, 0, 0, 0, 127, 0, 0, 0, 49, +0, 0, 0, 225, 0, 0, 0, 38, 0, 0, 0, 53, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 171, 0, 0, 0, 196, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 171, 0, 0, 0, 27, 0, 0, 0, 181, 0, 0, 0, 229, 0, 0, 0, 43, 0, 0, 0, 195, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 176, 0, 0, 0, 208, 0, 0, 0, 115, 0, 0, 0, 230, 0, 0, 0, 79, 0, 0, 0, 100, 0, 0, 0, 242, 0, 0, 0, 188, 0, 0, 0, 228, 0, 0, 0, 228, 0, 0, 0, 225, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 238, +0, 0, 0, 138, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 34, 0, 0, 0, 61, 0, 0, 0, 181, 0, 0, 0, 20, 0, 0, 0, 117, 0, 0, 0, 49, 0, 0, 0, 240, 0, 0, 0, 129, 0, 0, 0, 226, 0, 0, +0, 185, 0, 0, 0, 55, 0, 0, 0, 162, 0, 0, 0, 169, 0, 0, 0, 132, 0, 0, 0, 17, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 83, 0, 0, 0, 137, 0, 0, 0, 120, 0, 0, 0, 169, 0, 0, 0, 48, 0, 0, 0, 39, 0, 0, 0, 161, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 46, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 220, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0, 255, 0, 0, 0, 183, 0, 0, 0, 140, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, +153, 0, 0, 0, 78, 0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 84, 0, 0, 0, 93, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 163, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 92, 0, 0, 0, 206, 0, 0, 0, 36, 0, 0, 0, 239, 0, 0, 0, 123, 0, 0, 0, 134, 0, 0, 0, 242, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 125, 0, 0, 0, 135, 0, 0, 0, 56, 0, 0, 0, 45, 0, 0, 0, 239, 0, 0, 0, 175, 0, 0, 0, 242, 0, 0, 0, 140, 0, 0, 0, 114, 0, 0, 0, 46, 0, 0, 0, 235, 0, 0, 0, 182, 0, 0, 0, +85, 0, 0, 0, 75, 0, 0, 0, 110, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 138, 0, 0, 0, 14, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 76, 0, 0, 0, 37, 0, 0, 0, 234, 0, 0, 0, 134, 0, 0, 0, 194, 0, 0, 0, 209, 0, 0, 0, 79, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 92, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 129, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 185, 0, 0, 0, 216, 0, 0, 0, 214, 0, 0, 0, 112, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 130, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, +0, 229, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 38, 0, 0, 0, 78, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 126, 0, 0, 0, 22, 0, 0, 0, 247, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 220, 0, 0, 0, 134, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 113, 0, 0, 0, 56, 0, 0, 0, 92, 0, 0, 0, 51, 0, 0, 0, 195, 0, 0, 0, 206, 0, 0, 0, 48, 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 44, 0, 0, 0, 145, 0, 0, 0, 113, 0, 0, 0, 138, 0, 0, 0, 114, 0, 0, +0, 140, 0, 0, 0, 68, 0, 0, 0, 9, 0, 0, 0, 40, 0, 0, 0, 213, 0, 0, 0, 35, 0, 0, 0, 201, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 132, 0, 0, 0, 69, 0, 0, 0, 198, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 255, 0, 0, 0, 210, 0, 0, 0, 199, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 163, 0, 0, 0, 193, 0, 0, 0, 105, 0, 0, 0, 221, 0, 0, 0, 98, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 48, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 233, 0, 0, 0, 76, 0, 0, 0, 146, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, 0, 114, 0, 0, +0, 215, 0, 0, 0, 12, 0, 0, 0, 214, 0, 0, 0, 105, 0, 0, 0, 150, 0, 0, 0, 129, 0, 0, 0, 53, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 53, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 170, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 21, 0, 0, 0, 243, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 255, 0, 0, 0, 101, 0, 0, 0, 27, 0, 0, 0, 162, 0, 0, 0, 155, 0, 0, 0, 89, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 196, 0, 0, 0, 80, 0, 0, 0, 250, 0, 0, 0, 187, 0, 0, 0, 59, 0, 0, 0, 110, +0, 0, 0, 95, 0, 0, 0, 68, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 151, 0, 0, 0, 212, 0, 0, 0, 221, 0, 0, 0, 246, 0, 0, 0, 205, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 229, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 155, 0, 0, 0, 245, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 216, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 94, 0, 0, 0, 130, 0, 0, 0, 243, 0, 0, 0, 56, 0, 0, 0, 255, 0, 0, 0, 28, 0, 0, 0, 237, 0, 0, 0, 254, 0, 0, 0, 63, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 209, 0, 0, 0, 129, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 253, 0, 0, 0, 225, 0, 0, 0, 128, 0, 0, 0, 205, 0, 0, 0, 17, 0, +0, 0, 224, 0, 0, 0, 219, 0, 0, 0, 34, 0, 0, 0, 40, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 97, 0, 0, 0, 157, 0, 0, 0, 65, 0, 0, 0, 20, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 34, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 52, 0, 0, 0, 129, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 238, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 139, 0, 0, 0, 166, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 67, 0, 0, 0, 25, 0, 0, 0, 241, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 80, 0, 0, +0, 222, 0, 0, 0, 192, 0, 0, 0, 182, 0, 0, 0, 1, 0, 0, 0, 227, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 77, 0, 0, 0, 49, 0, 0, 0, 210, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 205, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 74, 0, 0, 0, 122, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 169, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 216, 0, 0, 0, 51, 0, 0, 0, 140, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 255, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 18, 0, 0, 0, 59, 0, 0, 0, 57, 0, 0, 0, 28, 0, 0, 0, +6, 0, 0, 0, 249, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 113, 0, 0, 0, 181, 0, 0, 0, 22, 0, 0, 0, 148, 0, 0, 0, 103, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 17, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 16, 0, 0, 0, 233, 0, 0, 0, 195, 0, 0, 0, 188, 0, 0, 0, 123, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 178, 0, 0, 0, 249, 0, 0, 0, 201, 0, 0, 0, 47, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 58, 0, 0, 0, 11, 0, 0, 0, 171, 0, 0, 0, +100, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 147, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 236, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 187, 0, 0, 0, 186, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 31, 0, 0, 0, 35, 0, 0, 0, 162, 0, 0, 0, 59, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, 153, 0, 0, 0, 79, 0, 0, 0, 119, 0, 0, 0, 84, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 154, 0, 0, 0, 231, 0, 0, 0, 102, 0, 0, 0, +214, 0, 0, 0, 205, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 74, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 126, 0, 0, 0, 135, 0, 0, 0, 192, 0, 0, 0, 177, 0, 0, 0, 240, 0, 0, 0, 163, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 147, 0, 0, 0, 169, 0, 0, 0, 10, 0, 0, 0, 114, 0, 0, 0, 239, 0, 0, 0, 92, 0, 0, 0, 190, 0, 0, 0, 101, 0, 0, 0, 53, 0, 0, 0, 167, 0, 0, 0, 106, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 191, 0, 0, 0, 33, 0, 0, 0, 35, 0, 0, 0, 232, 0, 0, 0, 47, 0, 0, 0, +151, 0, 0, 0, 199, 0, 0, 0, 62, 0, 0, 0, 200, 0, 0, 0, 23, 0, 0, 0, 172, 0, 0, 0, 30, 0, 0, 0, 123, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 229, 0, 0, 0, 64, 0, 0, 0, 204, 0, 0, 0, 30, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 151, 0, 0, 0, 122, 0, 0, 0, 124, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 90, 0, 0, 0, 110, 0, 0, 0, 124, 0, 0, 0, 229, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 161, 0, 0, 0, +25, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 136, 0, 0, 0, 166, 0, 0, 0, 171, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 52, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 178, 0, 0, 0, 254, 0, 0, 0, 64, +0, 0, 0, 38, 0, 0, 0, 116, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 246, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 103, 0, 0, 0, 214, 0, 0, 0, 90, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 85, 0, 0, 0, 37, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 147, 0, 0, 0, 164, 0, 0, 0, 2, 0, 0, 0, 198, 0, 0, 0, 125, 0, 0, 0, 92, 0, 0, 0, 177, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 248, +0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 144, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 172, 0, 0, 0, 79, 0, 0, 0, 254, 0, 0, 0, 167, 0, 0, 0, 65, 0, 0, 0, 112, 0, 0, 0, 219, 0, 0, 0, 250, 0, 0, 0, 155, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 35, 0, 0, 0, 103, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 99, 0, 0, 0, 108, 0, 0, 0, 7, 0, 0, 0, 38, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 83, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 169, 0, +0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 18, 0, 0, 0, 188, 0, 0, 0, 40, 0, 0, 0, 51, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 205, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 147, 0, 0, 0, 145, 0, 0, 0, 114, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 103, 0, 0, 0, 76, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 63, 0, 0, 0, 191, 0, +0, 0, 43, 0, 0, 0, 134, 0, 0, 0, 230, 0, 0, 0, 140, 0, 0, 0, 29, 0, 0, 0, 223, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 114, 0, 0, 0, 230, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 43, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 40, 0, 0, 0, 69, 0, 0, 0, 180, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 197, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 23, 0, 0, 0, 15, 0, 0, 0, 134, 0, 0, 0, 82, 0, +0, 0, 215, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 81, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 129, 0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 55, 0, 0, 0, 98, 0, 0, 0, 237, 0, 0, 0, 207, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 114, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 11, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 51, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 124, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 23, 0, 0, 0, 165, 0, 0, 0, 160, +0, 0, 0, 103, 0, 0, 0, 114, 0, 0, 0, 23, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 99, 0, 0, 0, 20, 0, 0, 0, 131, 0, 0, 0, 222, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 45, 0, 0, 0, 65, 0, 0, 0, 50, 0, 0, 0, 122, 0, 0, 0, 243, 0, 0, 0, 209, 0, 0, 0, 43, 0, 0, 0, 216, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 70, 0, 0, 0, 54, 0, 0, 0, 172, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 124, 0, 0, 0, 249, 0, 0, 0, 184, 0, 0, 0, 139, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 208, 0, 0, 0, 125, 0, 0, 0, 143, 0, 0, 0, 115, 0, 0, 0, 234, +0, 0, 0, 32, 0, 0, 0, 218, 0, 0, 0, 134, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 173, 0, 0, 0, 115, 0, 0, 0, 77, 0, 0, 0, 233, 0, 0, 0, 232, 0, 0, 0, 169, 0, 0, 0, 218, 0, 0, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 156, 0, 0, 0, 178, 0, 0, 0, 97, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 238, 0, 0, 0, 169, 0, 0, 0, 172, 0, 0, 0, 101, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 30, 0, 0, 0, 226, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 133, 0, 0, 0, 89, 0, 0, 0, 15, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 135, 0, 0, 0, 235, 0, 0, 0, 123, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 60, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 132, 0, 0, 0, 99, 0, 0, +0, 13, 0, 0, 0, 181, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 115, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 110, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 44, 0, 0, 0, 146, 0, 0, 0, 49, 0, 0, 0, 118, 0, 0, 0, 52, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 10, 0, 0, 0, 103, 0, 0, 0, 144, 0, 0, 0, 109, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 204, 0, 0, 0, 192, 0, 0, 0, 230, 0, 0, +0, 189, 0, 0, 0, 167, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 140, 0, 0, 0, 205, 0, 0, 0, 88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 162, 0, 0, 0, 187, 0, 0, 0]).concat([75, 0, 0, 0, 177, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 35, 0, 0, 0, 254, 0, 0, 0, 205, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 5, 0, 0, 0, 251, 0, 0, 0, 117, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 175, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 88, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 52, 0, 0, 0, 122, 0, +0, 0, 103, 0, 0, 0, 162, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 110, 0, 0, 0, 208, 0, 0, 0, 43, 0, 0, 0, 115, 0, 0, 0, 213, 0, 0, 0, 184, 0, 0, 0, 228, 0, 0, 0, 48, 0, 0, 0, 150, 0, 0, 0, 173, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 166, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 136, 0, 0, 0, 26, 0, 0, 0, 144, 0, 0, 0, 126, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 47, 0, 0, 0, 93, 0, 0, 0, 103, 0, 0, 0, 238, 0, 0, 0, 103, 0, 0, 0, 47, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 85, 0, 0, 0, 67, +0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 174, 0, 0, 0, 213, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 200, 0, 0, 0, 160, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 176, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 52, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 124, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 3, 0, 0, 0, 101, 0, 0, 0, 74, 0, 0, 0, 92, 0, 0, 0, 92, 0, 0, 0, 4, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 63, +0, 0, 0, 176, 0, 0, 0, 22, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 178, 0, 0, 0, 210, 0, 0, 0, 197, 0, 0, 0, 32, 0, 0, 0, 152, 0, 0, 0, 131, 0, 0, 0, 194, 0, 0, 0, 55, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 92, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 36, 0, 0, 0, 224, 0, 0, 0, 89, 0, 0, 0, 44, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 136, 0, 0, 0, 230, 0, 0, 0, 202, 0, 0, 0, 4, 0, 0, 0, 216, 0, 0, 0, 93, 0, 0, 0, 96, 0, 0, 0, 187, +0, 0, 0, 116, 0, 0, 0, 167, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 19, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 119, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 233, 0, 0, 0, 7, 0, 0, 0, 57, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 125, 0, 0, 0, 6, 0, 0, 0, 16, 0, 0, 0, 154, 0, 0, 0, 238, 0, 0, 0, 71, 0, 0, 0, 115, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 90, 0, 0, 0, 251, 0, 0, 0, 205, 0, 0, 0, 77, 0, 0, 0, 208, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 186, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 74, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 67, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 73, 0, 0, 0, 124, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 55, 0, 0, 0, 185, +0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 140, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 66, 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 41, 0, 0, 0, 76, 0, 0, 0, 118, 0, 0, 0, 55, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 58, 0, 0, 0, 88, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 181, 0, 0, 0, 185, 0, 0, 0, 26, 0, 0, 0, 19, 0, 0, 0, 45, 0, 0, 0, 222, 0, 0, 0, 95, 0, 0, 0, 107, 0, 0, 0, 157, 0, +0, 0, 186, 0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 93, 0, 0, 0, 179, 0, 0, 0, 243, 0, 0, 0, 48, 0, 0, 0, 76, 0, 0, 0, 111, 0, 0, 0, 254, 0, 0, 0, 107, 0, 0, 0, 12, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 72, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 133, 0, 0, 0, 121, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 36, 0, 0, 0, 177, 0, 0, 0, 8, 0, 0, 0, 147, 0, 0, 0, 118, 0, 0, 0, 142, 0, 0, 0, 247, 0, 0, 0, 56, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 144, +0, 0, 0, 100, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 193, 0, 0, 0, 152, 0, 0, 0, 68, 0, 0, 0, 60, 0, 0, 0, 83, 0, 0, 0, 78, 0, 0, 0, 219, 0, 0, 0, 75, 0, 0, 0, 185, 0, 0, 0, 18, 0, 0, 0, 95, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 177, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 202, 0, 0, 0, 101, 0, 0, 0, 123, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 100, 0, 0, 0, 127, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 240, 0, +0, 0, 235, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 26, 0, 0, 0, 251, 0, 0, 0, 32, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 238, 0, 0, 0, 144, 0, 0, 0, 187, 0, 0, 0, 51, 0, 0, 0, 109, 0, 0, 0, 69, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 153, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 8, 0, 0, 0, 31, 0, 0, 0, 197, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 70, 0, 0, 0, 228, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 75, 0, 0, 0, 160, 0, 0, 0, 63, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, +0, 186, 0, 0, 0, 23, 0, 0, 0, 174, 0, 0, 0, 61, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 184, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 17, 0, 0, 0, 53, 0, 0, 0, 236, 0, 0, 0, 150, 0, 0, 0, 254, 0, 0, 0, 49, 0, 0, 0, 227, 0, 0, 0, 14, 0, 0, 0, 122, 0, 0, 0, 78, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 224, 0, 0, 0, 103, 0, 0, 0, 233, 0, 0, 0, 123, 0, 0, 0, 219, 0, 0, 0, 150, 0, 0, 0, 92, 0, 0, 0, 176, 0, 0, 0, 50, 0, 0, 0, 208, 0, 0, 0, 89, 0, 0, 0, 49, 0, 0, 0, 144, 0, +0, 0, 220, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 9, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 214, 0, 0, 0, 93, 0, 0, 0, 208, 0, 0, 0, 6, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 234, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 159, 0, 0, 0, 199, 0, 0, 0, 222, 0, 0, 0, 107, 0, 0, 0, 65, 0, 0, 0, 34, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 103, 0, 0, 0, 119, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 129, 0, 0, 0, 176, 0, 0, 0, 217, 0, 0, 0, 133, 0, 0, 0, 76, 0, 0, +0, 202, 0, 0, 0, 155, 0, 0, 0, 63, 0, 0, 0, 4, 0, 0, 0, 89, 0, 0, 0, 214, 0, 0, 0, 170, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 105, 0, 0, 0, 200, +0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 148, 0, 0, 0, 51, 0, 0, 0, 146, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 60, 0, 0, 0, 132, 0, 0, 0, 13, 0, 0, 0, 61, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 34, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 206, 0, 0, 0, 180, 0, 0, 0, 194, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 116, 0, 0, 0, 16, 0, 0, 0, 34, 0, 0, 0, 176, 0, 0, 0, 213, 0, 0, 0, 230, 0, 0, 0, 199, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 167, 0, 0, 0, 19, +0, 0, 0, 218, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 128, 0, 0, 0, 193, 0, 0, 0, 66, 0, 0, 0, 125, 0, 0, 0, 16, 0, 0, 0, 112, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 77, 0, 0, 0, 218, 0, 0, 0, 35, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 14, 0, 0, 0, 104, 0, 0, 0, 203, 0, 0, 0, 222, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 254, 0, 0, 0, 66, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 43, 0, 0, 0, 46, 0, 0, 0, 54, 0, 0, 0, 100, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 204, 0, 0, 0, 129, 0, 0, 0, 106, +0, 0, 0, 21, 0, 0, 0, 8, 0, 0, 0, 161, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 229, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 242, 0, 0, 0, 88, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 99, 0, 0, 0, 62, 0, 0, 0, 120, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 167, 0, 0, 0, 202, 0, 0, 0, 128, 0, 0, 0, 174, 0, 0, 0, 2, 0, 0, 0, 133, 0, 0, 0, 177, 0, 0, 0, 124, 0, 0, 0, 4, 0, 0, 0, 92, 0, 0, 0, 193, 0, 0, 0, 91, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 237, 0, +0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 133, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 135, 0, 0, 0, 172, 0, 0, 0, 106, 0, 0, 0, 40, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 40, 0, 0, 0, 190, 0, 0, 0, 135, 0, 0, 0, 218, 0, 0, 0, 128, 0, 0, 0, 40, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 159, 0, 0, 0, 205, 0, 0, 0, 228, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 251, 0, 0, 0, 46, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 81, 0, 0, +0, 212, 0, 0, 0, 25, 0, 0, 0, 59, 0, 0, 0, 17, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 173, 0, 0, 0, 30, 0, 0, 0, 160, 0, 0, 0, 32, 0, 0, 0, 153, 0, 0, 0, 105, 0, 0, 0, 10, 0, 0, 0, 174, 0, 0, 0, 163, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 100, 0, 0, 0, 128, 0, 0, 0, 183, 0, 0, 0, 133, 0, 0, 0, 156, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 128, 0, 0, 0, 109, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 108, 0, 0, 0, 46, 0, 0, 0, 33, 0, +0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 145, 0, 0, 0, 74, 0, 0, 0, 7, 0, 0, 0, 173, 0, 0, 0, 8, 0, 0, 0, 117, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 70, 0, 0, 0, 62, 0, 0, 0, 177, 0, 0, 0, 206, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 72, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 215, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, 118, 0, 0, 0, 203, 0, 0, 0, 255, 0, 0, 0, 221, 0, 0, 0, 49, 0, 0, 0, 54, 0, 0, 0, 136, 0, +0, 0, 250, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 54, 0, 0, 0, 111, 0, 0, 0, 7, 0, 0, 0, 116, 0, 0, 0, 136, 0, 0, 0, 80, 0, 0, 0, 208, 0, 0, 0, 149, 0, 0, 0, 56, 0, 0, 0, 74, 0, 0, 0, 72, 0, 0, 0, 46, 0, 0, 0, 7, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 142, 0, 0, 0, 37, 0, 0, 0, 154, 0, 0, 0, 155, 0, 0, 0, 28, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 172, 0, 0, 0, 94, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 113, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 236, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 169, 0, 0, 0, 68, 0, 0, 0, 204, 0, 0, 0, 37, 0, 0, 0, 76, 0, 0, 0, 179, 0, +0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 7, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 107, 0, 0, 0, 212, 0, 0, 0, 167, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 227, 0, 0, 0, 249, 0, 0, 0, 122, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 214, 0, 0, 0, 29, 0, 0, 0, 153, 0, 0, 0, 43, 0, 0, 0, 128, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 30, 0, 0, 0, 21, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 253, 0, 0, 0, 235, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 53, 0, 0, 0, 9, 0, 0, +0, 127, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 13, 0, 0, 0, 52, 0, 0, 0, 10, 0, 0, 0, 184, 0, 0, 0, 103, 0, 0, 0, 86, 0, 0, 0, 41, 0, 0, 0, 32, 0, 0, 0, 243, 0, 0, 0, 25, 0, 0, 0, 95, 0, 0, 0, 226, 0, 0, 0, 131, 0, 0, 0, 66, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 168, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 180, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 195, 0, 0, 0, 135, 0, 0, 0, 140, 0, 0, 0, 215, 0, 0, 0, 118, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 55, 0, 0, 0, +118, 0, 0, 0, 13, 0, 0, 0, 29, 0, 0, 0, 12, 0, 0, 0, 245, 0, 0, 0, 90, 0, 0, 0, 109, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 153, 0, 0, 0, 21, 0, 0, 0, 180, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 179, 0, 0, 0, 176, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 38, 0, 0, 0, 179, 0, 0, 0, 199, 0, 0, 0, 69, 0, 0, 0, 245, 0, 0, 0, 146, 0, 0, 0, 95, 0, 0, 0, 155, 0, 0, 0, 23, 0, 0, 0, 157, 0, 0, 0, 35, 0, 0, 0, 189, 0, 0, 0, 21, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 21, 0, 0, 0, 38, +0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 86, 0, 0, 0, 102, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 46, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 213, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 240, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 140, 0, 0, 0, 53, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 236, 0, 0, 0, 200, 0, 0, 0, 77, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 110, 0, 0, 0, 150, 0, 0, 0, 78, 0, 0, 0, 91, 0, 0, 0, 197, 0, 0, 0, 194, +0, 0, 0, 160, 0, 0, 0, 27, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 191, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 87, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 69, 0, 0, 0, 113, 0, 0, 0, 194, 0, 0, 0, 225, 0, 0, 0, 36, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 44, 0, 0, 0, 185, 0, 0, 0, 66, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 59, 0, 0, 0, 66, 0, 0, 0, 14, 0, 0, 0, 194, 0, 0, 0, 15, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 131, 0, 0, 0, 175, 0, 0, 0, 154, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 176, 0, 0, 0, 189, +0, 0, 0, 137, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 114, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 118, 0, 0, 0, 126, 0, 0, 0, 65, 0, 0, 0, 99, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 113, 0, 0, 0, 117, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 87, 0, 0, 0, 221, 0, 0, 0, 159, 0, 0, 0, 238, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 101, 0, 0, 0, 191, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 57, 0, 0, 0, 13, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 253, 0, 0, 0, 142, 0, 0, 0, 147, 0, 0, 0, 79, 0, 0, 0, 67, +0, 0, 0, 220, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 152, 0, 0, 0, 229, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 59, 0, 0, 0, 101, 0, 0, 0, 17, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 148, +0, 0, 0, 18, 0, 0, 0, 111, 0, 0, 0, 92, 0, 0, 0, 158, 0, 0, 0, 119, 0, 0, 0, 193, 0, 0, 0, 182, 0, 0, 0, 216, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 122, 0, 0, 0, 29, 0, 0, 0, 149, 0, 0, 0, 115, 0, 0, 0, 221, 0, 0, 0, 231, 0, 0, 0, 227, 0, 0, 0, 111, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 219, 0, 0, 0, 118, 0, 0, 0, 174, 0, 0, 0, 6, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 82, 0, 0, 0, 27, 0, 0, 0, 188, 0, 0, 0, 90, 0, 0, 0, 90, 0, 0, 0, 165, 0, 0, 0, 190, 0, 0, 0, 39, 0, 0, 0, 189, 0, 0, 0, 235, +0, 0, 0, 225, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 104, 0, 0, 0, 38, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 209, 0, 0, 0, 24, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 92, 0, 0, 0, 166, 0, 0, 0, 27, 0, 0, 0, 185, 0, 0, 0, 36, 0, 0, 0, 197, 0, 0, 0, 102, 0, 0, 0, 128, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 72, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 49, 0, 0, 0, 132, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 5, 0, 0, 0, 51, 0, 0, +0, 95, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 50, 0, 0, 0, 29, 0, 0, 0, 56, 0, 0, 0, 116, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 9, 0, 0, 0, 61, 0, 0, 0, 212, 0, 0, 0, 105, 0, 0, 0, 130, 0, 0, 0, 188, 0, 0, 0, 141, 0, 0, 0, 248, 0, 0, 0, 52, 0, 0, 0, 54, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 24, 0, 0, 0, 85, 0, 0, 0, 88, 0, 0, 0, 60, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 171, 0, 0, 0, 155, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 203, 0, 0, 0, +218, 0, 0, 0, 193, 0, 0, 0, 159, 0, 0, 0, 246, 0, 0, 0, 47, 0, 0, 0, 162, 0, 0, 0, 244, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 190, 0, 0, 0, 235, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 158, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 23, 0, 0, 0, 69, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 31, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 116, 0, 0, 0, 21, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 106, 0, 0, 0, 61, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 88, 0, 0, 0, 177, 0, 0, 0, 66, 0, +0, 0, 215, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 196, 0, 0, 0, 6, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 88, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 130, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 144, 0, 0, 0, 105, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 180, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 124, 0, 0, 0, 168, 0, 0, 0, 137, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 5, 0, +0, 0, 203, 0, 0, 0, 65, 0, 0, 0, 60, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 44, 0, 0, 0, 56, 0, 0, 0, 153, 0, 0, 0, 227, 0, 0, 0, 104, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 211, 0, 0, 0, 50, 0, 0, 0, 199, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 212, 0, 0, 0, 27, 0, 0, 0, 93, 0, 0, 0, 222, 0, 0, 0, 220, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 217, 0, 0, 0, 117, 0, 0, 0, 45, 0, 0, 0, 171, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 101, 0, 0, 0, 151, 0, +0, 0, 103, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 71, 0, 0, 0, 173, 0, 0, 0, 63, 0, 0, 0, 142, 0, 0, 0, 243, 0, 0, 0, 203, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 119, 0, 0, 0, 197, 0, 0, 0, 226, 0, 0, 0, 215, 0, 0, 0, 143, 0, 0, 0, 60, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 72, 0, 0, 0, 193, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 174, 0, 0, 0, 95, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 144, 0, 0, 0, 223, 0, 0, 0, 16, 0, 0, 0, 178, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 36, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 163, 0, 0, 0, 212, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 97, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 90, 0, 0, 0, 173, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 216, 0, 0, 0, 28, 0, 0, 0, 221, 0, 0, 0, 224, 0, +0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 189, 0, 0, 0, 112, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 163, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 90, 0, 0, 0, 103, 0, 0, 0, 196, 0, 0, 0, 218, 0, 0, 0, 247, 0, 0, 0, 32, 0, 0, 0, 15, 0, 0, 0, 129, 0, 0, 0, 91, 0, 0, 0, 122, 0, 0, 0, 5, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 131, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 128, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 116, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 148, 0, 0, 0, 213, 0, 0, 0, 95, 0, 0, +0, 31, 0, 0, 0, 162, 0, 0, 0, 251, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 248, 0, 0, 0, 32, 0, 0, 0, 173, 0, 0, 0, 129, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 161, 0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 207, 0, 0, 0, 17, 0, 0, 0, 11, 0, 0, 0, 175, 0, 0, 0, 193, 0, 0, 0, 43, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 54, 0, 0, 0, 79, 0, 0, 0, 241, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0, 40, 0, 0, 0, 215, +0, 0, 0, 17, 0, 0, 0, 207, 0, 0, 0, 184, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 184, 0, 0, 0, 181, 0, 0, 0, 115, 0, 0, 0, 233, 0, 0, 0, 235, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 30, 0, 0, 0, 137, 0, 0, 0, 15, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 213, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 35, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 231, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 21, 0, 0, 0, 160, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 196, 0, 0, 0, 191, +0, 0, 0, 79, 0, 0, 0, 48, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 94, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 35, 0, 0, 0, 116, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 107, 0, 0, 0, 69, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 108, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 221, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 92, 0, 0, 0, 155, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 208, 0, 0, 0, 199, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 99, 0, 0, 0, 116, 0, +0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 232, 0, 0, 0, 104, 0, 0, 0, 108, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 151, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 190, 0, 0, 0, 131, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 128, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 36, 0, 0, 0, 94, 0, 0, 0, 239, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 168, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 141, 0, 0, 0, 59, 0, 0, 0, 3, 0, 0, 0, 148, 0, 0, 0, 43, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 149, +0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 204, 0, 0, 0, 21, 0, 0, 0, 219, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 102, 0, 0, 0, 132, 0, 0, 0, 240, 0, 0, 0, 74, 0, 0, 0, 19, 0, 0, 0, 166, 0, 0, 0, 214, 0, 0, 0, 250, 0, 0, 0, 147, 0, 0, 0, 70, 0, 0, 0, 7, 0, 0, 0, 246, 0, 0, 0, 126, 0, 0, 0, 92, 0, 0, 0, 109, 0, 0, 0, 94, 0, 0, 0, 246, 0, 0, 0, 166, 0, 0, 0, 231, 0, 0, 0, 72, 0, 0, 0, 240, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 144, 0, 0, 0, 193, 0, 0, 0, 204, 0, 0, 0, 76, 0, 0, 0, 25, 0, 0, 0, 156, +0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 80, 0, 0, 0, 227, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 89, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 129, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 211, 0, 0, 0, 108, 0, 0, 0, 153, 0, 0, +0, 140, 0, 0, 0, 112, 0, 0, 0, 103, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 238, 0, 0, 0, 158, 0, 0, 0, 89, 0, 0, 0, 69, 0, 0, 0, 89, 0, 0, 0, 125, 0, 0, 0, 71, 0, 0, 0, 117, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 147, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 79, 0, 0, 0, 27, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 207, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 227, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 216, 0, 0, 0, 92, 0, 0, 0, 31, 0, 0, 0, 180, 0, 0, 0, 200, 0, +0, 0, 226, 0, 0, 0, 36, 0, 0, 0, 236, 0, 0, 0, 26, 0, 0, 0, 40, 0, 0, 0, 5, 0, 0, 0, 50, 0, 0, 0, 87, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 152, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 219, 0, 0, 0, 247, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 211, 0, 0, 0, 206, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 128, 0, 0, 0, 30, 0, 0, 0, 217, 0, 0, 0, 228, 0, 0, 0, 31, 0, 0, 0, 171, 0, 0, 0, 192, 0, 0, 0, 113, 0, 0, 0, 26, 0, 0, 0, 134, 0, 0, 0, 14, 0, 0, 0, 39, 0, +0, 0, 153, 0, 0, 0, 91, 0, 0, 0, 250, 0, 0, 0, 118, 0, 0, 0, 153, 0, 0, 0, 176, 0, 0, 0, 8, 0, 0, 0, 60, 0, 0, 0, 42, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 27, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 166, 0, 0, 0, 238, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 51, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 54, 0, 0, 0, 115, 0, 0, 0, 55, 0, 0, 0, 58, 0, 0, 0, 68, 0, 0, 0, 180, 0, 0, 0, 236, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 222, 0, 0, 0, 131, 0, 0, 0, 64, 0, 0, 0, 215, 0, 0, 0, 223, 0, 0, 0, 40, +0, 0, 0, 186, 0, 0, 0, 162, 0, 0, 0, 48, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 109, 0, 0, 0, 5, 0, 0, 0, 63, 0, 0, 0, 159, 0, 0, 0, 243, 0, 0, 0, 21, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 202, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 138, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 145, 0, 0, 0, 31, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 155, 0, 0, 0, +53, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 61, 0, 0, 0, 50, 0, 0, 0, 30, 0, 0, 0, 187, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 112, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 47, 0, 0, 0, 143, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 8, 0, 0, 0, 126, 0, 0, 0, 83, 0, 0, 0, 196, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 225, 0, 0, 0, 164, 0, 0, 0, 106, 0, 0, 0, 216, 0, 0, 0, 172, 0, 0, 0, 100, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 70, 0, 0, 0, 24, 0, 0, 0, 62, 0, 0, 0, +31, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 126, 0, 0, 0, 101, 0, 0, 0, 184, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 251, 0, 0, 0, 200, 0, 0, 0, 185, 0, 0, 0, 144, 0, 0, 0, 152, 0, 0, 0, 51, 0, 0, 0, 97, 0, 0, 0, 59, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 160, 0, 0, 0, 190, 0, 0, 0, 114, 0, 0, 0, 58, 0, 0, 0, 80, 0, 0, 0, 75, 0, 0, 0, 116, 0, 0, 0, 171, 0, 0, 0, 1, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, +197, 0, 0, 0, 228, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 235, 0, 0, 0, 142, 0, 0, 0, 215, 0, 0, 0, 78, 0, 0, 0, 38, 0, 0, 0, 198, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 175, 0, 0, 0, 137, 0, 0, 0, 160, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 222, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 82, 0, 0, 0, 109, 0, 0, 0, 8, 0, 0, 0, 82, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 98, 0, 0, 0, 197, 0, 0, 0, 106, 0, 0, 0, 68, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 140, 0, 0, 0, 31, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 198, 0, 0, 0, 44, 0, 0, 0, 129, 0, 0, 0, 211, 0, 0, 0, 118, 0, 0, 0, 70, 0, 0, 0, 244, 0, 0, 0, +41, 0, 0, 0, 116, 0, 0, 0, 46, 0, 0, 0, 128, 0, 0, 0, 167, 0, 0, 0, 26, 0, 0, 0, 143, 0, 0, 0, 246, 0, 0, 0, 189, 0, 0, 0, 214, 0, 0, 0, 142, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 235, 0, 0, 0, 160, 0, 0, 0, 127, 0, 0, 0, 69, 0, 0, 0, 160, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 5, 0, 0, 0, 177, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 226, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 7, 0, 0, 0, 238, 0, 0, 0, 167, 0, 0, 0, 173, 0, 0, 0, 183, 0, 0, 0, 9, 0, 0, 0, +11, 0, 0, 0, 73, 0, 0, 0, 78, 0, 0, 0, 191, 0, 0, 0, 202, 0, 0, 0, 229, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 175, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 206, 0, 0, 0, 126, 0, 0, 0, 124, 0, 0, 0, 147, 0, 0, 0, 123, 0, 0, 0, 90, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 6, 0, 0, 0, 17, 0, 0, 0, 117, 0, 0, 0, 213, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 163, 0, 0, 0, 59, 0, 0, 0, 163, 0, 0, 0, 62, 0, 0, 0, 10, 0, 0, 0, 251, 0, 0, 0, 11, 0, 0, 0, 247, 0, 0, 0, +54, 0, 0, 0, 177, 0, 0, 0, 91, 0, 0, 0, 218, 0, 0, 0, 112, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 136, 0, 0, 0, 143, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 188, 0, 0, 0, 28, 0, 0, 0, 57, 0, 0, 0, 184, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 77, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 157, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 190, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 158, 0, 0, 0, 186, 0, 0, 0, 7, 0, 0, 0, 190, 0, 0, 0, 116, 0, 0, 0, 88, 0, 0, +0, 216, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 209, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 206, 0, 0, 0, 83, 0, 0, 0, 223, 0, 0, 0, 79, 0, 0, 0, 199, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 77, 0, 0, 0, 41, 0, 0, 0, 216, 0, 0, 0, 242, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 46, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 138, 0, 0, 0, 91, 0, 0, 0, 9, 0, 0, 0, 237, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 244, 0, 0, 0, 15, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, +0, 28, 0, 0, 0, 132, 0, 0, 0, 110, 0, 0, 0, 52, 0, 0, 0, 20, 0, 0, 0, 108, 0, 0, 0, 234, 0, 0, 0, 179, 0, 0, 0, 134, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 152, 0, 0, 0, 97, 0, 0, 0, 232, 0, 0, 0, 106, 0, 0, 0, 210, 0, 0, 0, 129, 0, 0, 0, 73, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 24, 0, 0, 0, 199, 0, 0, 0, 53, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 164, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 201, 0, 0, 0, 95, 0, 0, 0, 24, 0, 0, 0, 145, 0, 0, 0, 59, 0, 0, 0, 180, +0, 0, 0, 192, 0, 0, 0, 96, 0, 0, 0, 89, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 121, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 36, 0, 0, 0, 174, 0, 0, 0, 87, 0, 0, 0, 217, 0, 0, 0, 88, 0, 0, 0, 9, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 17, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 134, 0, 0, 0, 60, 0, 0, 0, 233, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 122, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 3, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 149, 0, 0, 0, 159, 0, 0, 0, 202, 0, 0, 0, 180, 0, 0, 0, 141, 0, 0, 0, 158, 0, 0, 0, 109, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, +0, 89, 0, 0, 0, 7, 0, 0, 0, 239, 0, 0, 0, 3, 0, 0, 0, 45, 0, 0, 0, 94, 0, 0, 0, 248, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 137, 0, 0, 0, 80, 0, 0, 0, 139, 0, 0, 0, 216, 0, 0, 0, 83, 0, 0, 0, 134, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 32, 0, 0, 0, 195, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 203, 0, 0, 0, 173, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 183, 0, 0, 0, 122, 0, 0, 0, +250, 0, 0, 0, 150, 0, 0, 0, 65, 0, 0, 0, 96, 0, 0, 0, 43, 0, 0, 0, 203, 0, 0, 0, 89, 0, 0, 0, 185, 0, 0, 0, 202, 0, 0, 0, 80, 0, 0, 0, 194, 0, 0, 0, 91, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 35, 0, 0, 0, 27, 0, 0, 0, 58, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 152, 0, 0, 0, 43, 0, 0, 0, 110, 0, 0, 0, 83, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 198, 0, 0, 0]).concat([125, 0, 0, 0, 66, 0, 0, 0, 204, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 13, 0, +0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 175, 0, 0, 0, 97, 0, 0, 0, 7, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 161, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 4, 0, 0, 0, 124, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 109, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 124, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 112, 0, 0, 0, 96, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 109, 0, 0, 0, 58, 0, 0, 0, +155, 0, 0, 0, 24, 0, 0, 0, 128, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 5, 0, 0, 0, 189, 0, 0, 0, 198, 0, 0, 0, 183, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0, 93, 0, 0, 0, 206, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 21, 0, 0, 0, 171, 0, 0, 0, 40, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 22, 0, 0, 0, 250, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 25, 0, 0, 0, 249, 0, 0, 0, 53, 0, 0, 0, 170, 0, 0, 0, 89, 0, 0, 0, 26, 0, +0, 0, 12, 0, 0, 0, 92, 0, 0, 0, 6, 0, 0, 0, 252, 0, 0, 0, 106, 0, 0, 0, 11, 0, 0, 0, 151, 0, 0, 0, 83, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 155, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 57, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 38, 0, 0, 0, 220, 0, 0, 0, 118, 0, 0, 0, 59, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, 0, 156, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 11, 0, 0, 0, 98, 0, 0, 0, +83, 0, 0, 0, 175, 0, 0, 0, 131, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 13, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 207, 0, 0, 0, 179, 0, 0, 0, 229, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 254, 0, 0, 0, 130, 0, 0, 0, 177, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 189, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 224, 0, 0, 0, 148, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, +222, 0, 0, 0, 44, 0, 0, 0, 90, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 12, 0, 0, 0, 154, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 13, +0, 0, 0, 214, 0, 0, 0, 199, 0, 0, 0, 35, 0, 0, 0, 71, 0, 0, 0, 16, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 135, 0, 0, 0, 147, 0, 0, 0, 152, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 211, 0, 0, 0, 156, 0, 0, 0, 172, 0, 0, 0, 90, 0, 0, 0, 61, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 204, 0, 0, 0, 81, 0, 0, 0, 150, 0, 0, 0, 36, 0, 0, 0, 101, 0, 0, 0, 156, 0, 0, 0, 93, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 240, 0, +0, 0, 52, 0, 0, 0, 105, 0, 0, 0, 42, 0, 0, 0, 240, 0, 0, 0, 165, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 222, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 21, 0, 0, 0, 16, 0, 0, 0, 210, 0, 0, 0, 171, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 196, 0, 0, 0, 176, 0, 0, 0, 182, 0, 0, 0, 91, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 189, 0, 0, 0, 89, 0, 0, 0, 61, 0, 0, 0, 191, 0, 0, 0, 92, 0, 0, 0, 49, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 96, 0, 0, 0, +132, 0, 0, 0, 15, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 92, 0, 0, 0, 162, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 145, 0, 0, 0, 8, 0, 0, 0, 154, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 85, 0, 0, 0, 223, 0, 0, 0, 155, 0, 0, 0, 18, 0, 0, 0, 25, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 158, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 157, 0, 0, 0, 175, 0, 0, 0, 153, 0, 0, 0, 175, +0, 0, 0, 38, 0, 0, 0, 137, 0, 0, 0, 188, 0, 0, 0, 97, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, 0, 244, 0, 0, 0, 51, 0, 0, 0, 149, 0, 0, 0, 201, 0, 0, 0, 53, 0, 0, 0, 88, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 203, 0, 0, 0, 68, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 154, 0, 0, 0, 230, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 165, 0, 0, 0, 155, 0, 0, 0, 132, 0, 0, 0, 86, +0, 0, 0, 110, 0, 0, 0, 170, 0, 0, 0, 139, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 175, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 76, 0, 0, 0, 178, 0, 0, 0, 18, 0, 0, 0, 248, 0, 0, 0, 50, 0, 0, 0, 168, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 186, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 68, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 17, 0, 0, 0, 251, 0, 0, 0, 57, 0, 0, 0, 8, 0, 0, 0, 87, 0, 0, 0, 135, 0, 0, 0, 165, 0, +0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 147, 0, 0, 0, 14, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 174, 0, 0, 0, 114, 0, 0, 0, 89, 0, 0, 0, 208, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 22, 0, 0, 0, 139, 0, 0, 0, 99, 0, 0, 0, 17, 0, 0, 0, 179, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 218, 0, 0, 0, 12, 0, 0, 0, 168, 0, 0, 0, 183, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 78, 0, 0, 0, 84, 0, 0, 0, 231, 0, 0, 0, 175, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 5, 0, 0, 0, 118, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 13, 0, 0, 0, 109, 0, 0, +0, 124, 0, 0, 0, 130, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 125, 0, 0, 0, 195, 0, 0, 0, 196, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 85, 0, 0, 0, 84, 0, 0, 0, 198, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 76, 0, 0, 0, 159, 0, 0, 0, 152, 0, 0, 0, 73, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 195, 0, 0, 0, 141, 0, 0, 0, 250, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 71, 0, 0, 0, 157, 0, 0, 0, 233, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 227, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 223, 0, 0, 0, 133, 0, 0, 0, 167, 0, 0, 0, 133, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 26, 0, 0, 0, 243, 0, 0, 0, 162, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 160, +0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 48, 0, 0, 0, 64, 0, 0, 0, 212, 0, 0, 0, 56, 0, 0, 0, 189, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 187, 0, 0, 0, 213, 0, 0, 0, 120, 0, 0, 0, 109, 0, 0, 0, 29, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 27, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 180, 0, 0, 0, 153, 0, 0, 0, 185, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 211, 0, 0, 0, 58, 0, 0, 0, 115, 0, 0, 0, 131, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, +64, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 225, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 229, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 125, 0, 0, 0, 161, 0, 0, 0, 167, 0, 0, 0, 38, 0, 0, 0, 68, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 192, 0, 0, 0, 143, 0, 0, 0, 125, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 117, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 165, 0, 0, 0, 39, 0, 0, 0, 254, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 211, 0, 0, 0, +17, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 239, 0, 0, 0, 44, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 61, 0, 0, 0, 124, 0, 0, 0, 50, 0, 0, 0, 129, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 248, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 123, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 223, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 118, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 216, 0, 0, 0, 147, 0, 0, 0, 175, 0, 0, 0, 61, 0, 0, 0, 232, 0, 0, 0, 61, 0, 0, 0, 253, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 141, 0, 0, 0, 182, 0, 0, 0, 126, 0, 0, +0, 130, 0, 0, 0, 155, 0, 0, 0, 239, 0, 0, 0, 206, 0, 0, 0, 4, 0, 0, 0, 105, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 255, 0, 0, 0, 239, 0, 0, 0, 160, 0, 0, 0, 82, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 47, 0, 0, 0, 222, 0, 0, 0, 214, 0, 0, 0, 60, 0, 0, 0, 45, 0, 0, 0, 160, 0, 0, 0, 67, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 72, 0, 0, 0, 72, 0, 0, 0, 23, 0, 0, 0, 244, 0, 0, 0, 158, 0, 0, 0, 24, 0, 0, 0, 81, 0, 0, 0, 45, 0, 0, 0, 234, 0, 0, 0, +47, 0, 0, 0, 242, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 93, 0, 0, 0, 113, 0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 85, 0, 0, 0, 31, 0, 0, 0, 96, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 108, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 91, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 89, 0, 0, 0, 110, 0, 0, 0, 99, 0, 0, 0, 99, 0, 0, 0, 24, 0, 0, 0, 124, +0, 0, 0, 227, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 219, 0, 0, 0, 161, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 22, 0, 0, 0, 178, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 63, 0, 0, 0, 57, 0, 0, 0, 206, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 108, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 148, 0, 0, 0, 46, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 239, 0, 0, 0, 181, 0, 0, 0, 5, 0, 0, 0, 150, 0, 0, 0, 239, 0, 0, 0, +211, 0, 0, 0, 123, 0, 0, 0, 81, 0, 0, 0, 218, 0, 0, 0, 5, 0, 0, 0, 68, 0, 0, 0, 103, 0, 0, 0, 188, 0, 0, 0, 7, 0, 0, 0, 33, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0, 115, 0, 0, 0, 111, 0, 0, 0, 33, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 34, 0, +0, 0, 125, 0, 0, 0, 235, 0, 0, 0, 151, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 234, 0, 0, 0, 225, 0, 0, 0, 198, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 143, 0, 0, 0, 67, 0, 0, 0, 88, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 14, 0, 0, 0, 62, 0, 0, 0, 7, 0, 0, 0, 153, 0, 0, 0, 61, 0, 0, 0, 241, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 248, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 6, 0, 0, 0, 226, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 24, 0, +0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 9, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 202, 0, 0, 0, 166, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 66, 0, 0, 0, 46, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 36, 0, 0, 0, 76, 0, 0, 0, 207, 0, 0, 0, 56, 0, 0, 0, 229, 0, 0, 0, 108, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 56, 0, 0, 0, 173, 0, 0, 0, 36, 0, 0, 0, +126, 0, 0, 0, 25, 0, 0, 0, 240, 0, 0, 0, 108, 0, 0, 0, 249, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 89, 0, 0, 0, 32, 0, 0, 0, 11, 0, 0, 0, 161, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 173, 0, 0, 0, 57, 0, 0, 0, 84, 0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 182, 0, 0, 0, 226, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 252, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 34, 0, +0, 0, 63, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 85, 0, 0, 0, 206, 0, 0, 0, 60, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 75, 0, 0, 0, 98, 0, 0, 0, 153, 0, 0, 0, 55, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 162, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 226, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 61, 0, 0, 0, 163, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 204, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 130, 0, 0, 0, 145, +0, 0, 0, 29, 0, 0, 0, 230, 0, 0, 0, 108, 0, 0, 0, 104, 0, 0, 0, 163, 0, 0, 0, 100, 0, 0, 0, 23, 0, 0, 0, 155, 0, 0, 0, 139, 0, 0, 0, 200, 0, 0, 0, 58, 0, 0, 0, 97, 0, 0, 0, 230, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 237, 0, 0, 0, 123, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 58, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 204, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 29, 0, 0, 0, 237, 0, 0, 0, 19, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 14, 0, 0, 0, 26, 0, +0, 0, 234, 0, 0, 0, 191, 0, 0, 0, 253, 0, 0, 0, 74, 0, 0, 0, 60, 0, 0, 0, 142, 0, 0, 0, 236, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 119, 0, 0, 0, 119, 0, 0, 0, 18, 0, 0, 0, 153, 0, 0, 0, 215, 0, 0, 0, 132, 0, 0, 0, 249, 0, 0, 0, 85, 0, 0, 0, 127, 0, 0, 0, 241, 0, 0, 0, 139, 0, 0, 0, 180, 0, 0, 0, 210, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 141, 0, 0, 0, 240, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 235, 0, 0, 0, 130, 0, 0, 0, 75, 0, 0, 0, 44, 0, 0, 0, 40, 0, 0, 0, 244, 0, 0, 0, 58, 0, 0, 0, 246, 0, 0, 0, +222, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 65, 0, 0, 0, 68, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 63, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 159, 0, 0, 0, 195, 0, 0, 0, 85, 0, 0, 0, 76, 0, 0, 0, 198, 0, 0, 0, 193, 0, 0, 0, 148, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 93, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 69, 0, 0, 0, 150, 0, 0, 0, 87, 0, 0, 0, 55, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 144, 0, 0, 0, 102, 0, 0, 0, 185, 0, 0, 0, 118, 0, 0, 0, 160, 0, 0, 0, 91, 0, 0, 0, 165, 0, 0, 0, 133, 0, 0, 0, 117, 0, 0, 0, 35, 0, 0, 0, 249, 0, 0, 0, 137, 0, 0, 0, 165, 0, 0, 0, 130, 0, 0, 0, 178, 0, 0, 0, 111, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 24, 0, 0, 0, 90, 0, 0, 0, 237, 0, 0, 0, 148, 0, 0, 0, 61, +0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 53, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 115, 0, 0, 0, 6, 0, 0, 0, 183, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 248, 0, 0, 0, 176, 0, 0, 0, 34, 0, 0, 0, 232, 0, 0, 0, 210, 0, 0, 0, 237, 0, 0, 0, 11, 0, 0, 0, 239, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, 90, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 26, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 151, 0, 0, 0, 228, 0, 0, 0, 77, 0, 0, 0, 11, 0, 0, 0, 190, 0, 0, 0, 186, 0, 0, 0, 68, 0, 0, 0, 64, 0, 0, 0, 193, +0, 0, 0, 86, 0, 0, 0, 150, 0, 0, 0, 145, 0, 0, 0, 95, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 111, 0, 0, 0, 136, 0, 0, 0, 137, 0, 0, 0, 10, 0, 0, 0, 178, 0, 0, 0, 214, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 238, 0, 0, 0, 20, 0, 0, 0, 170, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 15, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 124, 0, 0, 0, 73, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 15, +0, 0, 0, 117, 0, 0, 0, 211, 0, 0, 0, 112, 0, 0, 0, 70, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 203, 0, 0, 0, 146, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 16, 0, 0, 0, 116, 0, 0, 0, 54, 0, 0, 0, 134, 0, 0, 0, 169, 0, 0, 0, 215, 0, 0, 0, 163, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 128, 0, 0, 0, 59, 0, 0, 0, 219, 0, 0, 0, 167, 0, 0, 0, 157, 0, 0, 0, 157, 0, 0, 0, 191, 0, 0, 0, 160, 0, 0, 0, 204, 0, 0, 0, 237, 0, 0, 0, 83, 0, 0, 0, 162, 0, 0, 0, 162, +0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 25, 0, 0, 0, 55, 0, 0, 0, 88, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 64, 0, 0, 0, 247, 0, 0, 0, 138, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 165, 0, 0, 0, 66, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 76, 0, 0, 0, 167, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 142, 0, 0, 0, 173, 0, 0, 0, 221, 0, 0, 0, 247, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, 95, 0, 0, 0, 147, 0, 0, 0, 137, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 55, 0, 0, 0, 230, 0, +0, 0, 154, 0, 0, 0, 183, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 223, 0, 0, 0, 22, 0, 0, 0, 42, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 65, 0, 0, 0, 213, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 90, 0, 0, 0, 31, 0, 0, 0, 150, 0, 0, 0, 255, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 19, 0, 0, 0, 33, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 222, 0, 0, 0, 151, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 48, +0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 137, 0, 0, 0, 64, 0, 0, 0, 141, 0, 0, 0, 7, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 240, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 30, 0, 0, 0, 212, 0, 0, 0, 147, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 231, 0, 0, 0, 157, 0, 0, 0, 171, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 3, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 219, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 71, 0, 0, 0, 110, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, +0, 36, 0, 0, 0, 44, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 217, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 225, 0, 0, 0, 244, 0, 0, 0, 209, 0, 0, 0, 30, 0, 0, 0, 60, 0, 0, 0, 154, 0, 0, 0, 198, +0, 0, 0, 41, 0, 0, 0, 43, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 120, 0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 45, 0, 0, 0, 158, 0, 0, 0, 169, 0, 0, 0, 201, 0, 0, 0, 121, 0, 0, 0, 87, 0, 0, 0, 171, 0, 0, 0, 36, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 25, 0, 0, 0, 105, 0, 0, 0, 251, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 117, 0, 0, 0, 73, 0, 0, 0, 125, 0, 0, 0, 96, 0, 0, 0, 115, 0, 0, 0, 64, 0, 0, 0, 66, 0, 0, 0, 196, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 149, 0, 0, 0, 121, +0, 0, 0, 30, 0, 0, 0, 4, 0, 0, 0, 131, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 232, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 239, 0, 0, 0, 203, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 20, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 135, 0, 0, 0, 106, 0, 0, 0, 122, 0, 0, 0, 207, 0, 0, 0, 29, 0, 0, 0, 217, 0, 0, 0, 46, 0, 0, 0, 26, 0, 0, 0, 103, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 192, 0, 0, 0, 240, 0, 0, 0, 156, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 223, +0, 0, 0, 8, 0, 0, 0, 191, 0, 0, 0, 123, 0, 0, 0, 209, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 230, 0, 0, 0, 201, 0, 0, 0, 73, 0, 0, 0, 8, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 176, 0, 0, 0, 10, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 76, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 212, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 87, 0, 0, 0, 146, 0, 0, 0, 122, 0, 0, 0, 241, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 47, 0, 0, 0, 201, 0, 0, 0, 146, 0, 0, 0, 3, 0, 0, 0, 229, 0, +0, 0, 90, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 225, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 147, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 126, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 253, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 207, 0, 0, 0, 59, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 9, 0, 0, 0, 30, 0, +0, 0, 157, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 128, 0, 0, 0, 230, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 170, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 135, 0, 0, 0, 153, 0, 0, 0, 162, 0, 0, 0, 140, 0, 0, 0, 38, 0, 0, 0, 132, 0, 0, 0, 98, 0, 0, 0, 125, 0, 0, 0, 182, 0, 0, 0, 41, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 14, 0, 0, 0, 231, 0, 0, 0, 32, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 109, +0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 82, 0, 0, 0, 68, 0, 0, 0, 84, 0, 0, 0, 227, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 54, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 174, 0, 0, 0, 146, 0, 0, 0, 232, 0, 0, 0, 112, 0, 0, 0, 157, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 177, 0, 0, 0, 173, 0, 0, 0, 55, 0, 0, 0, 169, 0, 0, 0, 95, 0, 0, 0, 192, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 21, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 198, 0, 0, 0, 28, 0, 0, 0, 39, 0, 0, 0, 28, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 79, 0, +0, 0, 202, 0, 0, 0, 164, 0, 0, 0, 196, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 70, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 254, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 77, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 148, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 211, 0, 0, 0, 255, 0, 0, 0, 87, 0, 0, 0, 11, 0, 0, 0, 176, 0, 0, 0, 178, 0, 0, 0, 220, 0, 0, 0, 248, 0, 0, 0, 79, 0, 0, 0, 226, 0, 0, 0, 18, 0, 0, 0, 213, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 9, 0, 0, 0, 67, 0, 0, 0, 109, 0, 0, 0, 163, 0, 0, 0, 77, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 232, 0, 0, 0, 113, 0, 0, 0, 69, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 12, 0, 0, 0, 106, 0, +0, 0, 184, 0, 0, 0, 66, 0, 0, 0, 28, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 44, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 172, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 2, 0, 0, 0, 41, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 207, 0, 0, 0, 204, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 53, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 173, 0, 0, 0, 133, 0, 0, 0, 95, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 225, 0, 0, 0, 86, 0, 0, 0, 69, 0, +0, 0, 105, 0, 0, 0, 104, 0, 0, 0, 90, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 41, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 49, 0, 0, 0, 183, 0, 0, 0, 203, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 65, 0, 0, 0, 152, 0, 0, 0, 26, 0, 0, 0, 187, 0, 0, 0, 3, 0, 0, 0, 86, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 108, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 164, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 57, 0, 0, 0, 179, 0, 0, 0, 186, 0, +0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 170, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 135, 0, 0, 0, 245, 0, 0, 0, 123, 0, 0, 0, 229, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 62, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 190, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 139, 0, 0, 0, 241, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 220, 0, 0, 0, 41, 0, 0, 0, 180, 0, 0, 0, 226, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 137, 0, 0, 0, 23, +0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 187, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 242, 0, 0, 0, 232, 0, 0, 0, 34, 0, 0, 0, 18, 0, 0, 0, 149, 0, 0, 0, 6, 0, 0, 0, 218, 0, 0, 0, 124, 0, 0, 0, 164, 0, 0, 0, 12, 0, 0, 0, 244, 0, 0, 0, 186, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 181, 0, 0, 0, 89, 0, 0, 0, 202, 0, 0, 0, 241, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 54, 0, 0, 0, 9, 0, 0, 0, 68, 0, 0, 0, 226, 0, 0, 0, 127, +0, 0, 0, 209, 0, 0, 0, 99, 0, 0, 0, 21, 0, 0, 0, 153, 0, 0, 0, 234, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 157, 0, 0, 0, 192, 0, 0, 0, 68, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 134, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 251, 0, 0, 0, 25, 0, 0, 0, 251, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 117, 0, 0, 0, 177, 0, 0, 0, 51, 0, 0, 0, 192, 0, 0, 0, 150, 0, 0, 0, 13, +0, 0, 0, 251, 0, 0, 0, 21, 0, 0, 0, 108, 0, 0, 0, 13, 0, 0, 0, 7, 0, 0, 0, 95, 0, 0, 0, 5, 0, 0, 0, 105, 0, 0, 0, 62, 0, 0, 0, 71, 0, 0, 0, 151, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 82, 0, 0, 0, 124, 0, 0, 0, 120, 0, 0, 0, 131, 0, 0, 0, 173, 0, 0, 0, 27, 0, 0, 0, 57, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 71, 0, 0, 0, 219, 0, 0, 0, 42, 0, 0, 0, 176, 0, 0, 0, 225, 0, 0, 0, 145, 0, 0, 0, 153, 0, 0, 0, 85, 0, 0, 0, 184, 0, 0, 0, 153, 0, 0, 0, 58, 0, 0, 0, 160, 0, 0, 0, 68, 0, 0, +0, 17, 0, 0, 0, 81, 0, 0, 0, 163, 120, 89, 19, 202, 77, 235, 117, 171, 216, 65, 65, 77, 10, 112, 0, 152, 232, 121, 119, 121, 64, 199, 140, 115, 254, 111, 43, 238, 108, 3, 82, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12, 15, 10, 5, 0, 14, 9, 4, 3, 13, 8, 7, 2, 12, 11, 6, 1, 1, 2, 3, 0, 6, 7, 4, 5, 11, 8, 9, 10, 12, 13, 14, 15, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3, 15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0, 3, 3, 3, +3, 7, 7, 7, 7, 11, 11, 11, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, +0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, +0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 221, 0, 0, 0, +183, 0, 0, 0, 165, 0, 0, 0, 179, 0, 0, 0, 138, 0, 0, 0, 222, 0, 0, 0, 109, 0, 0, 0, 245, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 119, 0, 0, 0, 128, 0, 0, 0, 159, 0, 0, 0, 240, 0, 0, 0, 32, 0, 0, 0, 125, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 139, 0, 0, 0, 215, 0, 0, 0, 15, 0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, +0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 120, 181, 1, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 181, 1, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 181, 1, 0, 0, 0, +0, 0, 64, 181, 1, 0, 112, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 181, 1, 0, 120, 181, 1, 0, 0, 0, 0, 0]), "i8", Na, 8); +var qb = xa(F(12, "i8", E), 8); +v(0 == qb % 8); +r._memset = rb; +r._memcpy = sb; +var tb = {crypto:m}; +function ub(a, b, c) { + c && e({message:"_randombytes count overflow"}); + G.set(tb.crypto.randomBytes(b), a); + return 0 +} +r._randombytes = ub; +var vb = 0; +function M(a) { + return B[vb >> 2] = a +} +var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, +Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, wb = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", +4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", +26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", +45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", +69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", +87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", +111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", +129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; +function xb(a, b, c) { + var d = O(a, {parent:l}).d, a = "/" === a ? "/" : yb(a)[2], f = zb(d, a); + f && e(new Q(f)); + d.l.Ta || e(new Q(N.L)); + return d.l.Ta(d, a, b, c) +} +function Ab(a, b) { + b = b & 4095 | 32768; + return xb(a, b, 0) +} +function Bb(a, b) { + b = b & 1023 | 16384; + return xb(a, b, 0) +} +function Cb(a, b, c) { + return xb(a, b | 8192, c) +} +function Db(a, b) { + var c = O(b, {parent:l}).d, d = "/" === b ? "/" : yb(b)[2], f = zb(c, d); + f && e(new Q(f)); + c.l.Wa || e(new Q(N.L)); + return c.l.Wa(c, d, a) +} +function Eb(a, b) { + var c; + c = "string" === typeof a ? O(a, {N:l}).d : a; + c.l.Y || e(new Q(N.L)); + c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) +} +function Fb(a, b) { + var c, a = Gb(a), d; + "string" === typeof b ? (d = Hb[b], "undefined" === typeof d && e(Error("Unknown file open mode: " + b))) : d = b; + b = d; + c = b & 512 ? c & 4095 | 32768 : 0; + var f; + try { + var g = O(a, {N:!(b & 65536)}); + f = g.d; + a = g.path + }catch(h) { + } + b & 512 && (f ? b & 2048 && e(new Q(N.va)) : f = xb(a, c, 0)); + f || e(new Q(N.ca)); + 8192 === (f.mode & 61440) && (b &= -1025); + f ? 40960 === (f.mode & 61440) ? c = N.ba : 16384 === (f.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Ib(f, c)) : c = N.ca; + c && e(new Q(c)); + b & 1024 && (c = f, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || e(new Q(N.L)), 16384 === (c.mode & 61440) && e(new Q(N.aa)), 32768 !== (c.mode & 61440) && e(new Q(N.A)), (g = Ib(c, "w")) && e(new Q(g)), c.l.Y(c, {size:0, timestamp:Date.now()})); + var i = {path:a, d:f, M:b, seekable:l, position:0, e:f.e, Gb:[], error:n}, j; + a: { + f = k || 4096; + for(c = k || 1;c <= f;c++) { + if(!R[c]) { + j = c; + break a + } + } + e(new Q(N.Za)) + } + i.s = j; + Object.defineProperty(i, "object", {get:function() { + return i.d + }, set:function(a) { + i.d = a + }}); + Object.defineProperty(i, "isRead", {get:function() { + return 1 !== (i.M & 3) + }}); + Object.defineProperty(i, "isWrite", {get:function() { + return 0 !== (i.M & 3) + }}); + Object.defineProperty(i, "isAppend", {get:function() { + return i.M & 8 + }}); + R[j] = i; + i.e.open && i.e.open(i); + return i +} +function Jb(a) { + try { + a.e.close && a.e.close(a) + }catch(b) { + e(b) + }finally { + R[a.s] = m + } +} +function Kb(a, b, c, d, f) { + (0 > d || 0 > f) && e(new Q(N.A)); + 0 === (a.M & 3) && e(new Q(N.$)); + 16384 === (a.d.mode & 61440) && e(new Q(N.aa)); + a.e.write || e(new Q(N.A)); + var g = l; + "undefined" === typeof f ? (f = a.position, g = n) : a.seekable || e(new Q(N.da)); + a.M & 8 && ((!a.seekable || !a.e.na) && e(new Q(N.da)), a.e.na(a, 0, 2)); + b = a.e.write(a, b, c, d, f); + g || (a.position += b); + return b +} +function yb(a) { + return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) +} +function Lb(a, b) { + for(var c = 0, d = a.length - 1;0 <= d;d--) { + var f = a[d]; + "." === f ? a.splice(d, 1) : ".." === f ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) + } + if(b) { + for(;c--;c) { + a.unshift("..") + } + } + return a +} +function Gb(a) { + var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Lb(a.split("/").filter(function(a) { + return!!a + }), !b).join("/"); + !a && !b && (a = "."); + a && c && (a += "/"); + return(b ? "/" : "") + a +} +function S() { + var a = Array.prototype.slice.call(arguments, 0); + return Gb(a.filter(function(a) { + "string" !== typeof a && e(new TypeError("Arguments to path.join must be strings")); + return a + }).join("/")) +} +function Mb() { + for(var a = "", b = n, c = arguments.length - 1;-1 <= c && !b;c--) { + var d = 0 <= c ? arguments[c] : "/"; + "string" !== typeof d && e(new TypeError("Arguments to path.resolve must be strings")); + d && (a = d + "/" + a, b = "/" === d.charAt(0)) + } + a = Lb(a.split("/").filter(function(a) { + return!!a + }), !b).join("/"); + return(b ? "/" : "") + a || "." +} +var Nb = []; +function Ob(a, b) { + Nb[a] = {input:[], H:[], O:b}; + Pb[a] = {e:Qb} +} +var Qb = {open:function(a) { + Rb || (Rb = new pa); + var b = Nb[a.d.X]; + b || e(new Q(N.wa)); + a.q = b; + a.seekable = n +}, close:function(a) { + a.q.H.length && a.q.O.W(a.q, 10) +}, Q:function(a, b, c, d) { + (!a.q || !a.q.O.Na) && e(new Q(N.za)); + for(var f = 0, g = 0;g < d;g++) { + var h; + try { + h = a.q.O.Na(a.q) + }catch(i) { + e(new Q(N.I)) + } + h === k && 0 === f && e(new Q(N.ua)); + if(h === m || h === k) { + break + } + f++; + b[c + g] = h + } + f && (a.d.timestamp = Date.now()); + return f +}, write:function(a, b, c, d) { + (!a.q || !a.q.O.W) && e(new Q(N.za)); + for(var f = 0;f < d;f++) { + try { + a.q.O.W(a.q, b[c + f]) + }catch(g) { + e(new Q(N.I)) + } + } + d && (a.d.timestamp = Date.now()); + return f +}}, Rb, T = {z:function() { + return T.ka(m, "/", 16895, 0) +}, ka:function(a, b, c, d) { + (24576 === (c & 61440) || 4096 === (c & 61440)) && e(new Q(N.L)); + c = Sb(a, b, c, d); + c.l = T.l; + 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Tb); + c.timestamp = Date.now(); + a && (a.g[b] = c); + return c +}, l:{ge:function(a) { + var b = {}; + b.ce = 8192 === (a.mode & 61440) ? a.id : 1; + b.je = a.id; + b.mode = a.mode; + b.pe = 1; + b.uid = 0; + b.he = 0; + b.X = a.X; + b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; + b.Yd = new Date(a.timestamp); + b.oe = new Date(a.timestamp); + b.ae = new Date(a.timestamp); + b.ib = 4096; + b.Zd = Math.ceil(b.size / b.ib); + return b +}, Y:function(a, b) { + b.mode !== k && (a.mode = b.mode); + b.timestamp !== k && (a.timestamp = b.timestamp); + if(b.size !== k) { + var c = a.g; + if(b.size < c.length) { + c.length = b.size + }else { + for(;b.size > c.length;) { + c.push(0) + } + } + } +}, tb:function() { + e(new Q(N.ca)) +}, Ta:function(a, b, c, d) { + return T.ka(a, b, c, d) +}, rename:function(a, b, c) { + if(16384 === (a.mode & 61440)) { + var d; + try { + d = Ub(b, c) + }catch(f) { + } + if(d) { + for(var g in d.g) { + e(new Q(N.ya)) + } + } + } + delete a.parent.g[a.name]; + a.name = c; + b.g[c] = a +}, ze:function(a, b) { + delete a.g[b] +}, ve:function(a, b) { + var c = Ub(a, b), d; + for(d in c.g) { + e(new Q(N.ya)) + } + delete a.g[b] +}, Wa:function(a, b, c) { + a = T.ka(a, b, 41471, 0); + a.link = c; + return a +}, Va:function(a) { + 40960 !== (a.mode & 61440) && e(new Q(N.A)); + return a.link +}}, e:{open:function(a) { + if(16384 === (a.d.mode & 61440)) { + var b = [".", ".."], c; + for(c in a.d.g) { + a.d.g.hasOwnProperty(c) && b.push(c) + } + a.lb = b + } +}, Q:function(a, b, c, d, f) { + a = a.d.g; + d = Math.min(a.length - f, d); + if(a.subarray) { + b.set(a.subarray(f, f + d), c) + }else { + for(var g = 0;g < d;g++) { + b[c + g] = a[f + g] + } + } + return d +}, write:function(a, b, c, d, f) { + for(var g = a.d.g;g.length < f;) { + g.push(0) + } + for(var h = 0;h < d;h++) { + g[f + h] = b[c + h] + } + a.d.timestamp = Date.now(); + return d +}, na:function(a, b, c) { + 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); + 0 > b && e(new Q(N.A)); + a.Gb = []; + return a.position = b +}, ue:function(a) { + return a.lb +}, Wd:function(a, b, c) { + a = a.d.g; + for(b += c;b > a.length;) { + a.push(0) + } +}, ne:function(a, b, c, d, f, g, h) { + 32768 !== (a.d.mode & 61440) && e(new Q(N.wa)); + a = a.d.g; + if(h & 2) { + if(0 < f || f + d < a.length) { + a = a.subarray ? a.subarray(f, f + d) : Array.prototype.slice.call(a, f, f + d) + } + f = l; + (d = Oa(d)) || e(new Q(N.$a)); + b.set(a, d) + }else { + v(a.buffer === b || a.buffer === b.buffer), f = n, d = a.byteOffset + } + return{te:d, Xd:f} +}}}, Vb = F(1, "i32*", E), Wb = F(1, "i32*", E); +nb = F(1, "i32*", E); +var Xb = m, Pb = [m], R = [m], Yb = 1, Zb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], $b = l; +function Q(a) { + this.mb = a; + for(var b in N) { + if(N[b] === a) { + this.code = b; + break + } + } + this.message = wb[a] +} +function ac(a) { + a instanceof Q || e(a + " : " + Error().stack); + M(a.mb) +} +function bc(a, b) { + for(var c = 0, d = 0;d < b.length;d++) { + c = (c << 5) - c + b.charCodeAt(d) | 0 + } + return(a + c) % Zb.length +} +function Ub(a, b) { + var c = Ib(a, "x"); + c && e(new Q(c)); + for(c = Zb[bc(a.id, b)];c;c = c.wb) { + if(c.parent.id === a.id && c.name === b) { + return c + } + } + return a.l.tb(a, b) +} +function Sb(a, b, c, d) { + var f = {id:Yb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; + a || (a = f); + f.parent = a; + f.z = a.z; + Object.defineProperty(f, "read", {get:function() { + return 365 === (f.mode & 365) + }, set:function(a) { + a ? f.mode |= 365 : f.mode &= -366 + }}); + Object.defineProperty(f, "write", {get:function() { + return 146 === (f.mode & 146) + }, set:function(a) { + a ? f.mode |= 146 : f.mode &= -147 + }}); + a = bc(f.parent.id, f.name); + f.wb = Zb[a]; + return Zb[a] = f +} +function O(a, b) { + a = Mb("/", a); + b = b || {pa:0}; + 8 < b.pa && e(new Q(N.ba)); + for(var c = Lb(a.split("/").filter(function(a) { + return!!a + }), n), d = Xb, f = "/", g = 0;g < c.length;g++) { + var h = g === c.length - 1; + if(h && b.parent) { + break + } + d = Ub(d, c[g]); + f = S(f, c[g]); + d.ub && (d = d.z.root); + if(!h || b.N) { + for(h = 0;40960 === (d.mode & 61440);) { + d = O(f, {N:n}).d; + d.l.Va || e(new Q(N.A)); + var d = d.l.Va(d), i = Mb; + var j = yb(f), f = j[0], j = j[1]; + !f && !j ? f = "." : (j && (j = j.substr(0, j.length - 1)), f += j); + f = i(f, d); + d = O(f, {pa:b.pa}).d; + 40 < h++ && e(new Q(N.ba)) + } + } + } + return{path:f, d:d} +} +function cc(a) { + for(var b;;) { + if(a === a.parent) { + return b ? S(a.z.Ua, b) : a.z.Ua + } + b = b ? S(a.name, b) : a.name; + a = a.parent + } +} +var Hb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; +function Ib(a, b) { + return $b ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 +} +function zb(a, b) { + try { + return Ub(a, b), N.va + }catch(c) { + } + return Ib(a, "wx") +} +var Tb = {open:function(a) { + a.e = Pb[a.d.X].e; + a.e.open && a.e.open(a) +}, na:function() { + e(new Q(N.da)) +}}, dc; +function ec(a, b) { + var c = 0; + a && (c |= 365); + b && (c |= 146); + return c +} +function fc(a, b, c, d, f) { + a = S("string" === typeof a ? a : cc(a), b); + d = ec(d, f); + f = Ab(a, d); + if(c) { + if("string" === typeof c) { + for(var b = Array(c.length), g = 0, h = c.length;g < h;++g) { + b[g] = c.charCodeAt(g) + } + c = b + } + Eb(a, d | 146); + b = Fb(a, "w"); + Kb(b, c, 0, c.length, 0); + Jb(b); + Eb(a, d) + } + return f +} +function gc(a, b, c, d) { + a = S("string" === typeof a ? a : cc(a), b); + gc.Sa || (gc.Sa = 64); + b = gc.Sa++ << 8 | 0; + Pb[b] = {e:{open:function(a) { + a.seekable = n + }, close:function() { + d && (d.buffer && d.buffer.length) && d(10) + }, Q:function(a, b, d, i) { + for(var j = 0, p = 0;p < i;p++) { + var z; + try { + z = c() + }catch(w) { + e(new Q(N.I)) + } + z === k && 0 === j && e(new Q(N.ua)); + if(z === m || z === k) { + break + } + j++; + b[d + p] = z + } + j && (a.d.timestamp = Date.now()); + return j + }, write:function(a, b, c, i) { + for(var j = 0;j < i;j++) { + try { + d(b[c + j]) + }catch(p) { + e(new Q(N.I)) + } + } + i && (a.d.timestamp = Date.now()); + return j + }}}; + return Cb(a, c && d ? 511 : c ? 219 : 365, b) +} +function hc(a, b, c) { + a = R[a]; + if(!a) { + return-1 + } + a.sender(G.subarray(b, b + c)); + return c +} +function ic(a, b, c) { + var d = R[a]; + if(!d) { + return M(N.$), -1 + } + if(d && "socket" in d) { + return hc(a, b, c) + } + try { + return Kb(d, A, b, c) + }catch(f) { + return ac(f), -1 + } +} +function jc(a, b, c, d) { + c *= b; + if(0 == c) { + return 0 + } + a = ic(d, a, c); + if(-1 == a) { + if(b = R[d]) { + b.error = l + } + return 0 + } + return Math.floor(a / b) +} +r._strlen = kc; +function lc(a) { + return 0 > a || 0 === a && -Infinity === 1 / a +} +function mc(a, b) { + function c(a) { + var c; + "double" === a ? c = Ja[b + f >> 3] : "i64" == a ? (c = [B[b + f >> 2], B[b + (f + 8) >> 2]], f += 8) : (a = "i32", c = B[b + f >> 2]); + f += Math.max(Math.max(la(a), ma), 8); + return c + } + for(var d = a, f = 0, g = [], h, i;;) { + var j = d; + h = A[d]; + if(0 === h) { + break + } + i = A[d + 1 | 0]; + if(37 == h) { + var p = n, z = n, w = n, C = n; + a:for(;;) { + switch(i) { + case 43: + p = l; + break; + case 45: + z = l; + break; + case 35: + w = l; + break; + case 48: + if(C) { + break a + }else { + C = l; + break + } + ; + default: + break a + } + d++; + i = A[d + 1 | 0] + } + var D = 0; + if(42 == i) { + D = c("i32"), d++, i = A[d + 1 | 0] + }else { + for(;48 <= i && 57 >= i;) { + D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] + } + } + var L = n; + if(46 == i) { + var H = 0, L = l; + d++; + i = A[d + 1 | 0]; + if(42 == i) { + H = c("i32"), d++ + }else { + for(;;) { + i = A[d + 1 | 0]; + if(48 > i || 57 < i) { + break + } + H = 10 * H + (i - 48); + d++ + } + } + i = A[d + 1 | 0] + }else { + H = 6 + } + var y; + switch(String.fromCharCode(i)) { + case "h": + i = A[d + 2 | 0]; + 104 == i ? (d++, y = 1) : y = 2; + break; + case "l": + i = A[d + 2 | 0]; + 108 == i ? (d++, y = 8) : y = 4; + break; + case "L": + ; + case "q": + ; + case "j": + y = 8; + break; + case "z": + ; + case "t": + ; + case "I": + y = 4; + break; + default: + y = m + } + y && d++; + i = A[d + 1 | 0]; + switch(String.fromCharCode(i)) { + case "d": + ; + case "i": + ; + case "u": + ; + case "o": + ; + case "x": + ; + case "X": + ; + case "p": + j = 100 == i || 105 == i; + y = y || 4; + var P = h = c("i" + 8 * y), s; + 8 == y && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); + 4 >= y && (h = (j ? eb : db)(h & Math.pow(256, y) - 1, 8 * y)); + var ta = Math.abs(h), j = ""; + if(100 == i || 105 == i) { + s = 8 == y && nc ? nc.stringify(P[0], P[1], m) : eb(h, 8 * y).toString(10) + }else { + if(117 == i) { + s = 8 == y && nc ? nc.stringify(P[0], P[1], l) : db(h, 8 * y).toString(10), h = Math.abs(h) + }else { + if(111 == i) { + s = (w ? "0" : "") + ta.toString(8) + }else { + if(120 == i || 88 == i) { + j = w && 0 != h ? "0x" : ""; + if(8 == y && nc) { + if(P[1]) { + s = (P[1] >>> 0).toString(16); + for(w = (P[0] >>> 0).toString(16);8 > w.length;) { + w = "0" + w + } + s += w + }else { + s = (P[0] >>> 0).toString(16) + } + }else { + if(0 > h) { + h = -h; + s = (ta - 1).toString(16); + P = []; + for(w = 0;w < s.length;w++) { + P.push((15 - parseInt(s[w], 16)).toString(16)) + } + for(s = P.join("");s.length < 2 * y;) { + s = "f" + s + } + }else { + s = ta.toString(16) + } + } + 88 == i && (j = j.toUpperCase(), s = s.toUpperCase()) + }else { + 112 == i && (0 === ta ? s = "(nil)" : (j = "0x", s = ta.toString(16))) + } + } + } + } + if(L) { + for(;s.length < H;) { + s = "0" + s + } + } + for(p && (j = 0 > h ? "-" + j : "+" + j);j.length + s.length < D;) { + z ? s += " " : C ? s = "0" + s : j = " " + j + } + s = j + s; + s.split("").forEach(function(a) { + g.push(a.charCodeAt(0)) + }); + break; + case "f": + ; + case "F": + ; + case "e": + ; + case "E": + ; + case "g": + ; + case "G": + h = c("double"); + if(isNaN(h)) { + s = "nan", C = n + }else { + if(isFinite(h)) { + L = n; + y = Math.min(H, 20); + if(103 == i || 71 == i) { + L = l, H = H || 1, y = parseInt(h.toExponential(y).split("e")[1], 10), H > y && -4 <= y ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= y + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), y = Math.min(H, 20) + } + if(101 == i || 69 == i) { + s = h.toExponential(y), /[eE][-+]\d$/.test(s) && (s = s.slice(0, -1) + "0" + s.slice(-1)) + }else { + if(102 == i || 70 == i) { + s = h.toFixed(y), 0 === h && lc(h) && (s = "-" + s) + } + } + j = s.split("e"); + if(L && !w) { + for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { + j[0] = j[0].slice(0, -1) + } + }else { + for(w && -1 == s.indexOf(".") && (j[0] += ".");H > y++;) { + j[0] += "0" + } + } + s = j[0] + (1 < j.length ? "e" + j[1] : ""); + 69 == i && (s = s.toUpperCase()); + p && 0 <= h && (s = "+" + s) + }else { + s = (0 > h ? "-" : "") + "inf", C = n + } + } + for(;s.length < D;) { + s = z ? s + " " : C && ("-" == s[0] || "+" == s[0]) ? s[0] + "0" + s.slice(1) : (C ? "0" : " ") + s + } + 97 > i && (s = s.toUpperCase()); + s.split("").forEach(function(a) { + g.push(a.charCodeAt(0)) + }); + break; + case "s": + C = (p = c("i8*")) ? kc(p) : 6; + L && (C = Math.min(C, H)); + if(!z) { + for(;C < D--;) { + g.push(32) + } + } + if(p) { + for(w = 0;w < C;w++) { + g.push(G[p++ | 0]) + } + }else { + g = g.concat(J("(null)".substr(0, C), l)) + } + if(z) { + for(;C < D--;) { + g.push(32) + } + } + break; + case "c": + for(z && g.push(c("i8"));0 < --D;) { + g.push(32) + } + z || g.push(c("i8")); + break; + case "n": + z = c("i32*"); + B[z >> 2] = g.length; + break; + case "%": + g.push(h); + break; + default: + for(w = j;w < d + 2;w++) { + g.push(A[w]) + } + } + d += 2 + }else { + g.push(h), d += 1 + } + } + return g +} +function oc(a, b, c) { + c = mc(b, c); + b = ja(); + a = jc(F(c, "i8", La), 1, c.length, a); + ka(b); + return a +} +function pc(a) { + pc.ia || (x = x + 4095 >> 12 << 12, pc.ia = l, v(ua), pc.hb = ua, ua = function() { + wa("cannot dynamically allocate, sbrk now has control") + }); + var b = x; + 0 != a && pc.hb(a); + return b +} +function U() { + return B[U.m >> 2] +} +function qc() { + return!!qc.ta +} +function rc(a) { + var b = n; + try { + a == __ZTIi && (b = l) + }catch(c) { + } + try { + a == __ZTIj && (b = l) + }catch(d) { + } + try { + a == __ZTIl && (b = l) + }catch(f) { + } + try { + a == __ZTIm && (b = l) + }catch(g) { + } + try { + a == __ZTIx && (b = l) + }catch(h) { + } + try { + a == __ZTIy && (b = l) + }catch(i) { + } + try { + a == __ZTIf && (b = l) + }catch(j) { + } + try { + a == __ZTId && (b = l) + }catch(p) { + } + try { + a == __ZTIe && (b = l) + }catch(z) { + } + try { + a == __ZTIc && (b = l) + }catch(w) { + } + try { + a == __ZTIa && (b = l) + }catch(C) { + } + try { + a == __ZTIh && (b = l) + }catch(D) { + } + try { + a == __ZTIs && (b = l) + }catch(L) { + } + try { + a == __ZTIt && (b = l) + }catch(H) { + } + return b +} +function sc(a, b, c) { + if(0 == c) { + return n + } + if(0 == b || b == a) { + return l + } + switch(rc(b) ? b : B[B[b >> 2] - 8 >> 2]) { + case 0: + return 0 == B[B[a >> 2] - 8 >> 2] ? sc(B[a + 8 >> 2], B[b + 8 >> 2], c) : n; + case 1: + return n; + case 2: + return sc(a, B[b + 8 >> 2], c); + default: + return n + } +} +function tc(a, b, c) { + if(!tc.sb) { + try { + B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 + }catch(d) { + } + try { + B[pb >> 2] = 1 + }catch(f) { + } + try { + B[ob >> 2] = 2 + }catch(g) { + } + tc.sb = l + } + B[U.m >> 2] = a; + B[U.m + 4 >> 2] = b; + B[U.m + 8 >> 2] = c; + "uncaught_exception" in qc ? qc.ta++ : qc.ta = 1; + e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") +} +function uc(a) { + try { + return vc(a) + }catch(b) { + } +} +function wc() { + if(wc.Bb) { + wc.Bb = n + }else { + V.setThrew(0); + B[U.m + 4 >> 2] = 0; + var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; + b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); + a && (uc(a), B[U.m >> 2] = 0) + } +} +var xc = F(1, "i32*", E); +function yc(a) { + var b, c; + yc.ia ? (c = B[xc >> 2], b = B[c >> 2]) : (yc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[xc >> 2] = c); + var d = [], f = 0, g; + for(g in a) { + if("string" === typeof a[g]) { + var h = g + "=" + a[g]; + d.push(h); + f += h.length + } + } + 1024 < f && e(Error("Environment size exceeded TOTAL_ENV_SIZE!")); + for(a = 0;a < d.length;a++) { + h = d[a]; + for(f = 0;f < h.length;f++) { + A[b + f | 0] = h.charCodeAt(f) + } + A[b + f | 0] = 0; + B[c + 4 * a >> 2] = b; + b += h.length + 1 + } + B[c + 4 * d.length >> 2] = 0 +} +var W = {}; +function zc(a) { + if(0 === a) { + return 0 + } + a = Fa(a); + if(!W.hasOwnProperty(a)) { + return 0 + } + zc.J && vc(zc.J); + zc.J = F(J(W[a]), "i8", Ka); + return zc.J +} +function Ac(a, b, c) { + if(a in wb) { + if(wb[a].length > c - 1) { + return M(N.ab) + } + a = wb[a]; + for(c = 0;c < a.length;c++) { + A[b + c | 0] = a.charCodeAt(c) + } + return A[b + c | 0] = 0 + } + return M(N.A) +} +function Bc(a) { + Bc.buffer || (Bc.buffer = Oa(256)); + Ac(a, Bc.buffer, 256); + return Bc.buffer +} +function Cc(a) { + r.exit(a) +} +function Dc(a, b) { + var c = db(a & 255); + A[Dc.J | 0] = c; + if(-1 == ic(b, Dc.J, 1)) { + if(c = R[b]) { + c.error = l + } + return-1 + } + return c +} +var Ec = n, Fc = n, Gc = n, Hc = n, Ic = k, Jc = k; +function Kc(a) { + return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] +} +var Lc = []; +function Mc() { + var a = r.canvas; + Lc.forEach(function(b) { + b(a.width, a.height) + }) +} +function Nc() { + var a = r.canvas; + this.Ib = a.width; + this.Hb = a.height; + a.width = screen.width; + a.height = screen.height; + "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); + Mc() +} +function Oc() { + var a = r.canvas; + a.width = this.Ib; + a.height = this.Hb; + "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); + Mc() +} +var Pc, Qc, Rc, Sc; +r.RandomBytes = tb; +vb = ra(4); +B[vb >> 2] = 0; +var Xb = Sb(m, "/", 16895, 0), Tc = T, Uc = {type:Tc, se:{}, Ua:"/", root:m}, Vc; +Vc = O("/", {N:n}); +var Wc = Tc.z(Uc); +Wc.z = Uc; +Uc.root = Wc; +Vc && (Vc.d.z = Uc, Vc.d.ub = l, Xb = Uc.root); +Bb("/tmp", 511); +Bb("/dev", 511); +Pb[259] = {e:{Q:function() { + return 0 +}, write:function() { + return 0 +}}}; +Cb("/dev/null", 438, 259); +Ob(1280, {Na:function(a) { + if(!a.input.length) { + var b = m; + if(ca) { + if(process.Eb.be) { + return + } + b = process.Eb.Q() + }else { + "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) + } + if(!b) { + return m + } + a.input = J(b, l) + } + return a.input.shift() +}, W:function(a, b) { + b === m || 10 === b ? (r.print(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) +}}); +Ob(1536, {W:function(a, b) { + b === m || 10 === b ? (r.printErr(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) +}}); +Cb("/dev/tty", 438, 1280); +Cb("/dev/tty1", 438, 1536); +Bb("/dev/shm", 511); +Bb("/dev/shm/tmp", 511); +Xa.unshift({V:function() { + if(!r.noFSInit && !dc) { + v(!dc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + dc = l; + r.stdin = r.stdin; + r.stdout = r.stdout; + r.stderr = r.stderr; + r.stdin ? gc("/dev", "stdin", r.stdin) : Db("/dev/tty", "/dev/stdin"); + r.stdout ? gc("/dev", "stdout", m, r.stdout) : Db("/dev/tty", "/dev/stdout"); + r.stderr ? gc("/dev", "stderr", m, r.stderr) : Db("/dev/tty1", "/dev/stderr"); + var a = Fb("/dev/stdin", "r"); + B[Vb >> 2] = a.s; + v(1 === a.s, "invalid handle for stdin (" + a.s + ")"); + a = Fb("/dev/stdout", "w"); + B[Wb >> 2] = a.s; + v(2 === a.s, "invalid handle for stdout (" + a.s + ")"); + a = Fb("/dev/stderr", "w"); + B[nb >> 2] = a.s; + v(3 === a.s, "invalid handle for stderr (" + a.s + ")") + } +}}); +Ya.push({V:function() { + $b = n +}}); +Za.push({V:function() { + dc = n; + for(var a = 0;a < R.length;a++) { + var b = R[a]; + b && Jb(b) + } +}}); +r.FS_createFolder = function(a, b, c, d) { + a = S("string" === typeof a ? a : cc(a), b); + return Bb(a, ec(c, d)) +}; +r.FS_createPath = function(a, b) { + for(var a = "string" === typeof a ? a : cc(a), c = b.split("/").reverse();c.length;) { + var d = c.pop(); + if(d) { + var f = S(a, d); + try { + Bb(f, 511) + }catch(g) { + } + a = f + } + } + return f +}; +r.FS_createDataFile = fc; +r.FS_createPreloadedFile = function(a, b, c, d, f, g, h, i) { + function j() { + Gc = document.pointerLockElement === w || document.mozPointerLockElement === w || document.webkitPointerLockElement === w + } + function p(c) { + function j(c) { + i || fc(a, b, c, d, f); + g && g(); + jb("cp " + C) + } + var p = n; + r.preloadPlugins.forEach(function(a) { + !p && a.canHandle(C) && (a.handle(c, C, j, function() { + h && h(); + jb("cp " + C) + }), p = l) + }); + p || j(c) + } + r.preloadPlugins || (r.preloadPlugins = []); + if(!Pc && !ea) { + Pc = l; + try { + new Blob, Qc = l + }catch(z) { + Qc = n, console.log("warning: no blob constructor, cannot create blobs with mimetypes") + } + Rc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Qc ? console.log("warning: no BlobBuilder") : m; + Sc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); + r.preloadPlugins.push({canHandle:function(a) { + return!r.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) + }, handle:function(a, b, c, d) { + var f = m; + if(Qc) { + try { + f = new Blob([a], {type:Kc(b)}), f.size !== a.length && (f = new Blob([(new Uint8Array(a)).buffer], {type:Kc(b)})) + }catch(g) { + var h = "Blob constructor present but fails: " + g + "; falling back to blob builder"; + oa || (oa = {}); + oa[h] || (oa[h] = 1, r.P(h)) + } + } + f || (f = new Rc, f.append((new Uint8Array(a)).buffer), f = f.getBlob()); + var i = Sc.createObjectURL(f), j = new Image; + j.onload = function() { + v(j.complete, "Image " + b + " could not be decoded"); + var d = document.createElement("canvas"); + d.width = j.width; + d.height = j.height; + d.getContext("2d").drawImage(j, 0, 0); + r.preloadedImages[b] = d; + Sc.revokeObjectURL(i); + c && c(a) + }; + j.onerror = function() { + console.log("Image " + i + " could not be decoded"); + d && d() + }; + j.src = i + }}); + r.preloadPlugins.push({canHandle:function(a) { + return!r.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} + }, handle:function(a, b, c, d) { + function f(d) { + h || (h = l, r.preloadedAudios[b] = d, c && c(a)) + } + function g() { + h || (h = l, r.preloadedAudios[b] = new Audio, d && d()) + } + var h = n; + if(Qc) { + try { + var i = new Blob([a], {type:Kc(b)}) + }catch(j) { + return g() + } + var i = Sc.createObjectURL(i), p = new Audio; + p.addEventListener("canplaythrough", function() { + f(p) + }, n); + p.onerror = function() { + if(!h) { + console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); + for(var c = "", d = 0, g = 0, i = 0;i < a.length;i++) { + d = d << 8 | a[i]; + for(g += 8;6 <= g;) { + var j = d >> g - 6 & 63, g = g - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] + } + } + 2 == g ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == g && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); + p.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; + f(p) + } + }; + p.src = i; + setTimeout(function() { + za || f(p) + }, 1E4) + }else { + return g() + } + }}); + var w = r.canvas; + w.qa = w.requestPointerLock || w.mozRequestPointerLock || w.webkitRequestPointerLock; + w.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); + w.La = w.La.bind(document); + document.addEventListener("pointerlockchange", j, n); + document.addEventListener("mozpointerlockchange", j, n); + document.addEventListener("webkitpointerlockchange", j, n); + r.elementPointerLock && w.addEventListener("click", function(a) { + !Gc && w.qa && (w.qa(), a.preventDefault()) + }, n) + } + var C, D = S.apply(m, [a, b]); + "/" == D[0] && (D = D.substr(1)); + C = D; + ib("cp " + C); + if("string" == typeof c) { + var L = h, H = function() { + L ? L() : e('Loading data file "' + c + '" failed.') + }, y = new XMLHttpRequest; + y.open("GET", c, l); + y.responseType = "arraybuffer"; + y.onload = function() { + if(200 == y.status || 0 == y.status && y.response) { + var a = y.response; + v(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); + a = new Uint8Array(a); + p(a); + jb("al " + c) + }else { + H() + } + }; + y.onerror = H; + y.send(m); + ib("al " + c) + }else { + p(c) + } +}; +r.FS_createLazyFile = function(a, b, c, d, f) { + var g, h; + "undefined" !== typeof XMLHttpRequest ? (ea || e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), g = function() { + this.ma = n; + this.T = [] + }, g.prototype.get = function(a) { + if(!(a > this.length - 1 || 0 > a)) { + var b = a % this.S; + return this.pb(Math.floor(a / this.S))[b] + } + }, g.prototype.Cb = function(a) { + this.pb = a + }, g.prototype.Fa = function() { + var a = new XMLHttpRequest; + a.open("HEAD", c, n); + a.send(m); + 200 <= a.status && 300 > a.status || 304 === a.status || e(Error("Couldn't load " + c + ". Status: " + a.status)); + var b = Number(a.getResponseHeader("Content-length")), d, f = 1048576; + if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { + f = b + } + var g = this; + g.Cb(function(a) { + var d = a * f, h = (a + 1) * f - 1, h = Math.min(h, b - 1); + if("undefined" === typeof g.T[a]) { + var i = g.T; + d > h && e(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); + h > b - 1 && e(Error("only " + b + " bytes available! programmer error!")); + var j = new XMLHttpRequest; + j.open("GET", c, n); + b !== f && j.setRequestHeader("Range", "bytes=" + d + "-" + h); + "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); + j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); + j.send(m); + 200 <= j.status && 300 > j.status || 304 === j.status || e(Error("Couldn't load " + c + ". Status: " + j.status)); + d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); + i[a] = d + } + "undefined" === typeof g.T[a] && e(Error("doXHR failed!")); + return g.T[a] + }); + this.gb = b; + this.fb = f; + this.ma = l + }, g = new g, Object.defineProperty(g, "length", {get:function() { + this.ma || this.Fa(); + return this.gb + }}), Object.defineProperty(g, "chunkSize", {get:function() { + this.ma || this.Fa(); + return this.fb + }}), h = k) : (h = c, g = k); + var i, a = S("string" === typeof a ? a : cc(a), b); + i = Ab(a, ec(d, f)); + g ? i.g = g : h && (i.g = m, i.url = h); + var j = {}; + Object.keys(i.e).forEach(function(a) { + var b = i.e[a]; + j[a] = function() { + var a; + if(i.ke || i.le || i.link || i.g) { + a = l + }else { + a = l; + "undefined" !== typeof XMLHttpRequest && e(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); + if(r.read) { + try { + i.g = J(r.read(i.url), l) + }catch(c) { + a = n + } + }else { + e(Error("Cannot load without read() or XMLHttpRequest.")) + } + a || M(N.I) + } + a || e(new Q(N.I)); + return b.apply(m, arguments) + } + }); + j.Q = function(a, b, c, d, f) { + a = a.d.g; + d = Math.min(a.length - f, d); + if(a.slice) { + for(var g = 0;g < d;g++) { + b[c + g] = a[f + g] + } + }else { + for(g = 0;g < d;g++) { + b[c + g] = a.get(f + g) + } + } + return d + }; + i.e = j; + return i +}; +r.FS_createLink = function(a, b, c) { + a = S("string" === typeof a ? a : cc(a), b); + return Db(c, a) +}; +r.FS_createDevice = gc; +U.m = F(12, "void*", E); +yc(W); +Dc.J = F([0], "i8", E); +r.requestFullScreen = function(a, b) { + function c() { + Fc = n; + (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Ic && d.qa(), Fc = l, Jc && Nc()) : Jc && Oc(); + if(r.onFullScreen) { + r.onFullScreen(Fc) + } + } + Ic = a; + Jc = b; + "undefined" === typeof Ic && (Ic = l); + "undefined" === typeof Jc && (Jc = n); + var d = r.canvas; + Hc || (Hc = l, document.addEventListener("fullscreenchange", c, n), document.addEventListener("mozfullscreenchange", c, n), document.addEventListener("webkitfullscreenchange", c, n)); + d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { + d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) + } : m); + d.Ab() +}; +r.requestAnimationFrame = function(a) { + window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); + window.requestAnimationFrame(a) +}; +r.pauseMainLoop = aa(); +r.resumeMainLoop = function() { + Ec && (Ec = n, m()) +}; +r.getUserMedia = function() { + window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); + window.Ma(k) +}; +Sa = u = xa(sa); +Ta = Sa + 5242880; +Ua = x = xa(Ta); +v(Ua < va); +var Xc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Yc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, +2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, +0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Zc = Math.min; +var V = (function(global,env,buffer) { +// EMSCRIPTEN_START_ASM + "use asm"; + var a = new global.Int8Array(buffer); + var b = new global.Int16Array(buffer); + var c = new global.Int32Array(buffer); + var d = new global.Uint8Array(buffer); + var e = new global.Uint16Array(buffer); + var f = new global.Uint32Array(buffer); + var g = new global.Float32Array(buffer); + var h = new global.Float64Array(buffer); + var i = env.STACKTOP | 0; + var j = env.STACK_MAX | 0; + var k = env.tempDoublePtr | 0; + var l = env.ABORT | 0; + var m = env.cttz_i8 | 0; + var n = env.ctlz_i8 | 0; + var o = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; + var p = env._stderr | 0; + var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; + var r = env.___progname | 0; + var s = +env.NaN; + var t = +env.Infinity; + var u = 0; + var v = 0; + var w = 0; + var x = 0; + var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; + var H = 0; + var I = 0; + var J = 0; + var K = 0; + var L = 0; + var M = 0; + var N = 0; + var O = 0; + var P = 0; + var Q = 0; + var R = global.Math.floor; + var S = global.Math.abs; + var T = global.Math.sqrt; + var U = global.Math.pow; + var V = global.Math.cos; + var W = global.Math.sin; + var X = global.Math.tan; + var Y = global.Math.acos; + var Z = global.Math.asin; + var _ = global.Math.atan; + var $ = global.Math.atan2; + var aa = global.Math.exp; + var ab = global.Math.log; + var ac = global.Math.ceil; + var ad = global.Math.imul; + var ae = env.abort; + var af = env.assert; + var ag = env.asmPrintInt; + var ah = env.asmPrintFloat; + var ai = env.min; + var aj = env.invoke_vi; + var ak = env.invoke_vii; + var al = env.invoke_ii; + var am = env.invoke_viii; + var an = env.invoke_v; + var ao = env.invoke_iii; + var ap = env._strncmp; + var aq = env._llvm_va_end; + var ar = env._sysconf; + var as = env.___cxa_throw; + var at = env._randombytes; + var au = env._strerror; + var av = env._abort; + var aw = env._fprintf; + var ax = env._llvm_eh_exception; + var ay = env.___cxa_free_exception; + var az = env._fflush; + var aA = env.___buildEnvironment; + var aB = env.__reallyNegative; + var aC = env._strchr; + var aD = env._fputc; + var aE = env.___setErrNo; + var aF = env._fwrite; + var aG = env._send; + var aH = env._write; + var aI = env._exit; + var aJ = env.___cxa_find_matching_catch; + var aK = env.___cxa_allocate_exception; + var aL = env._isspace; + var aM = env.___cxa_is_number_type; + var aN = env.___resumeException; + var aO = env.__formatString; + var aP = env.___cxa_does_inherit; + var aQ = env._getenv; + var aR = env._vfprintf; + var aS = env.___cxa_begin_catch; + var aT = env.__ZSt18uncaught_exceptionv; + var aU = env._pwrite; + var aV = env.___cxa_call_unexpected; + var aW = env._sbrk; + var aX = env._strerror_r; + var aY = env.___errno_location; + var aZ = env.___gxx_personality_v0; + var a_ = env._time; + var a$ = env.__exit; + var a0 = env.___cxa_end_catch; +// EMSCRIPTEN_START_FUNCS +function a7(a) { + a = a | 0; + var b = 0; + b = i; + i = i + a | 0; + i = i + 7 >> 3 << 3; + return b | 0; +} +function a8() { + return i | 0; +} +function a9(a) { + a = a | 0; + i = a; +} +function ba(a, b) { + a = a | 0; + b = b | 0; + if ((u | 0) == 0) { + u = a; + v = b; + } +} +function bb(b) { + b = b | 0; + a[k] = a[b]; + a[k + 1 | 0] = a[b + 1 | 0]; + a[k + 2 | 0] = a[b + 2 | 0]; + a[k + 3 | 0] = a[b + 3 | 0]; +} +function bc(b) { + b = b | 0; + a[k] = a[b]; + a[k + 1 | 0] = a[b + 1 | 0]; + a[k + 2 | 0] = a[b + 2 | 0]; + a[k + 3 | 0] = a[b + 3 | 0]; + a[k + 4 | 0] = a[b + 4 | 0]; + a[k + 5 | 0] = a[b + 5 | 0]; + a[k + 6 | 0] = a[b + 6 | 0]; + a[k + 7 | 0] = a[b + 7 | 0]; +} +function bd(a) { + a = a | 0; + H = a; +} +function be(a) { + a = a | 0; + I = a; +} +function bf(a) { + a = a | 0; + J = a; +} +function bg(a) { + a = a | 0; + K = a; +} +function bh(a) { + a = a | 0; + L = a; +} +function bi(a) { + a = a | 0; + M = a; +} +function bj(a) { + a = a | 0; + N = a; +} +function bk(a) { + a = a | 0; + O = a; +} +function bl(a) { + a = a | 0; + P = a; +} +function bm(a) { + a = a | 0; + Q = a; +} +function bn() { + c[27996] = q + 8; + c[27998] = o + 8; + c[28002] = o + 8; +} +function bo(a, b) { + a = a | 0; + b = b | 0; + return a >>> ((32 - b | 0) >>> 0) | a << b | 0; +} +function bp(a, b) { + a = a | 0; + b = b | 0; + return a >>> ((32 - b | 0) >>> 0) | a << b | 0; +} +function bq(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function br(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function bs(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function bt(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function bu(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0; + e = i; + i = i + 640 | 0; + f = e | 0; + g = e + 128 | 0; + bR(c, d, 32, 0) | 0; + a[c] = a[c] & -8; + h = c + 31 | 0; + a[h] = a[h] & 63 | 64; + cV(f, c); + cR(g, f); + cJ(b, g); + g = 0; + while (1) { + a[c + g | 0] = a[d + g | 0] | 0; + f = g + 1 | 0; + if ((f | 0) < 32) { + g = f; + } else { + j = 0; + break; + } + } + do { + a[c + (j + 32) | 0] = a[b + j | 0] | 0; + j = j + 1 | 0; + } while ((j | 0) < 32); + i = e; + return 0; +} +function bv() { + return en(10) | 0; +} +function bw(b, c, d, e, f) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; + g = i; + i = i + 32 | 0; + h = g | 0; + j = h | 0; + k = i; + i = i + 128 | 0; + fn(j | 0, 1280, 32) | 0; + l = k | 0; + m = fp(d << 3 | 0 >>> 29, e << 3 | d >>> 29, 512, 0) | 0; + n = H; + o = 0; + do { + a[k + o | 0] = a[f + o | 0] ^ 54; + o = o + 1 | 0; + } while ((o | 0) < 32); + fm(k + 32 | 0, 54, 32); + o = h | 0; + h = k | 0; + bS(o, h, 64, 0) | 0; + bS(o, c, d, e) | 0; + p = d & 63; + q = e & 0; + e = p; + do { + if ((p | 0) == 0 & (q | 0) == 0) { + a[k + e | 0] = -128; + r = fp(p, q, 1, 0) | 0; + s = r; + t = 18; + } else { + r = d & 63; + u = c + (d - r) | 0; + fn(l | 0, u | 0, r) | 0; + a[k + e | 0] = -128; + r = 0; + u = fp(p, q, 1, 0) | 0; + v = u; + if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 56 >>> 0) { + s = v; + t = 18; + break; + } + if (v >>> 0 < 120) { + v = d & 63; + fm(k + (v + 1) | 0, 0, 119 - v | 0); + } + a[k + 120 | 0] = (n >>> 24 | 0 << 8) & 255; + a[k + 121 | 0] = (n >>> 16 | 0 << 16) & 255; + a[k + 122 | 0] = (n >>> 8 | 0 << 24) & 255; + a[k + 123 | 0] = n & 255; + a[k + 124 | 0] = (m >>> 24 | n << 8) & 255; + a[k + 125 | 0] = (m >>> 16 | n << 16) & 255; + a[k + 126 | 0] = (m >>> 8 | n << 24) & 255; + a[k + 127 | 0] = m & 255; + v = 128; + r = 0; + bS(o, h, v, r) | 0; + w = 0; + } + } while (0); + if ((t | 0) == 18) { + if (s >>> 0 < 56) { + s = d & 63; + fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 56 ? s + 1 | 0 : 55) - s | 0); + } + a[k + 56 | 0] = (n >>> 24 | 0 << 8) & 255; + a[k + 57 | 0] = (n >>> 16 | 0 << 16) & 255; + a[k + 58 | 0] = (n >>> 8 | 0 << 24) & 255; + a[k + 59 | 0] = n & 255; + a[k + 60 | 0] = (m >>> 24 | n << 8) & 255; + a[k + 61 | 0] = (m >>> 16 | n << 16) & 255; + a[k + 62 | 0] = (m >>> 8 | n << 24) & 255; + a[k + 63 | 0] = m & 255; + m = 64; + n = 0; + bS(o, h, m, n) | 0; + w = 0; + } + do { + a[k + w | 0] = a[f + w | 0] ^ 92; + w = w + 1 | 0; + } while ((w | 0) < 32); + fm(k + 32 | 0, 92, 32); + w = k + 64 | 0; + fn(w | 0, j | 0, 32) | 0; + j = 0; + do { + a[b + j | 0] = a[1280 + j | 0] | 0; + j = j + 1 | 0; + } while ((j | 0) < 32); + fm(k + 96 | 0, 0, 32); + a[k + 96 | 0] = -128; + a[k + 126 | 0] = 3; + bS(b, h, 128, 0) | 0; + i = g; + return 0; +} +function bx(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 32 | 0; + g = f | 0; + bw(g, b, c, d, e) | 0; + e = em(a, g) | 0; + i = f; + return e | 0; +} +function by(b, c, d, e, f) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; + g = i; + i = i + 64 | 0; + h = g | 0; + j = h | 0; + k = i; + i = i + 256 | 0; + l = k | 0; + fn(j | 0, 1216, 64) | 0; + m = fp(d, e, 128, 0) | 0; + n = H; + o = 0; + do { + a[k + o | 0] = a[f + o | 0] ^ 54; + o = o + 1 | 0; + } while ((o | 0) < 32); + fm(k + 32 | 0, 54, 96); + o = h | 0; + h = k | 0; + bV(o, h, 128, 0) | 0; + bV(o, c, d, e) | 0; + p = d & 127; + q = e & 0; + e = p; + do { + if ((p | 0) == 0 & (q | 0) == 0) { + a[k + e | 0] = -128; + r = fp(p, q, 1, 0) | 0; + s = r; + t = 34; + } else { + r = d & 127; + u = c + (d - r) | 0; + fn(l | 0, u | 0, r) | 0; + a[k + e | 0] = -128; + r = 0; + u = fp(p, q, 1, 0) | 0; + v = u; + if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 112 >>> 0) { + s = v; + t = 34; + break; + } + if (v >>> 0 < 247) { + v = d & 127; + fm(k + (v + 1) | 0, 0, 246 - v | 0); + } + a[k + 247 | 0] = (n >>> 29 | 0 << 3) & 255; + a[k + 248 | 0] = (n >>> 21 | 0 << 11) & 255; + a[k + 249 | 0] = (n >>> 13 | 0 << 19) & 255; + a[k + 250 | 0] = (n >>> 5 | 0 << 27) & 255; + a[k + 251 | 0] = (m >>> 29 | n << 3) & 255; + a[k + 252 | 0] = (m >>> 21 | n << 11) & 255; + a[k + 253 | 0] = (m >>> 13 | n << 19) & 255; + a[k + 254 | 0] = (m >>> 5 | n << 27) & 255; + a[k + 255 | 0] = (m << 3 | 0 >>> 29) & 255; + v = 256; + r = 0; + bV(o, h, v, r) | 0; + w = 0; + } + } while (0); + if ((t | 0) == 34) { + if (s >>> 0 < 119) { + s = d & 127; + fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 119 ? s + 1 | 0 : 118) - s | 0); + } + a[k + 119 | 0] = (n >>> 29 | 0 << 3) & 255; + a[k + 120 | 0] = (n >>> 21 | 0 << 11) & 255; + a[k + 121 | 0] = (n >>> 13 | 0 << 19) & 255; + a[k + 122 | 0] = (n >>> 5 | 0 << 27) & 255; + a[k + 123 | 0] = (m >>> 29 | n << 3) & 255; + a[k + 124 | 0] = (m >>> 21 | n << 11) & 255; + a[k + 125 | 0] = (m >>> 13 | n << 19) & 255; + a[k + 126 | 0] = (m >>> 5 | n << 27) & 255; + a[k + 127 | 0] = (m << 3 | 0 >>> 29) & 255; + m = 128; + n = 0; + bV(o, h, m, n) | 0; + w = 0; + } + do { + a[k + w | 0] = a[f + w | 0] ^ 92; + w = w + 1 | 0; + } while ((w | 0) < 32); + fm(k + 32 | 0, 92, 96); + w = k + 128 | 0; + fn(w | 0, j | 0, 64) | 0; + fn(j | 0, 1216, 64) | 0; + fm(k + 192 | 0, 0, 64); + a[k + 192 | 0] = -128; + a[k + 254 | 0] = 6; + bV(o, h, 256, 0) | 0; + fn(b | 0, j | 0, 32) | 0; + i = g; + return 0; +} +function bz(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 32 | 0; + g = f | 0; + by(g, b, c, d, e) | 0; + e = em(a, g) | 0; + i = f; + return e | 0; +} +function bA(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + return ci(a, b, c, d, e, f) | 0; +} +function bB(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + return cj(a, b, c, d, e, f) | 0; +} +function bC(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = i; + i = i + 32 | 0; + e = d | 0; + b3(e, c, b) | 0; + b = bG(a, 112040, e, 136) | 0; + i = d; + return b | 0; +} +function bD(a, b, c, d, e, f, g) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0; + h = i; + i = i + 32 | 0; + j = h | 0; + bC(j, f, g) | 0; + g = bA(a, b, c, d, e, j) | 0; + i = h; + return g | 0; +} +function bE(a, b, c, d, e, f, g) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0; + h = i; + i = i + 32 | 0; + j = h | 0; + bC(j, f, g) | 0; + g = bB(a, b, c, d, e, j) | 0; + i = h; + return g | 0; +} +function bF(a, b) { + a = a | 0; + b = b | 0; + at(b | 0, 32, 0); + return b2(a, b) | 0; +} +function bG(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; + e = bq(d) | 0; + f = bq(c) | 0; + g = bq(c + 4 | 0) | 0; + h = bq(c + 8 | 0) | 0; + i = bq(c + 12 | 0) | 0; + j = d + 4 | 0; + k = bq(j) | 0; + l = bq(b) | 0; + m = b + 4 | 0; + n = bq(m) | 0; + o = b + 8 | 0; + p = bq(o) | 0; + q = b + 12 | 0; + r = bq(q) | 0; + s = d + 8 | 0; + t = bq(s) | 0; + u = bq(c + 16 | 0) | 0; + v = bq(c + 20 | 0) | 0; + w = bq(c + 24 | 0) | 0; + x = bq(c + 28 | 0) | 0; + c = d + 12 | 0; + y = bq(c) | 0; + z = y; + A = x; + x = w; + w = v; + v = u; + u = t; + B = r; + C = p; + D = n; + E = l; + F = k; + G = i; + i = h; + h = g; + g = f; + f = e; + H = 20; + do { + I = (bo(f + w | 0, 7) | 0) ^ G; + J = (bo(I + f | 0, 9) | 0) ^ C; + K = (bo(J + I | 0, 13) | 0) ^ w; + L = (bo(K + J | 0, 18) | 0) ^ f; + M = (bo(g + F | 0, 7) | 0) ^ B; + N = (bo(M + F | 0, 9) | 0) ^ x; + O = (bo(N + M | 0, 13) | 0) ^ g; + P = (bo(O + N | 0, 18) | 0) ^ F; + Q = (bo(E + u | 0, 7) | 0) ^ A; + R = (bo(Q + u | 0, 9) | 0) ^ h; + S = (bo(R + Q | 0, 13) | 0) ^ E; + T = (bo(S + R | 0, 18) | 0) ^ u; + U = (bo(v + z | 0, 7) | 0) ^ i; + V = (bo(U + z | 0, 9) | 0) ^ D; + W = (bo(V + U | 0, 13) | 0) ^ v; + X = (bo(W + V | 0, 18) | 0) ^ z; + g = (bo(U + L | 0, 7) | 0) ^ O; + h = (bo(g + L | 0, 9) | 0) ^ R; + i = (bo(h + g | 0, 13) | 0) ^ U; + f = (bo(i + h | 0, 18) | 0) ^ L; + E = (bo(P + I | 0, 7) | 0) ^ S; + D = (bo(E + P | 0, 9) | 0) ^ V; + G = (bo(D + E | 0, 13) | 0) ^ I; + F = (bo(G + D | 0, 18) | 0) ^ P; + v = (bo(T + M | 0, 7) | 0) ^ W; + C = (bo(v + T | 0, 9) | 0) ^ J; + B = (bo(C + v | 0, 13) | 0) ^ M; + u = (bo(B + C | 0, 18) | 0) ^ T; + w = (bo(X + Q | 0, 7) | 0) ^ K; + x = (bo(w + X | 0, 9) | 0) ^ N; + A = (bo(x + w | 0, 13) | 0) ^ Q; + z = (bo(A + x | 0, 18) | 0) ^ X; + H = H - 2 | 0; + } while ((H | 0) > 0); + H = f + e - (bq(d) | 0) | 0; + d = F + k - (bq(j) | 0) | 0; + j = u + t - (bq(s) | 0) | 0; + s = z + y - (bq(c) | 0) | 0; + c = E + l - (bq(b) | 0) | 0; + b = D + n - (bq(m) | 0) | 0; + m = C + p - (bq(o) | 0) | 0; + o = B + r - (bq(q) | 0) | 0; + br(a, H); + br(a + 4 | 0, d); + br(a + 8 | 0, j); + br(a + 12 | 0, s); + br(a + 16 | 0, c); + br(a + 20 | 0, b); + br(a + 24 | 0, m); + br(a + 28 | 0, o); + return 0; +} +function bH(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; + e = bs(d) | 0; + f = bs(c) | 0; + g = bs(c + 4 | 0) | 0; + h = bs(c + 8 | 0) | 0; + i = bs(c + 12 | 0) | 0; + j = bs(d + 4 | 0) | 0; + k = bs(b) | 0; + l = bs(b + 4 | 0) | 0; + m = bs(b + 8 | 0) | 0; + n = bs(b + 12 | 0) | 0; + b = bs(d + 8 | 0) | 0; + o = bs(c + 16 | 0) | 0; + p = bs(c + 20 | 0) | 0; + q = bs(c + 24 | 0) | 0; + r = bs(c + 28 | 0) | 0; + c = bs(d + 12 | 0) | 0; + d = c; + s = r; + t = q; + u = p; + v = o; + w = b; + x = n; + y = m; + z = l; + A = k; + B = j; + C = i; + D = h; + E = g; + F = f; + G = e; + H = 20; + do { + I = (bp(G + u | 0, 7) | 0) ^ C; + J = (bp(I + G | 0, 9) | 0) ^ y; + K = (bp(J + I | 0, 13) | 0) ^ u; + L = (bp(K + J | 0, 18) | 0) ^ G; + M = (bp(F + B | 0, 7) | 0) ^ x; + N = (bp(M + B | 0, 9) | 0) ^ t; + O = (bp(N + M | 0, 13) | 0) ^ F; + P = (bp(O + N | 0, 18) | 0) ^ B; + Q = (bp(A + w | 0, 7) | 0) ^ s; + R = (bp(Q + w | 0, 9) | 0) ^ E; + S = (bp(R + Q | 0, 13) | 0) ^ A; + T = (bp(S + R | 0, 18) | 0) ^ w; + U = (bp(v + d | 0, 7) | 0) ^ D; + V = (bp(U + d | 0, 9) | 0) ^ z; + W = (bp(V + U | 0, 13) | 0) ^ v; + X = (bp(W + V | 0, 18) | 0) ^ d; + F = (bp(U + L | 0, 7) | 0) ^ O; + E = (bp(F + L | 0, 9) | 0) ^ R; + D = (bp(E + F | 0, 13) | 0) ^ U; + G = (bp(D + E | 0, 18) | 0) ^ L; + A = (bp(P + I | 0, 7) | 0) ^ S; + z = (bp(A + P | 0, 9) | 0) ^ V; + C = (bp(z + A | 0, 13) | 0) ^ I; + B = (bp(C + z | 0, 18) | 0) ^ P; + v = (bp(T + M | 0, 7) | 0) ^ W; + y = (bp(v + T | 0, 9) | 0) ^ J; + x = (bp(y + v | 0, 13) | 0) ^ M; + w = (bp(x + y | 0, 18) | 0) ^ T; + u = (bp(X + Q | 0, 7) | 0) ^ K; + t = (bp(u + X | 0, 9) | 0) ^ N; + s = (bp(t + u | 0, 13) | 0) ^ Q; + d = (bp(s + t | 0, 18) | 0) ^ X; + H = H - 2 | 0; + } while ((H | 0) > 0); + bt(a, G + e | 0); + bt(a + 4 | 0, F + f | 0); + bt(a + 8 | 0, E + g | 0); + bt(a + 12 | 0, D + h | 0); + bt(a + 16 | 0, C + i | 0); + bt(a + 20 | 0, B + j | 0); + bt(a + 24 | 0, A + k | 0); + bt(a + 28 | 0, z + l | 0); + bt(a + 32 | 0, y + m | 0); + bt(a + 36 | 0, x + n | 0); + bt(a + 40 | 0, w + b | 0); + bt(a + 44 | 0, v + o | 0); + bt(a + 48 | 0, u + p | 0); + bt(a + 52 | 0, t + q | 0); + bt(a + 56 | 0, s + r | 0); + bt(a + 60 | 0, d + c | 0); + return 0; +} +function bI(a, b) { + a = a | 0; + b = b | 0; + return a >>> ((32 - b | 0) >>> 0) | a << b | 0; +} +function bJ(a, b) { + a = a | 0; + b = b | 0; + return a >>> ((32 - b | 0) >>> 0) | a << b | 0; +} +function bK(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function bL(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function bM(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function bN(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function bO(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; + e = bK(d) | 0; + f = bK(c) | 0; + g = bK(c + 4 | 0) | 0; + h = bK(c + 8 | 0) | 0; + i = bK(c + 12 | 0) | 0; + j = bK(d + 4 | 0) | 0; + k = bK(b) | 0; + l = bK(b + 4 | 0) | 0; + m = bK(b + 8 | 0) | 0; + n = bK(b + 12 | 0) | 0; + b = bK(d + 8 | 0) | 0; + o = bK(c + 16 | 0) | 0; + p = bK(c + 20 | 0) | 0; + q = bK(c + 24 | 0) | 0; + r = bK(c + 28 | 0) | 0; + c = bK(d + 12 | 0) | 0; + d = c; + s = r; + t = q; + u = p; + v = o; + w = b; + x = n; + y = m; + z = l; + A = k; + B = j; + C = i; + D = h; + E = g; + F = f; + G = e; + H = 12; + do { + I = (bI(G + u | 0, 7) | 0) ^ C; + J = (bI(I + G | 0, 9) | 0) ^ y; + K = (bI(J + I | 0, 13) | 0) ^ u; + L = (bI(K + J | 0, 18) | 0) ^ G; + M = (bI(F + B | 0, 7) | 0) ^ x; + N = (bI(M + B | 0, 9) | 0) ^ t; + O = (bI(N + M | 0, 13) | 0) ^ F; + P = (bI(O + N | 0, 18) | 0) ^ B; + Q = (bI(A + w | 0, 7) | 0) ^ s; + R = (bI(Q + w | 0, 9) | 0) ^ E; + S = (bI(R + Q | 0, 13) | 0) ^ A; + T = (bI(S + R | 0, 18) | 0) ^ w; + U = (bI(v + d | 0, 7) | 0) ^ D; + V = (bI(U + d | 0, 9) | 0) ^ z; + W = (bI(V + U | 0, 13) | 0) ^ v; + X = (bI(W + V | 0, 18) | 0) ^ d; + F = (bI(U + L | 0, 7) | 0) ^ O; + E = (bI(F + L | 0, 9) | 0) ^ R; + D = (bI(E + F | 0, 13) | 0) ^ U; + G = (bI(D + E | 0, 18) | 0) ^ L; + A = (bI(P + I | 0, 7) | 0) ^ S; + z = (bI(A + P | 0, 9) | 0) ^ V; + C = (bI(z + A | 0, 13) | 0) ^ I; + B = (bI(C + z | 0, 18) | 0) ^ P; + v = (bI(T + M | 0, 7) | 0) ^ W; + y = (bI(v + T | 0, 9) | 0) ^ J; + x = (bI(y + v | 0, 13) | 0) ^ M; + w = (bI(x + y | 0, 18) | 0) ^ T; + u = (bI(X + Q | 0, 7) | 0) ^ K; + t = (bI(u + X | 0, 9) | 0) ^ N; + s = (bI(t + u | 0, 13) | 0) ^ Q; + d = (bI(s + t | 0, 18) | 0) ^ X; + H = H - 2 | 0; + } while ((H | 0) > 0); + bL(a, G + e | 0); + bL(a + 4 | 0, F + f | 0); + bL(a + 8 | 0, E + g | 0); + bL(a + 12 | 0, D + h | 0); + bL(a + 16 | 0, C + i | 0); + bL(a + 20 | 0, B + j | 0); + bL(a + 24 | 0, A + k | 0); + bL(a + 28 | 0, z + l | 0); + bL(a + 32 | 0, y + m | 0); + bL(a + 36 | 0, x + n | 0); + bL(a + 40 | 0, w + b | 0); + bL(a + 44 | 0, v + o | 0); + bL(a + 48 | 0, u + p | 0); + bL(a + 52 | 0, t + q | 0); + bL(a + 56 | 0, s + r | 0); + bL(a + 60 | 0, d + c | 0); + return 0; +} +function bP(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; + e = bM(d) | 0; + f = bM(c) | 0; + g = bM(c + 4 | 0) | 0; + h = bM(c + 8 | 0) | 0; + i = bM(c + 12 | 0) | 0; + j = bM(d + 4 | 0) | 0; + k = bM(b) | 0; + l = bM(b + 4 | 0) | 0; + m = bM(b + 8 | 0) | 0; + n = bM(b + 12 | 0) | 0; + b = bM(d + 8 | 0) | 0; + o = bM(c + 16 | 0) | 0; + p = bM(c + 20 | 0) | 0; + q = bM(c + 24 | 0) | 0; + r = bM(c + 28 | 0) | 0; + c = bM(d + 12 | 0) | 0; + d = c; + s = r; + t = q; + u = p; + v = o; + w = b; + x = n; + y = m; + z = l; + A = k; + B = j; + C = i; + D = h; + E = g; + F = f; + G = e; + H = 8; + do { + I = (bJ(G + u | 0, 7) | 0) ^ C; + J = (bJ(I + G | 0, 9) | 0) ^ y; + K = (bJ(J + I | 0, 13) | 0) ^ u; + L = (bJ(K + J | 0, 18) | 0) ^ G; + M = (bJ(F + B | 0, 7) | 0) ^ x; + N = (bJ(M + B | 0, 9) | 0) ^ t; + O = (bJ(N + M | 0, 13) | 0) ^ F; + P = (bJ(O + N | 0, 18) | 0) ^ B; + Q = (bJ(A + w | 0, 7) | 0) ^ s; + R = (bJ(Q + w | 0, 9) | 0) ^ E; + S = (bJ(R + Q | 0, 13) | 0) ^ A; + T = (bJ(S + R | 0, 18) | 0) ^ w; + U = (bJ(v + d | 0, 7) | 0) ^ D; + V = (bJ(U + d | 0, 9) | 0) ^ z; + W = (bJ(V + U | 0, 13) | 0) ^ v; + X = (bJ(W + V | 0, 18) | 0) ^ d; + F = (bJ(U + L | 0, 7) | 0) ^ O; + E = (bJ(F + L | 0, 9) | 0) ^ R; + D = (bJ(E + F | 0, 13) | 0) ^ U; + G = (bJ(D + E | 0, 18) | 0) ^ L; + A = (bJ(P + I | 0, 7) | 0) ^ S; + z = (bJ(A + P | 0, 9) | 0) ^ V; + C = (bJ(z + A | 0, 13) | 0) ^ I; + B = (bJ(C + z | 0, 18) | 0) ^ P; + v = (bJ(T + M | 0, 7) | 0) ^ W; + y = (bJ(v + T | 0, 9) | 0) ^ J; + x = (bJ(y + v | 0, 13) | 0) ^ M; + w = (bJ(x + y | 0, 18) | 0) ^ T; + u = (bJ(X + Q | 0, 7) | 0) ^ K; + t = (bJ(u + X | 0, 9) | 0) ^ N; + s = (bJ(t + u | 0, 13) | 0) ^ Q; + d = (bJ(s + t | 0, 18) | 0) ^ X; + H = H - 2 | 0; + } while ((H | 0) > 0); + bN(a, G + e | 0); + bN(a + 4 | 0, F + f | 0); + bN(a + 8 | 0, E + g | 0); + bN(a + 12 | 0, D + h | 0); + bN(a + 16 | 0, C + i | 0); + bN(a + 20 | 0, B + j | 0); + bN(a + 24 | 0, A + k | 0); + bN(a + 28 | 0, z + l | 0); + bN(a + 32 | 0, y + m | 0); + bN(a + 36 | 0, x + n | 0); + bN(a + 40 | 0, w + b | 0); + bN(a + 44 | 0, v + o | 0); + bN(a + 48 | 0, u + p | 0); + bN(a + 52 | 0, t + q | 0); + bN(a + 56 | 0, s + r | 0); + bN(a + 60 | 0, d + c | 0); + return 0; +} +function bQ(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + f = i; + i = i + 32 | 0; + g = f | 0; + h = g | 0; + j = i; + i = i + 128 | 0; + fn(h | 0, 1184, 32) | 0; + k = d << 3 | 0 >>> 29; + l = g | 0; + bS(l, c, d, e) | 0; + g = d & 63; + m = e & 0; + n = g; + do { + if ((g | 0) == 0 & (m | 0) == 0) { + a[j + n | 0] = -128; + o = fp(g, m, 1, 0) | 0; + p = o; + } else { + o = j | 0; + q = d & 63; + r = c + (d - q) | 0; + fn(o | 0, r | 0, q) | 0; + a[j + n | 0] = -128; + q = 0; + r = fp(g, m, 1, 0) | 0; + o = r; + if (m >>> 0 < q >>> 0 | m >>> 0 == q >>> 0 & g >>> 0 < 56 >>> 0) { + p = o; + break; + } + if (o >>> 0 < 120) { + o = d & 63; + fm(j + (o + 1) | 0, 0, 119 - o | 0); + } + a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; + a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; + a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; + a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; + a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; + a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; + a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; + a[j + 127 | 0] = k & 255; + o = j | 0; + q = 128; + r = 0; + bS(l, o, q, r) | 0; + fn(b | 0, h | 0, 32) | 0; + i = f; + return 0; + } + } while (0); + if (p >>> 0 < 56) { + p = d & 63; + fm(j + (p + 1) | 0, 0, ((p + 2 | 0) >>> 0 > 56 ? p + 1 | 0 : 55) - p | 0); + } + a[j + 56 | 0] = (e >>> 21 | 0 << 11) & 255; + a[j + 57 | 0] = (e >>> 13 | 0 << 19) & 255; + a[j + 58 | 0] = (e >>> 5 | 0 << 27) & 255; + a[j + 59 | 0] = (d >>> 29 | e << 3) & 255; + a[j + 60 | 0] = (d >>> 21 | e << 11) & 255; + a[j + 61 | 0] = (d >>> 13 | e << 19) & 255; + a[j + 62 | 0] = (d >>> 5 | e << 27) & 255; + a[j + 63 | 0] = k & 255; + bS(l, j | 0, 64, 0) | 0; + fn(b | 0, h | 0, 32) | 0; + i = f; + return 0; +} +function bR(b, c, d, e) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + f = i; + i = i + 64 | 0; + g = f | 0; + h = g | 0; + j = i; + i = i + 256 | 0; + fn(h | 0, 1120, 64) | 0; + k = g | 0; + bV(k, c, d, e) | 0; + g = d & 127; + l = e & 0; + m = g; + do { + if ((g | 0) == 0 & (l | 0) == 0) { + a[j + m | 0] = -128; + n = fp(g, l, 1, 0) | 0; + o = n; + } else { + n = j | 0; + p = d & 127; + q = c + (d - p) | 0; + fn(n | 0, q | 0, p) | 0; + a[j + m | 0] = -128; + p = 0; + q = fp(g, l, 1, 0) | 0; + n = q; + if (l >>> 0 < p >>> 0 | l >>> 0 == p >>> 0 & g >>> 0 < 112 >>> 0) { + o = n; + break; + } + if (n >>> 0 < 247) { + n = d & 127; + fm(j + (n + 1) | 0, 0, 246 - n | 0); + } + a[j + 247 | 0] = (e >>> 29 | 0 << 3) & 255; + a[j + 248 | 0] = (e >>> 21 | 0 << 11) & 255; + a[j + 249 | 0] = (e >>> 13 | 0 << 19) & 255; + a[j + 250 | 0] = (e >>> 5 | 0 << 27) & 255; + a[j + 251 | 0] = (d >>> 29 | e << 3) & 255; + a[j + 252 | 0] = (d >>> 21 | e << 11) & 255; + a[j + 253 | 0] = (d >>> 13 | e << 19) & 255; + a[j + 254 | 0] = (d >>> 5 | e << 27) & 255; + a[j + 255 | 0] = (d << 3 | 0 >>> 29) & 255; + n = j | 0; + p = 256; + q = 0; + bV(k, n, p, q) | 0; + fn(b | 0, h | 0, 64) | 0; + i = f; + return 0; + } + } while (0); + if (o >>> 0 < 119) { + o = d & 127; + fm(j + (o + 1) | 0, 0, ((o + 2 | 0) >>> 0 > 119 ? o + 1 | 0 : 118) - o | 0); + } + a[j + 119 | 0] = (e >>> 29 | 0 << 3) & 255; + a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; + a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; + a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; + a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; + a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; + a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; + a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; + a[j + 127 | 0] = (d << 3 | 0 >>> 29) & 255; + bV(k, j | 0, 128, 0) | 0; + fn(b | 0, h | 0, 64) | 0; + i = f; + return 0; +} +function bS(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0; + e = bT(a) | 0; + f = a + 4 | 0; + g = bT(f) | 0; + h = a + 8 | 0; + i = bT(h) | 0; + j = a + 12 | 0; + k = bT(j) | 0; + l = a + 16 | 0; + m = bT(l) | 0; + n = a + 20 | 0; + o = bT(n) | 0; + p = a + 24 | 0; + q = bT(p) | 0; + r = a + 28 | 0; + s = bT(r) | 0; + t = 0; + if (d >>> 0 > t >>> 0 | d >>> 0 == t >>> 0 & c >>> 0 > 63 >>> 0) { + u = s; + v = q; + w = o; + x = m; + y = k; + z = i; + A = g; + B = e; + C = d; + D = c; + E = b; + } else { + F = s; + G = q; + I = o; + J = m; + K = k; + L = i; + M = g; + N = e; + bU(a, N); + bU(f, M); + bU(h, L); + bU(j, K); + bU(l, J); + bU(n, I); + bU(p, G); + bU(r, F); + return 0; + } + while (1) { + e = bT(E) | 0; + g = bT(E + 4 | 0) | 0; + i = bT(E + 8 | 0) | 0; + k = bT(E + 12 | 0) | 0; + m = bT(E + 16 | 0) | 0; + o = bT(E + 20 | 0) | 0; + q = bT(E + 24 | 0) | 0; + s = bT(E + 28 | 0) | 0; + b = bT(E + 32 | 0) | 0; + c = bT(E + 36 | 0) | 0; + d = bT(E + 40 | 0) | 0; + t = bT(E + 44 | 0) | 0; + O = bT(E + 48 | 0) | 0; + P = bT(E + 52 | 0) | 0; + Q = bT(E + 56 | 0) | 0; + R = bT(E + 60 | 0) | 0; + S = u + 1116352408 + (x & w ^ v & ~x) + ((x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)) + e | 0; + T = B & A; + U = S + y | 0; + V = ((B >>> 2 | B << 30) ^ (B >>> 13 | B << 19) ^ (B >>> 22 | B << 10)) + ((B ^ A) & z ^ T) + S | 0; + S = v + 1899447441 + g + (U & x ^ w & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + W = V & B; + X = S + z | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & A ^ T ^ W) + S | 0; + S = w - 1245643825 + i + (X & U ^ x & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = Y & V; + Z = S + A | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & B ^ W ^ T) + S | 0; + S = x - 373957723 + k + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = _ & Y; + $ = S + B | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; + S = U + 961987163 + m + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = aa & _; + T = S + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + S | 0; + S = o + 1508970993 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = V & aa; + W = S + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + S | 0; + S = q - 1841331548 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = Y & V; + U = S + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + S | 0; + S = s - 1424204075 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = _ & Y; + X = S + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + S | 0; + S = b - 670586216 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = aa & _; + Z = S + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + S | 0; + S = c + 310598401 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = V & aa; + $ = S + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + S | 0; + S = d + 607225278 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = Y & V; + T = S + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + S | 0; + S = t + 1426881987 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = _ & Y; + W = S + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + S | 0; + S = O + 1925078388 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = aa & _; + U = S + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + S | 0; + S = P - 2132889090 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = V & aa; + X = S + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + S | 0; + S = Q - 1680079193 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = Y & V; + Z = S + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + S | 0; + S = R - 1046744716 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = _ & Y; + $ = S + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; + S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; + e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; + g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; + i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; + k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; + m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; + o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; + q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; + s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; + b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; + c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; + d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; + t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; + O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; + P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; + Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; + R = S - 459576895 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = aa & _; + T = R + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; + R = e - 272742522 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = V & aa; + W = R + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; + R = g + 264347078 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = Y & V; + U = R + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; + R = i + 604807628 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = _ & Y; + X = R + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; + R = k + 770255983 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = aa & _; + Z = R + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + R | 0; + R = m + 1249150122 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = V & aa; + $ = R + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + R | 0; + R = o + 1555081692 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = Y & V; + T = R + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + R | 0; + R = q + 1996064986 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = _ & Y; + W = R + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + R | 0; + R = s - 1740746414 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = aa & _; + U = R + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + R | 0; + R = b - 1473132947 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = V & aa; + X = R + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + R | 0; + R = c - 1341970488 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = Y & V; + Z = R + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + R | 0; + R = d - 1084653625 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = _ & Y; + $ = R + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + R | 0; + R = t - 958395405 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = aa & _; + T = R + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; + R = O - 710438585 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = V & aa; + W = R + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; + R = P + 113926993 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = Y & V; + U = R + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; + R = Q + 338241895 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = _ & Y; + X = R + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; + R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; + S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; + e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; + g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; + i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; + k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; + m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; + o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; + q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; + s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; + b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; + c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; + d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; + t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; + O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; + P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; + Q = R + 666307205 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = aa & _; + Z = Q + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; + Q = S + 773529912 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = V & aa; + $ = Q + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; + Q = e + 1294757372 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = Y & V; + T = Q + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; + Q = g + 1396182291 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = _ & Y; + W = Q + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; + Q = i + 1695183700 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = aa & _; + U = Q + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + Q | 0; + Q = k + 1986661051 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = V & aa; + X = Q + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + Q | 0; + Q = m - 2117940946 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = Y & V; + Z = Q + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + Q | 0; + Q = o - 1838011259 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = _ & Y; + $ = Q + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + Q | 0; + Q = q - 1564481375 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = aa & _; + T = Q + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + Q | 0; + Q = s - 1474664885 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = V & aa; + W = Q + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + Q | 0; + Q = b - 1035236496 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = Y & V; + U = Q + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + Q | 0; + Q = c - 949202525 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = _ & Y; + X = Q + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + Q | 0; + Q = d - 778901479 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; + T = aa & _; + Z = Q + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; + Q = t - 694614492 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; + W = V & aa; + $ = Q + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; + Q = O - 200395387 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; + U = Y & V; + T = Q + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; + Q = P + 275423344 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; + X = _ & Y; + W = Q + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; + Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; + R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; + S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; + e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; + g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; + i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; + k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; + m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; + o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; + q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; + s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; + b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; + c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; + d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; + t = Q + 430227734 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; + Z = aa & _; + U = t + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + t | 0; + t = R + 506948616 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; + $ = V & aa; + R = t + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + t | 0; + t = S + 659060556 + T + (R & U ^ W & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; + T = Y & V; + S = t + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + t | 0; + t = e + 883997877 + W + (S & R ^ U & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; + W = _ & Y; + e = t + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + t | 0; + t = g + 958139571 + U + (e & S ^ R & ~e) + ((e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7)) | 0; + U = aa & _; + g = t + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + t | 0; + t = i + 1322822218 + R + (g & e ^ S & ~g) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) | 0; + R = V & aa; + i = t + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ R) + t | 0; + t = k + 1537002063 + S + (i & g ^ e & ~i) + ((i >>> 6 | i << 26) ^ (i >>> 11 | i << 21) ^ (i >>> 25 | i << 7)) | 0; + S = Y & V; + k = t + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ R ^ S) + t | 0; + t = m + 1747873779 + e + (k & i ^ g & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; + e = _ & Y; + R = t + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ S ^ e) + t | 0; + t = o + 1955562222 + g + (R & k ^ i & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; + g = aa & _; + S = t + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ e ^ g) + t | 0; + t = q + 2024104815 + i + (S & R ^ k & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; + i = V & aa; + q = t + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ g ^ i) + t | 0; + t = s - 2067236844 + k + (q & S ^ R & ~q) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) | 0; + k = Y & V; + s = t + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ i ^ k) + t | 0; + t = b - 1933114872 + R + (s & q ^ S & ~s) + ((s >>> 6 | s << 26) ^ (s >>> 11 | s << 21) ^ (s >>> 25 | s << 7)) | 0; + R = _ & Y; + b = t + aa | 0; + aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ k ^ R) + t | 0; + t = c - 1866530822 + S + (b & s ^ q & ~b) + ((b >>> 6 | b << 26) ^ (b >>> 11 | b << 21) ^ (b >>> 25 | b << 7)) | 0; + S = aa & _; + k = t + V | 0; + V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ R ^ S) + t | 0; + t = d - 1538233109 + q + (k & b ^ s & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; + q = V & aa; + R = t + Y | 0; + Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ S ^ q) + t | 0; + t = O - 1090935817 + ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) + s + (R & k ^ b & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; + s = Y & V; + c = t + _ | 0; + _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ q ^ s) + t | 0; + t = P - 965641998 + ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) + b + (c & R ^ k & ~c) + ((c >>> 6 | c << 26) ^ (c >>> 11 | c << 21) ^ (c >>> 25 | c << 7)) | 0; + b = (_ & (Y ^ V) ^ s) + B + ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + t | 0; + s = _ + A | 0; + _ = Y + z | 0; + Y = V + y | 0; + V = aa + x + t | 0; + t = c + w | 0; + c = R + v | 0; + R = k + u | 0; + k = fp(D, C, -64, -1) | 0; + aa = H; + d = 0; + if (aa >>> 0 > d >>> 0 | aa >>> 0 == d >>> 0 & k >>> 0 > 63 >>> 0) { + u = R; + v = c; + w = t; + x = V; + y = Y; + z = _; + A = s; + B = b; + C = aa; + D = k; + E = E + 64 | 0; + } else { + F = R; + G = c; + I = t; + J = V; + K = Y; + L = _; + M = s; + N = b; + break; + } + } + bU(a, N); + bU(f, M); + bU(h, L); + bU(j, K); + bU(l, J); + bU(n, I); + bU(p, G); + bU(r, F); + return 0; +} +function bT(a) { + a = a | 0; + return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; +} +function bU(b, c) { + b = b | 0; + c = c | 0; + a[b + 3 | 0] = c & 255; + a[b + 2 | 0] = c >>> 8 & 255; + a[b + 1 | 0] = c >>> 16 & 255; + a[b] = c >>> 24 & 255; + return; +} +function bV(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0; + e = bW(a) | 0; + f = H; + g = a + 8 | 0; + h = bW(g) | 0; + i = H; + j = a + 16 | 0; + k = bW(j) | 0; + l = H; + m = a + 24 | 0; + n = bW(m) | 0; + o = H; + p = a + 32 | 0; + q = bW(p) | 0; + r = H; + s = a + 40 | 0; + t = bW(s) | 0; + u = H; + v = a + 48 | 0; + w = bW(v) | 0; + x = H; + y = a + 56 | 0; + z = bW(y) | 0; + A = H; + B = 0; + if (d >>> 0 > B >>> 0 | d >>> 0 == B >>> 0 & c >>> 0 > 127 >>> 0) { + C = A; + D = z; + E = x; + F = w; + G = u; + I = t; + J = r; + K = q; + L = o; + M = n; + N = l; + O = k; + P = i; + Q = h; + R = f; + S = e; + T = d; + U = c; + V = b; + } else { + W = A; + X = z; + Y = x; + Z = w; + _ = u; + $ = t; + aa = r; + ab = q; + ac = o; + ad = n; + ae = l; + af = k; + ag = i; + ah = h; + ai = f; + aj = e; + bX(a, aj, ai); + bX(g, ah, ag); + bX(j, af, ae); + bX(m, ad, ac); + bX(p, ab, aa); + bX(s, $, _); + bX(v, Z, Y); + bX(y, X, W); + return 0; + } + while (1) { + e = bW(V) | 0; + f = H; + h = bW(V + 8 | 0) | 0; + i = H; + k = bW(V + 16 | 0) | 0; + l = H; + n = bW(V + 24 | 0) | 0; + o = H; + q = bW(V + 32 | 0) | 0; + r = H; + t = bW(V + 40 | 0) | 0; + u = H; + w = bW(V + 48 | 0) | 0; + x = H; + z = bW(V + 56 | 0) | 0; + A = H; + b = bW(V + 64 | 0) | 0; + c = H; + d = bW(V + 72 | 0) | 0; + B = H; + ak = bW(V + 80 | 0) | 0; + al = H; + am = bW(V + 88 | 0) | 0; + an = H; + ao = bW(V + 96 | 0) | 0; + ap = H; + aq = bW(V + 104 | 0) | 0; + ar = H; + as = bW(V + 112 | 0) | 0; + at = H; + au = bW(V + 120 | 0) | 0; + av = H; + aw = fp(D, C, -685199838, 1116352408) | 0; + ax = fp(aw, H, K & I ^ F & ~K, J & G ^ E & ~J) | 0; + aw = fp(ax, H, (K >>> 14 | J << 18 | (0 << 18 | 0 >>> 14)) ^ (K >>> 18 | J << 14 | (0 << 14 | 0 >>> 18)) ^ (J >>> 9 | 0 << 23 | (K << 23 | 0 >>> 9)), (J >>> 14 | 0 << 18 | (K << 18 | 0 >>> 14)) ^ (J >>> 18 | 0 << 14 | (K << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (J << 23 | K >>> 9))) | 0; + ax = fp(aw, H, e, f) | 0; + aw = H; + ay = S & Q; + az = R & P; + aA = fp((S >>> 28 | R << 4 | (0 << 4 | 0 >>> 28)) ^ (R >>> 2 | 0 << 30 | (S << 30 | 0 >>> 2)) ^ (R >>> 7 | 0 << 25 | (S << 25 | 0 >>> 7)), (R >>> 28 | 0 << 4 | (S << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (R << 30 | S >>> 2)) ^ (0 >>> 7 | 0 << 25 | (R << 25 | S >>> 7)), (S ^ Q) & O ^ ay, (R ^ P) & N ^ az) | 0; + aB = H; + aC = fp(ax, aw, M, L) | 0; + aD = H; + aE = fp(aA, aB, ax, aw) | 0; + aw = H; + ax = fp(F, E, 602891725, 1899447441) | 0; + aB = fp(ax, H, h, i) | 0; + ax = fp(aB, H, aC & K ^ I & ~aC, aD & J ^ G & ~aD) | 0; + aB = fp(ax, H, (aC >>> 14 | aD << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aD << 14 | (0 << 14 | 0 >>> 18)) ^ (aD >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aD >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aD >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aD << 23 | aC >>> 9))) | 0; + ax = H; + aA = aE & S; + aF = aw & R; + aG = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & Q ^ ay ^ aA, aw & P ^ az ^ aF) | 0; + az = H; + ay = fp(aB, ax, O, N) | 0; + aH = H; + aI = fp(aG, az, aB, ax) | 0; + ax = H; + aB = fp(I, G, -330482897, -1245643825) | 0; + az = fp(aB, H, k, l) | 0; + aB = fp(az, H, ay & aC ^ K & ~ay, aH & aD ^ J & ~aH) | 0; + az = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; + aB = H; + aG = aI & aE; + aJ = ax & aw; + aK = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & S ^ aA ^ aG, ax & R ^ aF ^ aJ) | 0; + aF = H; + aA = fp(az, aB, Q, P) | 0; + aL = H; + aM = fp(aK, aF, az, aB) | 0; + aB = H; + az = fp(K, J, -2121671748, -373957723) | 0; + aF = fp(az, H, n, o) | 0; + az = fp(aF, H, aA & ay ^ aC & ~aA, aL & aH ^ aD & ~aL) | 0; + aF = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; + az = H; + aK = aM & aI; + aN = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aJ ^ aN) | 0; + aJ = H; + aG = fp(aF, az, S, R) | 0; + aP = H; + aQ = fp(aO, aJ, aF, az) | 0; + az = H; + aF = fp(aC, aD, -213338824, 961987163) | 0; + aD = fp(aF, H, q, r) | 0; + aF = fp(aD, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; + aD = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; + aF = H; + aC = aQ & aM; + aJ = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ aN ^ aJ) | 0; + aN = H; + aK = fp(aD, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, aN, aD, aF) | 0; + aF = H; + aD = fp(t, u, -1241133031, 1508970993) | 0; + aN = fp(aD, H, ay, aH) | 0; + aH = fp(aN, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; + aN = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; + aH = H; + ay = aE & aQ; + aD = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ aJ ^ aD) | 0; + aJ = H; + aC = fp(aN, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, aJ, aN, aH) | 0; + aH = H; + aN = fp(w, x, -1357295717, -1841331548) | 0; + aJ = fp(aN, H, aA, aL) | 0; + aL = fp(aJ, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; + aJ = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; + aL = H; + aA = aI & aE; + aN = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aD ^ aN) | 0; + aD = H; + ay = fp(aJ, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, aD, aJ, aL) | 0; + aL = H; + aJ = fp(z, A, -630357736, -1424204075) | 0; + aD = fp(aJ, H, aG, aP) | 0; + aP = fp(aD, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; + aD = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; + aP = H; + aG = aM & aI; + aJ = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ aN ^ aJ) | 0; + aN = H; + aA = fp(aD, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, aN, aD, aP) | 0; + aP = H; + aD = fp(b, c, -1560083902, -670586216) | 0; + aN = fp(aD, H, aK, aw) | 0; + aw = fp(aN, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; + aN = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; + aw = H; + aK = aQ & aM; + aD = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ aJ ^ aD) | 0; + aJ = H; + aG = fp(aN, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, aJ, aN, aw) | 0; + aw = H; + aN = fp(d, B, 1164996542, 310598401) | 0; + aJ = fp(aN, H, aC, ax) | 0; + ax = fp(aJ, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; + aJ = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; + ax = H; + aC = aE & aQ; + aN = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aD ^ aN) | 0; + aD = H; + aK = fp(aJ, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, aD, aJ, ax) | 0; + ax = H; + aJ = fp(ak, al, 1323610764, 607225278) | 0; + aD = fp(aJ, H, ay, aB) | 0; + aB = fp(aD, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; + aD = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; + aB = H; + ay = aI & aE; + aJ = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ aN ^ aJ) | 0; + aN = H; + aC = fp(aD, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, aN, aD, aB) | 0; + aB = H; + aD = fp(am, an, -704662302, 1426881987) | 0; + aN = fp(aD, H, aA, az) | 0; + az = fp(aN, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; + aN = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; + az = H; + aA = aM & aI; + aD = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ aJ ^ aD) | 0; + aJ = H; + ay = fp(aN, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, aJ, aN, az) | 0; + az = H; + aN = fp(ao, ap, -226784913, 1925078388) | 0; + aJ = fp(aN, H, aG, aF) | 0; + aF = fp(aJ, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; + aJ = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; + aF = H; + aG = aQ & aM; + aN = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aD ^ aN) | 0; + aD = H; + aA = fp(aJ, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, aD, aJ, aF) | 0; + aF = H; + aJ = fp(aq, ar, 991336113, -2132889090) | 0; + aD = fp(aJ, H, aK, aH) | 0; + aH = fp(aD, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; + aD = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; + aH = H; + aK = aE & aQ; + aJ = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ aN ^ aJ) | 0; + aN = H; + aG = fp(aD, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, aN, aD, aH) | 0; + aH = H; + aD = fp(as, at, 633803317, -1680079193) | 0; + aN = fp(aD, H, aC, aL) | 0; + aL = fp(aN, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; + aN = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; + aL = H; + aC = aI & aE; + aD = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ aJ ^ aD) | 0; + aJ = H; + aK = fp(aN, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, aJ, aN, aL) | 0; + aL = H; + aN = fp(au, av, -815192428, -1046744716) | 0; + aJ = fp(aN, H, ay, aP) | 0; + aP = fp(aJ, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; + aJ = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; + aP = H; + ay = aM & aI; + aN = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aD ^ aN) | 0; + aD = H; + aC = fp(aJ, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, aD, aJ, aP) | 0; + aP = H; + aJ = fp((h >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | i << 25) ^ (h >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, f) | 0; + f = fp(aJ, H, d, B) | 0; + aJ = fp(f, H, (at >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | at << 26) ^ (as >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | as >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; + f = H; + e = fp((k >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | l << 25) ^ (k >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, i) | 0; + i = fp(e, H, ak, al) | 0; + e = fp(i, H, (av >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | av << 26) ^ (au >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | au >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; + i = H; + h = fp((n >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | o << 25) ^ (n >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, l) | 0; + l = fp(h, H, am, an) | 0; + h = fp(l, H, (f >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | f << 26) ^ (aJ >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aJ >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; + l = H; + k = fp((q >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | r << 25) ^ (q >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, o) | 0; + o = fp(k, H, ao, ap) | 0; + k = fp(o, H, (i >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | i << 26) ^ (e >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | e >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; + o = H; + n = fp((t >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | u << 25) ^ (t >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, r) | 0; + r = fp(n, H, aq, ar) | 0; + n = fp(r, H, (l >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | l << 26) ^ (h >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | h >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; + r = H; + q = fp((w >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | x << 25) ^ (w >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, u) | 0; + u = fp(q, H, as, at) | 0; + q = fp(u, H, (o >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | o << 26) ^ (k >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | k >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; + u = H; + t = fp((z >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | A << 25) ^ (z >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, x) | 0; + x = fp(t, H, au, av) | 0; + t = fp(x, H, (r >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | r << 26) ^ (n >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | n >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; + x = H; + w = fp((b >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | c << 25) ^ (b >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, A) | 0; + A = fp(w, H, aJ, f) | 0; + w = fp(A, H, (u >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | u << 26) ^ (q >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | q >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; + A = H; + z = fp((d >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | B << 25) ^ (d >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, c) | 0; + c = fp(z, H, e, i) | 0; + z = fp(c, H, (x >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | x << 26) ^ (t >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | t >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; + c = H; + b = fp((ak >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | al << 25) ^ (ak >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, B) | 0; + B = fp(b, H, h, l) | 0; + b = fp(B, H, (A >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | A << 26) ^ (w >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | w >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; + B = H; + d = fp((am >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | an << 25) ^ (am >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, al) | 0; + al = fp(d, H, k, o) | 0; + d = fp(al, H, (c >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | c << 26) ^ (z >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | z >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; + al = H; + ak = fp((ao >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ap << 25) ^ (ao >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, an) | 0; + an = fp(ak, H, n, r) | 0; + ak = fp(an, H, (B >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | B << 26) ^ (b >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | b >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; + an = H; + am = fp((aq >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | ar << 25) ^ (aq >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ap) | 0; + ap = fp(am, H, q, u) | 0; + am = fp(ap, H, (al >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | al << 26) ^ (d >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | d >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; + ap = H; + ao = fp((as >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | at << 25) ^ (as >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, ar) | 0; + ar = fp(ao, H, t, x) | 0; + ao = fp(ar, H, (an >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | an << 26) ^ (ak >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | ak >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; + ar = H; + aq = fp((au >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | av << 25) ^ (au >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1)), as, at) | 0; + at = fp(aq, H, w, A) | 0; + aq = fp(at, H, (ap >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ap << 26) ^ (am >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | am >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; + at = H; + as = fp((aJ >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | f << 25) ^ (aJ >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), au, av) | 0; + av = fp(as, H, z, c) | 0; + as = fp(av, H, (ar >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | ar << 26) ^ (ao >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ao >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; + av = H; + au = fp(aJ, f, -1628353838, -459576895) | 0; + aD = fp(au, H, aA, aw) | 0; + aw = fp(aD, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; + aD = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; + aw = H; + aA = aQ & aM; + au = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ aN ^ au) | 0; + aN = H; + ay = fp(aD, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, aN, aD, aw) | 0; + aw = H; + aD = fp(e, i, 944711139, -272742522) | 0; + aN = fp(aD, H, aG, ax) | 0; + ax = fp(aN, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; + aN = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; + ax = H; + aG = aE & aQ; + aD = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ au ^ aD) | 0; + au = H; + aA = fp(aN, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, au, aN, ax) | 0; + ax = H; + aN = fp(h, l, -1953704523, 264347078) | 0; + au = fp(aN, H, aK, aB) | 0; + aB = fp(au, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; + au = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; + aB = H; + aK = aI & aE; + aN = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aD ^ aN) | 0; + aD = H; + aG = fp(au, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, aD, au, aB) | 0; + aB = H; + au = fp(k, o, 2007800933, 604807628) | 0; + aD = fp(au, H, aC, az) | 0; + az = fp(aD, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; + aD = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; + az = H; + aC = aM & aI; + au = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ aN ^ au) | 0; + aN = H; + aK = fp(aD, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, aN, aD, az) | 0; + az = H; + aD = fp(n, r, 1495990901, 770255983) | 0; + aN = fp(aD, H, ay, aF) | 0; + aF = fp(aN, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; + aN = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; + aF = H; + ay = aQ & aM; + aD = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ au ^ aD) | 0; + au = H; + aC = fp(aN, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, au, aN, aF) | 0; + aF = H; + aN = fp(q, u, 1856431235, 1249150122) | 0; + au = fp(aN, H, aA, aH) | 0; + aH = fp(au, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; + au = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; + aH = H; + aA = aE & aQ; + aN = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aD ^ aN) | 0; + aD = H; + ay = fp(au, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, aD, au, aH) | 0; + aH = H; + au = fp(t, x, -1119749164, 1555081692) | 0; + aD = fp(au, H, aG, aL) | 0; + aL = fp(aD, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; + aD = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; + aL = H; + aG = aI & aE; + au = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ aN ^ au) | 0; + aN = H; + aA = fp(aD, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, aN, aD, aL) | 0; + aL = H; + aD = fp(w, A, -2096016459, 1996064986) | 0; + aN = fp(aD, H, aK, aP) | 0; + aP = fp(aN, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; + aN = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; + aP = H; + aK = aM & aI; + aD = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ au ^ aD) | 0; + au = H; + aG = fp(aN, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, au, aN, aP) | 0; + aP = H; + aN = fp(z, c, -295247957, -1740746414) | 0; + au = fp(aN, H, aC, aw) | 0; + aw = fp(au, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; + au = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; + aw = H; + aC = aQ & aM; + aN = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aD ^ aN) | 0; + aD = H; + aK = fp(au, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, aD, au, aw) | 0; + aw = H; + au = fp(b, B, 766784016, -1473132947) | 0; + aD = fp(au, H, ay, ax) | 0; + ax = fp(aD, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; + aD = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; + ax = H; + ay = aE & aQ; + au = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ aN ^ au) | 0; + aN = H; + aC = fp(aD, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, aN, aD, ax) | 0; + ax = H; + aD = fp(d, al, -1728372417, -1341970488) | 0; + aN = fp(aD, H, aA, aB) | 0; + aB = fp(aN, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; + aN = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; + aB = H; + aA = aI & aE; + aD = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ au ^ aD) | 0; + au = H; + ay = fp(aN, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, au, aN, aB) | 0; + aB = H; + aN = fp(ak, an, -1091629340, -1084653625) | 0; + au = fp(aN, H, aG, az) | 0; + az = fp(au, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; + au = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; + az = H; + aG = aM & aI; + aN = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ aD ^ aN) | 0; + aD = H; + aA = fp(au, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, aD, au, az) | 0; + az = H; + au = fp(am, ap, 1034457026, -958395405) | 0; + aD = fp(au, H, aK, aF) | 0; + aF = fp(aD, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; + aD = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; + aF = H; + aK = aQ & aM; + au = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ aN ^ au) | 0; + aN = H; + aG = fp(aD, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, aN, aD, aF) | 0; + aF = H; + aD = fp(ao, ar, -1828018395, -710438585) | 0; + aN = fp(aD, H, aC, aH) | 0; + aH = fp(aN, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; + aN = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; + aH = H; + aC = aE & aQ; + aD = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ au ^ aD) | 0; + au = H; + aK = fp(aN, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, au, aN, aH) | 0; + aH = H; + aN = fp(aq, at, -536640913, 113926993) | 0; + au = fp(aN, H, ay, aL) | 0; + aL = fp(au, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; + au = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; + aL = H; + ay = aI & aE; + aN = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ aD ^ aN) | 0; + aD = H; + aC = fp(au, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, aD, au, aL) | 0; + aL = H; + au = fp(as, av, 168717936, 338241895) | 0; + aD = fp(au, H, aA, aP) | 0; + aP = fp(aD, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; + aD = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; + aP = H; + aA = aM & aI; + au = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ aN ^ au) | 0; + aN = H; + ay = fp(aD, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, aN, aD, aP) | 0; + aP = H; + aD = fp((e >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | i << 25) ^ (e >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, f) | 0; + f = fp(aD, H, b, B) | 0; + aD = fp(f, H, (at >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | at << 26) ^ (aq >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | aq >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; + f = H; + aJ = fp((h >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | l << 25) ^ (h >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, i) | 0; + i = fp(aJ, H, d, al) | 0; + aJ = fp(i, H, (av >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | av << 26) ^ (as >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | as >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; + i = H; + e = fp((k >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | o << 25) ^ (k >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, l) | 0; + l = fp(e, H, ak, an) | 0; + e = fp(l, H, (f >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | f << 26) ^ (aD >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aD >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; + l = H; + h = fp((n >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | r << 25) ^ (n >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, o) | 0; + o = fp(h, H, am, ap) | 0; + h = fp(o, H, (i >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | i << 26) ^ (aJ >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aJ >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; + o = H; + k = fp((q >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | u << 25) ^ (q >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, r) | 0; + r = fp(k, H, ao, ar) | 0; + k = fp(r, H, (l >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | l << 26) ^ (e >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | e >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; + r = H; + n = fp((t >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | x << 25) ^ (t >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, u) | 0; + u = fp(n, H, aq, at) | 0; + n = fp(u, H, (o >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | o << 26) ^ (h >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | h >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; + u = H; + q = fp((w >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | A << 25) ^ (w >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, x) | 0; + x = fp(q, H, as, av) | 0; + q = fp(x, H, (r >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | r << 26) ^ (k >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | k >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; + x = H; + t = fp((z >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | c << 25) ^ (z >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, A) | 0; + A = fp(t, H, aD, f) | 0; + t = fp(A, H, (u >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | u << 26) ^ (n >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | n >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; + A = H; + w = fp((b >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | B << 25) ^ (b >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, c) | 0; + c = fp(w, H, aJ, i) | 0; + w = fp(c, H, (x >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | x << 26) ^ (q >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | q >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; + c = H; + z = fp((d >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | al << 25) ^ (d >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, B) | 0; + B = fp(z, H, e, l) | 0; + z = fp(B, H, (A >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | A << 26) ^ (t >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | t >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; + B = H; + b = fp((ak >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | an << 25) ^ (ak >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, al) | 0; + al = fp(b, H, h, o) | 0; + b = fp(al, H, (c >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | c << 26) ^ (w >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | w >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; + al = H; + d = fp((am >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ap << 25) ^ (am >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, an) | 0; + an = fp(d, H, k, r) | 0; + d = fp(an, H, (B >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | B << 26) ^ (z >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | z >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; + an = H; + ak = fp((ao >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ar << 25) ^ (ao >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ap) | 0; + ap = fp(ak, H, n, u) | 0; + ak = fp(ap, H, (al >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | al << 26) ^ (b >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | b >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; + ap = H; + am = fp((aq >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | at << 25) ^ (aq >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ar) | 0; + ar = fp(am, H, q, x) | 0; + am = fp(ar, H, (an >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | an << 26) ^ (d >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | d >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; + ar = H; + ao = fp((as >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | av << 25) ^ (as >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, at) | 0; + at = fp(ao, H, t, A) | 0; + ao = fp(at, H, (ap >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ap << 26) ^ (ak >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | ak >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; + at = H; + aq = fp((aD >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | f << 25) ^ (aD >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), as, av) | 0; + av = fp(aq, H, w, c) | 0; + aq = fp(av, H, (ar >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ar << 26) ^ (am >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | am >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; + av = H; + as = fp(aD, f, 1188179964, 666307205) | 0; + aN = fp(as, H, aG, aw) | 0; + aw = fp(aN, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; + aN = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; + aw = H; + aG = aQ & aM; + as = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ au ^ as) | 0; + au = H; + aA = fp(aN, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, au, aN, aw) | 0; + aw = H; + aN = fp(aJ, i, 1546045734, 773529912) | 0; + au = fp(aN, H, aK, ax) | 0; + ax = fp(au, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; + au = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; + ax = H; + aK = aE & aQ; + aN = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ as ^ aN) | 0; + as = H; + aG = fp(au, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, as, au, ax) | 0; + ax = H; + au = fp(e, l, 1522805485, 1294757372) | 0; + as = fp(au, H, aC, aB) | 0; + aB = fp(as, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; + as = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; + aB = H; + aC = aI & aE; + au = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ aN ^ au) | 0; + aN = H; + aK = fp(as, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, aN, as, aB) | 0; + aB = H; + as = fp(h, o, -1651133473, 1396182291) | 0; + aN = fp(as, H, ay, az) | 0; + az = fp(aN, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; + aN = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; + az = H; + ay = aM & aI; + as = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ au ^ as) | 0; + au = H; + aC = fp(aN, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, au, aN, az) | 0; + az = H; + aN = fp(k, r, -1951439906, 1695183700) | 0; + au = fp(aN, H, aA, aF) | 0; + aF = fp(au, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; + au = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; + aF = H; + aA = aQ & aM; + aN = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ as ^ aN) | 0; + as = H; + ay = fp(au, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, as, au, aF) | 0; + aF = H; + au = fp(n, u, 1014477480, 1986661051) | 0; + as = fp(au, H, aG, aH) | 0; + aH = fp(as, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; + as = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; + aH = H; + aG = aE & aQ; + au = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ aN ^ au) | 0; + aN = H; + aA = fp(as, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, aN, as, aH) | 0; + aH = H; + as = fp(q, x, 1206759142, -2117940946) | 0; + aN = fp(as, H, aK, aL) | 0; + aL = fp(aN, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; + aN = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; + aL = H; + aK = aI & aE; + as = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ au ^ as) | 0; + au = H; + aG = fp(aN, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, au, aN, aL) | 0; + aL = H; + aN = fp(t, A, 344077627, -1838011259) | 0; + au = fp(aN, H, aC, aP) | 0; + aP = fp(au, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; + au = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; + aP = H; + aC = aM & aI; + aN = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aL & aF ^ as ^ aN) | 0; + as = H; + aK = fp(au, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, as, au, aP) | 0; + aP = H; + au = fp(w, c, 1290863460, -1564481375) | 0; + as = fp(au, H, ay, aw) | 0; + aw = fp(as, H, aK & aG ^ aA & ~aK, az & aB ^ ax & ~az) | 0; + as = fp(aw, H, (aK >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aK >>> 9))) | 0; + aw = H; + ay = aQ & aM; + au = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, aP & aH ^ aN ^ au) | 0; + aN = H; + aC = fp(as, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, aN, as, aw) | 0; + aw = H; + as = fp(z, B, -1136513023, -1474664885) | 0; + aN = fp(as, H, aA, ax) | 0; + ax = fp(aN, H, aC & aK ^ aG & ~aC, aF & az ^ aB & ~aF) | 0; + aN = fp(ax, H, (aC >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aC >>> 9))) | 0; + ax = H; + aA = aE & aQ; + as = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aw & aL ^ au ^ as) | 0; + au = H; + ay = fp(aN, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, au, aN, ax) | 0; + ax = H; + aN = fp(b, al, -789014639, -1035236496) | 0; + au = fp(aN, H, aG, aB) | 0; + aB = fp(au, H, ay & aC ^ aK & ~ay, aH & aF ^ az & ~aH) | 0; + au = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; + aB = H; + aG = aI & aE; + aN = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, ax & aP ^ as ^ aN) | 0; + as = H; + aA = fp(au, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, as, au, aB) | 0; + aB = H; + au = fp(d, an, 106217008, -949202525) | 0; + as = fp(au, H, aK, az) | 0; + az = fp(as, H, aA & ay ^ aC & ~aA, aL & aH ^ aF & ~aL) | 0; + as = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; + az = H; + aK = aM & aI; + au = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aN ^ au) | 0; + aN = H; + aG = fp(as, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, aN, as, az) | 0; + az = H; + as = fp(ak, ap, -688958952, -778901479) | 0; + aN = fp(as, H, aC, aF) | 0; + aF = fp(aN, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; + aN = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; + aF = H; + aC = aQ & aM; + as = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ au ^ as) | 0; + au = H; + aK = fp(aN, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, au, aN, aF) | 0; + aF = H; + aN = fp(am, ar, 1432725776, -694614492) | 0; + au = fp(aN, H, ay, aH) | 0; + aH = fp(au, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; + au = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; + aH = H; + ay = aE & aQ; + aN = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ as ^ aN) | 0; + as = H; + aC = fp(au, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, as, au, aH) | 0; + aH = H; + au = fp(ao, at, 1467031594, -200395387) | 0; + as = fp(au, H, aA, aL) | 0; + aL = fp(as, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; + as = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; + aL = H; + aA = aI & aE; + au = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aN ^ au) | 0; + aN = H; + ay = fp(as, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, aN, as, aL) | 0; + aL = H; + as = fp(aq, av, 851169720, 275423344) | 0; + aN = fp(as, H, aG, aP) | 0; + aP = fp(aN, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; + aN = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; + aP = H; + aG = aM & aI; + as = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ au ^ as) | 0; + au = H; + aA = fp(aN, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, au, aN, aP) | 0; + aP = H; + aN = fp((aJ >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | i << 25) ^ (aJ >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, f) | 0; + f = fp(aN, H, z, B) | 0; + aN = fp(f, H, (at >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | at << 26) ^ (ao >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | ao >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; + f = H; + aD = fp((e >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | l << 25) ^ (e >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, i) | 0; + i = fp(aD, H, b, al) | 0; + aD = fp(i, H, (av >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | av << 26) ^ (aq >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | aq >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; + i = H; + aJ = fp((h >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | o << 25) ^ (h >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, l) | 0; + l = fp(aJ, H, d, an) | 0; + aJ = fp(l, H, (f >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | f << 26) ^ (aN >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aN >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; + l = H; + e = fp((k >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | r << 25) ^ (k >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, o) | 0; + o = fp(e, H, ak, ap) | 0; + e = fp(o, H, (i >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | i << 26) ^ (aD >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aD >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; + o = H; + h = fp((n >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | u << 25) ^ (n >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, r) | 0; + r = fp(h, H, am, ar) | 0; + h = fp(r, H, (l >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | l << 26) ^ (aJ >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aJ >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; + r = H; + k = fp((q >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | x << 25) ^ (q >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, u) | 0; + u = fp(k, H, ao, at) | 0; + k = fp(u, H, (o >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | o << 26) ^ (e >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | e >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; + u = H; + n = fp((t >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | A << 25) ^ (t >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, x) | 0; + x = fp(n, H, aq, av) | 0; + n = fp(x, H, (r >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | r << 26) ^ (h >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | h >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; + x = H; + q = fp((w >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | c << 25) ^ (w >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, A) | 0; + A = fp(q, H, aN, f) | 0; + q = fp(A, H, (u >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | u << 26) ^ (k >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | k >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; + A = H; + t = fp((z >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | B << 25) ^ (z >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, c) | 0; + c = fp(t, H, aD, i) | 0; + t = fp(c, H, (x >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | x << 26) ^ (n >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | n >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; + c = H; + w = fp((b >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | al << 25) ^ (b >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, B) | 0; + B = fp(w, H, aJ, l) | 0; + w = fp(B, H, (A >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | A << 26) ^ (q >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | q >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; + B = H; + z = fp((d >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | an << 25) ^ (d >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, al) | 0; + al = fp(z, H, e, o) | 0; + z = fp(al, H, (c >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | c << 26) ^ (t >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | t >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; + al = H; + b = fp((ak >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ap << 25) ^ (ak >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, an) | 0; + an = fp(b, H, h, r) | 0; + b = fp(an, H, (B >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | B << 26) ^ (w >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | w >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; + an = H; + d = fp((am >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ar << 25) ^ (am >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ap) | 0; + ap = fp(d, H, k, u) | 0; + d = fp(ap, H, (al >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | al << 26) ^ (z >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | z >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; + ap = H; + ak = fp((ao >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | at << 25) ^ (ao >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ar) | 0; + ar = fp(ak, H, n, x) | 0; + ak = fp(ar, H, (an >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | an << 26) ^ (b >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | b >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; + ar = H; + am = fp((aq >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | av << 25) ^ (aq >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, at) | 0; + at = fp(am, H, q, A) | 0; + am = fp(at, H, (ap >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ap << 26) ^ (d >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | d >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; + at = H; + ao = fp((aN >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aN >>> 7 | f << 25) ^ (aN >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aN << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aN << 31 | 0 >>> 1)), aq, av) | 0; + av = fp(ao, H, t, c) | 0; + ao = fp(av, H, (ar >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ar << 26) ^ (ak >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ak >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; + av = H; + aq = fp(aN, f, -1194143544, 430227734) | 0; + au = fp(aq, H, aK, aw) | 0; + aw = fp(au, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; + au = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; + aw = H; + aK = aQ & aM; + aq = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ as ^ aq) | 0; + as = H; + aG = fp(au, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, as, au, aw) | 0; + aw = H; + au = fp(aD, i, 1363258195, 506948616) | 0; + as = fp(au, H, aC, ax) | 0; + ax = fp(as, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; + as = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; + ax = H; + aC = aE & aQ; + au = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aq ^ au) | 0; + aq = H; + aK = fp(as, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, aq, as, ax) | 0; + ax = H; + as = fp(aJ, l, -544281703, 659060556) | 0; + aq = fp(as, H, ay, aB) | 0; + aB = fp(aq, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; + aq = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; + aB = H; + ay = aI & aE; + as = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ au ^ as) | 0; + au = H; + aC = fp(aq, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, au, aq, aB) | 0; + aB = H; + aq = fp(e, o, -509917016, 883997877) | 0; + au = fp(aq, H, aA, az) | 0; + az = fp(au, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; + au = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; + az = H; + aA = aM & aI; + aq = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ as ^ aq) | 0; + as = H; + ay = fp(au, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, as, au, az) | 0; + az = H; + au = fp(h, r, -976659869, 958139571) | 0; + as = fp(au, H, aG, aF) | 0; + aF = fp(as, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; + as = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; + aF = H; + aG = aQ & aM; + au = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aq ^ au) | 0; + aq = H; + aA = fp(as, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, aq, as, aF) | 0; + aF = H; + as = fp(k, u, -482243893, 1322822218) | 0; + aq = fp(as, H, aK, aH) | 0; + aH = fp(aq, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; + aq = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; + aH = H; + aK = aE & aQ; + as = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ au ^ as) | 0; + au = H; + aG = fp(aq, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, au, aq, aH) | 0; + aH = H; + aq = fp(n, x, 2003034995, 1537002063) | 0; + au = fp(aq, H, aC, aL) | 0; + aL = fp(au, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; + au = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; + aL = H; + aC = aI & aE; + aq = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ as ^ aq) | 0; + as = H; + aK = fp(au, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, as, au, aL) | 0; + aL = H; + au = fp(q, A, -692930397, 1747873779) | 0; + as = fp(au, H, ay, aP) | 0; + aP = fp(as, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; + as = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; + aP = H; + ay = aM & aI; + au = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aq ^ au) | 0; + aq = H; + aC = fp(as, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, aq, as, aP) | 0; + aP = H; + as = fp(t, c, 1575990012, 1955562222) | 0; + aq = fp(as, H, aA, aw) | 0; + aw = fp(aq, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; + aq = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; + aw = H; + aA = aQ & aM; + as = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ au ^ as) | 0; + au = H; + ay = fp(aq, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, au, aq, aw) | 0; + aw = H; + aq = fp(w, B, 1125592928, 2024104815) | 0; + au = fp(aq, H, aG, ax) | 0; + ax = fp(au, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; + au = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; + ax = H; + aG = aE & aQ; + aq = aw & aP; + aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ as ^ aq) | 0; + as = H; + aA = fp(au, ax, aI, aH) | 0; + aH = H; + aI = fp(aO, as, au, ax) | 0; + ax = H; + au = fp(z, al, -1578062990, -2067236844) | 0; + as = fp(au, H, aK, aB) | 0; + aB = fp(as, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; + as = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; + aB = H; + aK = aI & aE; + au = ax & aw; + aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aq ^ au) | 0; + aq = H; + aG = fp(as, aB, aM, aL) | 0; + aL = H; + aM = fp(aO, aq, as, aB) | 0; + aB = H; + as = fp(b, an, 442776044, -1933114872) | 0; + aq = fp(as, H, aC, az) | 0; + az = fp(aq, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; + aq = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; + az = H; + aC = aM & aI; + as = aB & ax; + aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ au ^ as) | 0; + au = H; + aK = fp(aq, az, aQ, aP) | 0; + aP = H; + aQ = fp(aO, au, aq, az) | 0; + az = H; + aq = fp(d, ap, 593698344, -1866530822) | 0; + au = fp(aq, H, ay, aF) | 0; + aF = fp(au, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; + au = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; + aF = H; + ay = aQ & aM; + aq = az & aB; + aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ as ^ aq) | 0; + as = H; + aC = fp(au, aF, aE, aw) | 0; + aw = H; + aE = fp(aO, as, au, aF) | 0; + aF = H; + au = fp(ak, ar, -561857047, -1538233109) | 0; + as = fp(au, H, aA, aH) | 0; + aH = fp(as, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; + as = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; + aH = H; + aA = aE & aQ; + au = aF & az; + aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aq ^ au) | 0; + aq = H; + ay = fp(as, aH, aI, ax) | 0; + ax = H; + aI = fp(aO, aq, as, aH) | 0; + aH = H; + as = fp(am, at, -1295615723, -1090935817) | 0; + aq = fp(as, H, aG, aL) | 0; + aL = fp(aq, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; + aq = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; + aL = H; + aG = aI & aE; + as = aH & aF; + aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ au ^ as) | 0; + au = H; + aA = fp(aq, aL, aM, aB) | 0; + aB = H; + aM = fp(aO, au, aq, aL) | 0; + aL = H; + aq = fp(ao, av, -479046869, -965641998) | 0; + au = fp(aq, H, aK, aP) | 0; + aP = fp(au, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; + au = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; + aP = H; + aK = aM & aI; + aq = aL & aH; + aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ as ^ aq) | 0; + as = H; + aG = fp(au, aP, aQ, az) | 0; + az = H; + aQ = fp(aO, as, au, aP) | 0; + aP = H; + au = fp((aD >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | i << 25) ^ (aD >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), aN, f) | 0; + f = fp(au, H, w, B) | 0; + au = fp(f, H, (at >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | at << 26) ^ (am >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | am >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; + f = H; + aN = fp((aJ >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | l << 25) ^ (aJ >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, i) | 0; + i = fp(aN, H, z, al) | 0; + aN = fp(i, H, (av >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | av << 26) ^ (ao >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | ao >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; + i = H; + aD = fp((e >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | o << 25) ^ (e >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, l) | 0; + l = fp(aD, H, b, an) | 0; + aD = fp(l, H, (f >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | f << 26) ^ (au >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | au >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; + l = H; + aJ = fp((h >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | r << 25) ^ (h >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, o) | 0; + o = fp(aJ, H, d, ap) | 0; + aJ = fp(o, H, (i >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | i << 26) ^ (aN >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aN >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; + o = H; + e = fp((k >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | u << 25) ^ (k >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, r) | 0; + r = fp(e, H, ak, ar) | 0; + e = fp(r, H, (l >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | l << 26) ^ (aD >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aD >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; + r = H; + h = fp((n >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | x << 25) ^ (n >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, u) | 0; + u = fp(h, H, am, at) | 0; + h = fp(u, H, (o >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | o << 26) ^ (aJ >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | aJ >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; + u = H; + k = fp((q >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | A << 25) ^ (q >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, x) | 0; + x = fp(k, H, ao, av) | 0; + k = fp(x, H, (r >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | r << 26) ^ (e >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | e >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; + x = H; + n = fp((t >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | c << 25) ^ (t >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, A) | 0; + A = fp(n, H, au, f) | 0; + n = fp(A, H, (u >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | u << 26) ^ (h >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | h >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; + A = H; + q = fp((w >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | B << 25) ^ (w >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, c) | 0; + c = fp(q, H, aN, i) | 0; + q = fp(c, H, (x >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | x << 26) ^ (k >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | k >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; + c = H; + t = fp((z >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | al << 25) ^ (z >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, B) | 0; + B = fp(t, H, aD, l) | 0; + t = fp(B, H, (A >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | A << 26) ^ (n >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | n >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; + B = H; + w = fp((b >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | an << 25) ^ (b >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, al) | 0; + al = fp(w, H, aJ, o) | 0; + w = fp(al, H, (c >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | c << 26) ^ (q >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | q >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; + al = H; + z = fp((d >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | ap << 25) ^ (d >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, an) | 0; + an = fp(z, H, e, r) | 0; + z = fp(an, H, (B >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | B << 26) ^ (t >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | t >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; + an = H; + b = fp((ak >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ar << 25) ^ (ak >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, ap) | 0; + ap = fp(b, H, h, u) | 0; + b = fp(ap, H, (al >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | al << 26) ^ (w >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | w >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; + ap = H; + d = fp((am >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | at << 25) ^ (am >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ar) | 0; + ar = fp(d, H, k, x) | 0; + d = fp(ar, H, (an >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | an << 26) ^ (z >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | z >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; + ar = H; + ak = fp(au, f, -366583396, -903397682) | 0; + as = fp(ak, H, aC, aw) | 0; + aw = fp(as, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; + as = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; + aw = H; + aC = aQ & aM; + ak = aP & aL; + aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aq ^ ak) | 0; + aq = H; + aK = fp(as, aw, aE, aF) | 0; + aF = H; + aE = fp(aO, aq, as, aw) | 0; + aw = H; + as = fp(aN, i, 566280711, -779700025) | 0; + i = fp(as, H, ay, ax) | 0; + ax = fp(i, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; + i = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; + ax = H; + ay = aE & aQ; + as = aw & aP; + aN = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ ak ^ as) | 0; + ak = H; + aC = fp(i, ax, aI, aH) | 0; + aH = H; + aI = fp(aN, ak, i, ax) | 0; + ax = H; + i = fp(aD, l, -840897762, -354779690) | 0; + l = fp(i, H, aA, aB) | 0; + aB = fp(l, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; + l = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; + aB = H; + aA = aI & aE; + i = ax & aw; + aD = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ as ^ i) | 0; + as = H; + ay = fp(l, aB, aM, aL) | 0; + aL = H; + aM = fp(aD, as, l, aB) | 0; + aB = H; + l = fp(aJ, o, -294727304, -176337025) | 0; + o = fp(l, H, aG, az) | 0; + az = fp(o, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; + o = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; + az = H; + aG = aM & aI; + l = aB & ax; + aJ = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ i ^ l) | 0; + i = H; + aA = fp(o, az, aQ, aP) | 0; + aP = H; + aQ = fp(aJ, i, o, az) | 0; + az = H; + o = fp(e, r, 1914138554, 116418474) | 0; + r = fp(o, H, aK, aF) | 0; + aF = fp(r, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; + r = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; + aF = H; + aK = aQ & aM; + o = az & aB; + e = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ l ^ o) | 0; + l = H; + aG = fp(r, aF, aE, aw) | 0; + aw = H; + aE = fp(e, l, r, aF) | 0; + aF = H; + r = fp(h, u, -1563912026, 174292421) | 0; + u = fp(r, H, aC, aH) | 0; + aH = fp(u, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; + u = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; + aH = H; + aC = aE & aQ; + r = aF & az; + h = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ o ^ r) | 0; + o = H; + aK = fp(u, aH, aI, ax) | 0; + ax = H; + aI = fp(h, o, u, aH) | 0; + aH = H; + u = fp(k, x, -1090974290, 289380356) | 0; + x = fp(u, H, ay, aL) | 0; + aL = fp(x, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; + x = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; + aL = H; + ay = aI & aE; + u = aH & aF; + k = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ r ^ u) | 0; + r = H; + aC = fp(x, aL, aM, aB) | 0; + aB = H; + aM = fp(k, r, x, aL) | 0; + aL = H; + x = fp(n, A, 320620315, 460393269) | 0; + r = fp(x, H, aA, aP) | 0; + aP = fp(r, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; + r = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; + aP = H; + aA = aM & aI; + x = aL & aH; + k = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ u ^ x) | 0; + u = H; + ay = fp(r, aP, aQ, az) | 0; + az = H; + aQ = fp(k, u, r, aP) | 0; + aP = H; + r = fp(q, c, 587496836, 685471733) | 0; + u = fp(r, H, aG, aw) | 0; + aw = fp(u, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; + u = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; + aw = H; + aG = aQ & aM; + r = aP & aL; + k = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ x ^ r) | 0; + x = H; + aA = fp(u, aw, aE, aF) | 0; + aF = H; + aE = fp(k, x, u, aw) | 0; + aw = H; + u = fp(t, B, 1086792851, 852142971) | 0; + B = fp(u, H, aK, ax) | 0; + ax = fp(B, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; + B = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; + ax = H; + aK = aE & aQ; + u = aw & aP; + t = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ r ^ u) | 0; + r = H; + aG = fp(B, ax, aI, aH) | 0; + aH = H; + aI = fp(t, r, B, ax) | 0; + ax = H; + B = fp(w, al, 365543100, 1017036298) | 0; + al = fp(B, H, aC, aB) | 0; + aB = fp(al, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; + al = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; + aB = H; + aC = aI & aE; + B = ax & aw; + w = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ u ^ B) | 0; + u = H; + aK = fp(al, aB, aM, aL) | 0; + aL = H; + aM = fp(w, u, al, aB) | 0; + aB = H; + al = fp(z, an, -1676669620, 1126000580) | 0; + an = fp(al, H, ay, az) | 0; + az = fp(an, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; + an = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; + az = H; + ay = aM & aI; + al = aB & ax; + z = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ B ^ al) | 0; + B = H; + aC = fp(an, az, aQ, aP) | 0; + aP = H; + aQ = fp(z, B, an, az) | 0; + az = H; + an = fp(b, ap, -885112138, 1288033470) | 0; + B = fp(an, H, aA, aF) | 0; + aF = fp(B, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; + B = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; + aF = H; + aA = aQ & aM; + an = az & aB; + z = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ al ^ an) | 0; + al = H; + ay = fp(B, aF, aE, aw) | 0; + aw = H; + aE = fp(z, al, B, aF) | 0; + aF = H; + B = fp(d, ar, -60457430, 1501505948) | 0; + al = fp(B, H, aG, aH) | 0; + aH = fp(al, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; + al = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; + aH = H; + aG = aE & aQ; + B = aF & az; + z = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ an ^ B) | 0; + an = H; + aA = fp(al, aH, aI, ax) | 0; + ax = H; + aI = fp(z, an, al, aH) | 0; + aH = H; + al = fp(am, at, 987167468, 1607167915) | 0; + at = fp(al, H, (ao >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | av << 25) ^ (ao >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1))) | 0; + al = fp(at, H, n, A) | 0; + A = fp(al, H, (ap >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | ap << 26) ^ (b >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | b >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; + b = fp(A, H, aK, aL) | 0; + aL = fp(b, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; + b = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; + aL = H; + aK = aI & aE; + A = aH & aF; + ap = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ B ^ A) | 0; + B = H; + aG = fp(b, aL, aM, aB) | 0; + aB = H; + aM = fp(ap, B, b, aL) | 0; + aL = H; + b = fp(ao, av, 1246189591, 1816402316) | 0; + av = fp(b, H, (au >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | f << 25) ^ (au >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1))) | 0; + au = fp(av, H, q, c) | 0; + c = fp(au, H, (ar >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ar << 26) ^ (d >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | d >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; + d = fp(c, H, aC, aP) | 0; + aP = fp(d, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; + d = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; + aP = H; + aC = fp(aM & (aI ^ aE) ^ aK, aL & (aH ^ aF) ^ A, S, R) | 0; + A = fp(aC, H, (aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7))) | 0; + aC = fp(A, H, d, aP) | 0; + A = H; + aK = fp(aM, aL, Q, P) | 0; + aL = H; + aM = fp(aI, aH, O, N) | 0; + aH = H; + aI = fp(aE, aF, M, L) | 0; + aF = H; + aE = fp(aQ, az, K, J) | 0; + az = fp(aE, H, d, aP) | 0; + aP = H; + d = fp(aG, aB, I, G) | 0; + aB = H; + aG = fp(aA, ax, F, E) | 0; + ax = H; + aA = fp(ay, aw, D, C) | 0; + aw = H; + ay = fp(U, T, -128, -1) | 0; + aE = H; + aQ = 0; + if (aE >>> 0 > aQ >>> 0 | aE >>> 0 == aQ >>> 0 & ay >>> 0 > 127 >>> 0) { + C = aw; + D = aA; + E = ax; + F = aG; + G = aB; + I = d; + J = aP; + K = az; + L = aF; + M = aI; + N = aH; + O = aM; + P = aL; + Q = aK; + R = A; + S = aC; + T = aE; + U = ay; + V = V + 128 | 0; + } else { + W = aw; + X = aA; + Y = ax; + Z = aG; + _ = aB; + $ = d; + aa = aP; + ab = az; + ac = aF; + ad = aI; + ae = aH; + af = aM; + ag = aL; + ah = aK; + ai = A; + aj = aC; + break; + } + } + bX(a, aj, ai); + bX(g, ah, ag); + bX(j, af, ae); + bX(m, ad, ac); + bX(p, ab, aa); + bX(s, $, _); + bX(v, Z, Y); + bX(y, X, W); + return 0; +} +function bW(a) { + a = a | 0; + var b = 0, c = 0, e = 0; + b = d[a + 6 | 0] | 0; + c = d[a + 5 | 0] | 0; + e = d[a + 4 | 0] | 0; + return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 3 | 0] | 0) | ((d[a + 2 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 1 | 0] | 0) << 16 | 0 >>> 16) | ((d[a] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a + 7 | 0] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; +} +function bX(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + a[b + 7 | 0] = c & 255; + a[b + 6 | 0] = (c >>> 8 | d << 24) & 255; + a[b + 5 | 0] = (c >>> 16 | d << 16) & 255; + a[b + 4 | 0] = (c >>> 24 | d << 8) & 255; + a[b + 3 | 0] = d & 255; + a[b + 2 | 0] = (d >>> 8 | 0 << 24) & 255; + a[b + 1 | 0] = (d >>> 16 | 0 << 16) & 255; + a[b] = (d >>> 24 | 0 << 8) & 255; + return; +} +function bY(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + d = 0; + e = 0; + while (1) { + f = a + (d << 2) | 0; + g = (c[f >> 2] | 0) + e + (c[b + (d << 2) >> 2] | 0) | 0; + c[f >> 2] = g & 255; + f = d + 1 | 0; + if (f >>> 0 < 17) { + d = f; + e = g >>> 8; + } else { + break; + } + } + return; +} +function bZ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = c[a >> 2] | 0; + c[a >> 2] = b & 255; + d = a + 4 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 8 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 12 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 16 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 20 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 24 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 28 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 32 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 36 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 40 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 44 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 48 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 52 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 56 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 255; + d = a + 60 | 0; + e = (c[d >> 2] | 0) + (b >>> 8) | 0; + c[d >> 2] = e & 255; + d = a + 64 | 0; + b = (c[d >> 2] | 0) + (e >>> 8) | 0; + c[d >> 2] = b & 3; + e = (c[a >> 2] | 0) + ((b >>> 2) * 5 | 0) | 0; + c[a >> 2] = e & 255; + b = a + 4 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 8 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 12 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 16 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 20 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 24 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 28 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 32 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 36 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 40 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 44 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 48 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 52 | 0; + f = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = f & 255; + b = a + 56 | 0; + e = (c[b >> 2] | 0) + (f >>> 8) | 0; + c[b >> 2] = e & 255; + b = a + 60 | 0; + a = (c[b >> 2] | 0) + (e >>> 8) | 0; + c[b >> 2] = a & 255; + c[d >> 2] = (c[d >> 2] | 0) + (a >>> 8); + return; +} +function b_(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; + j = i; + i = i + 144 | 0; + k = j | 0; + l = j + 72 | 0; + m = i; + i = i + 68 | 0; + i = i + 7 >> 3 << 3; + n = k | 0; + c[n >> 2] = d[h] | 0; + c[k + 4 >> 2] = d[h + 1 | 0] | 0; + c[k + 8 >> 2] = d[h + 2 | 0] | 0; + c[k + 12 >> 2] = a[h + 3 | 0] & 15; + c[k + 16 >> 2] = a[h + 4 | 0] & 252; + c[k + 20 >> 2] = d[h + 5 | 0] | 0; + c[k + 24 >> 2] = d[h + 6 | 0] | 0; + c[k + 28 >> 2] = a[h + 7 | 0] & 15; + c[k + 32 >> 2] = a[h + 8 | 0] & 252; + c[k + 36 >> 2] = d[h + 9 | 0] | 0; + c[k + 40 >> 2] = d[h + 10 | 0] | 0; + c[k + 44 >> 2] = a[h + 11 | 0] & 15; + c[k + 48 >> 2] = a[h + 12 | 0] & 252; + c[k + 52 >> 2] = d[h + 13 | 0] | 0; + c[k + 56 >> 2] = d[h + 14 | 0] | 0; + c[k + 60 >> 2] = a[h + 15 | 0] & 15; + c[k + 64 >> 2] = 0; + fm(l | 0, 0, 68); + k = m; + if (!((f | 0) == 0 & (g | 0) == 0)) { + o = l | 0; + p = m | 0; + q = g; + g = f; + f = e; + while (1) { + fm(k | 0, 0, 68); + if ((g | 0) == 0 & (q | 0) == 0) { + r = 0; + s = 0; + t = 0; + } else { + e = 0; + while (1) { + c[m + (e << 2) >> 2] = d[f + e | 0] | 0; + u = e + 1 | 0; + v = u; + w = 0; + if (u >>> 0 < 16 & (w >>> 0 < q >>> 0 | w >>> 0 == q >>> 0 & v >>> 0 < g >>> 0)) { + e = u; + } else { + r = u; + s = w; + t = v; + break; + } + } + } + c[m + (r << 2) >> 2] = 1; + e = fq(g, q, t, s) | 0; + v = H; + bY(o, p); + b$(o, n); + if ((g | 0) == (t | 0) & (q | 0) == (s | 0)) { + break; + } else { + q = v; + g = e; + f = f + r | 0; + } + } + } + r = l | 0; + b0(r); + c[m >> 2] = d[h + 16 | 0] | 0; + c[m + 4 >> 2] = d[h + 17 | 0] | 0; + c[m + 8 >> 2] = d[h + 18 | 0] | 0; + c[m + 12 >> 2] = d[h + 19 | 0] | 0; + c[m + 16 >> 2] = d[h + 20 | 0] | 0; + c[m + 20 >> 2] = d[h + 21 | 0] | 0; + c[m + 24 >> 2] = d[h + 22 | 0] | 0; + c[m + 28 >> 2] = d[h + 23 | 0] | 0; + c[m + 32 >> 2] = d[h + 24 | 0] | 0; + c[m + 36 >> 2] = d[h + 25 | 0] | 0; + c[m + 40 >> 2] = d[h + 26 | 0] | 0; + c[m + 44 >> 2] = d[h + 27 | 0] | 0; + c[m + 48 >> 2] = d[h + 28 | 0] | 0; + c[m + 52 >> 2] = d[h + 29 | 0] | 0; + c[m + 56 >> 2] = d[h + 30 | 0] | 0; + c[m + 60 >> 2] = d[h + 31 | 0] | 0; + c[m + 64 >> 2] = 0; + bY(r, m | 0); + a[b] = c[l >> 2] & 255; + a[b + 1 | 0] = c[l + 4 >> 2] & 255; + a[b + 2 | 0] = c[l + 8 >> 2] & 255; + a[b + 3 | 0] = c[l + 12 >> 2] & 255; + a[b + 4 | 0] = c[l + 16 >> 2] & 255; + a[b + 5 | 0] = c[l + 20 >> 2] & 255; + a[b + 6 | 0] = c[l + 24 >> 2] & 255; + a[b + 7 | 0] = c[l + 28 >> 2] & 255; + a[b + 8 | 0] = c[l + 32 >> 2] & 255; + a[b + 9 | 0] = c[l + 36 >> 2] & 255; + a[b + 10 | 0] = c[l + 40 >> 2] & 255; + a[b + 11 | 0] = c[l + 44 >> 2] & 255; + a[b + 12 | 0] = c[l + 48 >> 2] & 255; + a[b + 13 | 0] = c[l + 52 >> 2] & 255; + a[b + 14 | 0] = c[l + 56 >> 2] & 255; + a[b + 15 | 0] = c[l + 60 >> 2] & 255; + i = j; + return 0; +} +function b$(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + d = i; + i = i + 72 | 0; + e = d | 0; + f = 0; + while (1) { + g = 0; + h = 0; + do { + h = (ad(c[b + (f - g << 2) >> 2] | 0, c[a + (g << 2) >> 2] | 0) | 0) + h | 0; + g = g + 1 | 0; + } while (g >>> 0 <= f >>> 0); + g = f + 1 | 0; + if (g >>> 0 >= 17) { + break; + } + j = f + 17 | 0; + k = g; + l = h; + do { + l = (ad((c[a + (k << 2) >> 2] | 0) * 320 | 0, c[b + (j - k << 2) >> 2] | 0) | 0) + l | 0; + k = k + 1 | 0; + } while (k >>> 0 < 17); + c[e + (f << 2) >> 2] = l; + if (g >>> 0 < 17) { + f = g; + } else { + m = 124; + break; + } + } + if ((m | 0) == 124) { + n = a; + o = e; + fn(n | 0, o | 0, 68) | 0; + bZ(a); + i = d; + return; + } + c[e + (f << 2) >> 2] = h; + n = a; + o = e; + fn(n | 0, o | 0, 68) | 0; + bZ(a); + i = d; + return; +} +function b0(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + b = i; + d = a; + e = i; + i = i + 68 | 0; + i = i + 7 >> 3 << 3; + f = e; + fn(f | 0, d | 0, 68) | 0; + bY(a, 792); + d = -((c[a + 64 >> 2] | 0) >>> 7) | 0; + f = 0; + do { + g = a + (f << 2) | 0; + h = c[g >> 2] | 0; + c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; + f = f + 1 | 0; + } while (f >>> 0 < 17); + i = b; + return; +} +function b1(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 16 | 0; + g = f | 0; + b_(g, b, c, d, e) | 0; + e = ed(a, g) | 0; + i = f; + return e | 0; +} +function b2(a, b) { + a = a | 0; + b = b | 0; + return b3(a, b, 111576) | 0; +} +function b3(b, e, f) { + b = b | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, j = 0, k = 0; + g = i; + i = i + 416 | 0; + h = g | 0; + j = g + 384 | 0; + k = j | 0; + fn(k | 0, e | 0, 32) | 0; + e = j | 0; + a[e] = a[e] & -8; + k = j + 31 | 0; + a[k] = a[k] & 63 | 64; + k = 0; + do { + c[h + (k << 2) >> 2] = d[f + k | 0] | 0; + k = k + 1 | 0; + } while (k >>> 0 < 32); + k = h | 0; + b4(k, e); + e = h + 128 | 0; + b5(e, e); + f = h + 256 | 0; + cf(f, k, e); + cg(f); + f = 0; + do { + a[b + f | 0] = c[h + (f + 64 << 2) >> 2] & 255; + f = f + 1 | 0; + } while (f >>> 0 < 32); + i = g; + return 0; +} +function b4(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; + e = i; + f = a; + g = i; + i = i + 256 | 0; + h = g; + j = i; + i = i + 256 | 0; + k = i; + i = i + 256 | 0; + l = i; + i = i + 256 | 0; + m = i; + i = i + 256 | 0; + n = i; + i = i + 256 | 0; + o = i; + i = i + 256 | 0; + p = i; + i = i + 256 | 0; + q = i; + i = i + 256 | 0; + r = i; + i = i + 256 | 0; + s = i; + i = i + 256 | 0; + t = i; + i = i + 128 | 0; + u = i; + i = i + 128 | 0; + v = i; + i = i + 128 | 0; + w = i; + i = i + 128 | 0; + fn(h | 0, f | 0, 128) | 0; + h = j; + c[g + 128 >> 2] = 1; + fm(g + 132 | 0, 0, 124); + x = j | 0; + c[x >> 2] = 1; + fm(j + 4 | 0, 0, 252); + j = k | 0; + y = l | 0; + z = g | 0; + g = o | 0; + A = k + 128 | 0; + k = o + 128 | 0; + o = p | 0; + B = l + 128 | 0; + l = p + 128 | 0; + p = q | 0; + C = q + 128 | 0; + q = r | 0; + D = r + 128 | 0; + r = s | 0; + E = s + 128 | 0; + s = t | 0; + t = u | 0; + u = v | 0; + v = w | 0; + w = m | 0; + F = m + 128 | 0; + m = n | 0; + G = n + 128 | 0; + n = 254; + while (1) { + H = (d[b + ((n | 0) / 8 | 0) | 0] | 0) >>> ((n & 7) >>> 0) & 1; + ca(j, y, x, z, H); + b8(g, j, A); + cb(k, j, A); + b8(o, y, B); + cb(l, y, B); + ch(p, g); + ch(C, k); + cf(q, o, k); + cf(D, l, g); + b8(r, q, D); + cb(E, q, D); + ch(s, E); + cb(t, p, C); + cc(u, t); + b8(v, u, p); + cf(w, p, C); + cf(F, t, v); + ch(m, r); + cf(G, s, a); + ca(x, z, w, m, H); + if ((n | 0) > 0) { + n = n - 1 | 0; + } else { + break; + } + } + fn(f | 0, h | 0, 256) | 0; + i = e; + return; +} +function b5(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + c = i; + i = i + 1280 | 0; + d = c + 896 | 0; + e = c | 0; + ch(e, b); + f = c + 1152 | 0; + ch(f, e); + g = c + 1024 | 0; + ch(g, f); + h = c + 128 | 0; + cf(h, g, b); + b = c + 256 | 0; + cf(b, h, e); + ch(g, b); + e = c + 384 | 0; + cf(e, g, h); + ch(g, e); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + h = c + 512 | 0; + cf(h, g, e); + ch(g, h); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + e = c + 640 | 0; + cf(e, f, h); + ch(g, e); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + cf(g, f, e); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + e = c + 768 | 0; + cf(e, g, h); + ch(g, e); + ch(f, g); + h = 2; + do { + ch(g, f); + ch(f, g); + h = h + 2 | 0; + } while ((h | 0) < 50); + h = d | 0; + cf(h, f, e); + ch(f, h); + ch(g, f); + d = 2; + do { + ch(f, g); + ch(g, f); + d = d + 2 | 0; + } while ((d | 0) < 100); + cf(f, g, h); + ch(g, f); + ch(f, g); + h = 2; + do { + ch(g, f); + ch(f, g); + h = h + 2 | 0; + } while ((h | 0) < 50); + cf(g, f, e); + ch(f, g); + ch(g, f); + ch(f, g); + ch(g, f); + ch(f, g); + cf(a, f, b); + i = c; + return; +} +function b6(a, b) { + a = a | 0; + b = b | 0; + return ((b ^ a) - 1 | 0) >>> 31 | 0; +} +function b7(a) { + a = a | 0; + return (a - 237 | 0) >>> 31 ^ 1 | 0; +} +function b8(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = 0; + f = 0; + do { + g = (c[b + (e << 2) >> 2] | 0) + f + (c[d + (e << 2) >> 2] | 0) | 0; + c[a + (e << 2) >> 2] = g & 255; + f = g >>> 8; + e = e + 1 | 0; + } while (e >>> 0 < 31); + c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f + (c[d + 124 >> 2] | 0); + return; +} +function b9(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = 0; + d = 0; + do { + e = a + (b << 2) | 0; + f = (c[e >> 2] | 0) + d | 0; + c[e >> 2] = f & 255; + d = f >>> 8; + b = b + 1 | 0; + } while (b >>> 0 < 31); + b = a + 124 | 0; + f = (c[b >> 2] | 0) + d | 0; + c[b >> 2] = f & 127; + d = 0; + e = (f >>> 7) * 19 | 0; + do { + f = a + (d << 2) | 0; + g = (c[f >> 2] | 0) + e | 0; + c[f >> 2] = g & 255; + e = g >>> 8; + d = d + 1 | 0; + } while (d >>> 0 < 31); + c[b >> 2] = (c[b >> 2] | 0) + e; + return; +} +function ca(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0; + g = f - 1 | 0; + f = 0; + do { + h = d + (f << 2) | 0; + i = c[e + (f << 2) >> 2] | 0; + j = (i ^ c[h >> 2]) & g; + c[a + (f << 2) >> 2] = j ^ i; + c[b + (f << 2) >> 2] = j ^ c[h >> 2]; + f = f + 1 | 0; + } while (f >>> 0 < 64); + return; +} +function cb(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = 0; + f = 218; + do { + g = f + 65280 + (c[b + (e << 2) >> 2] | 0) - (c[d + (e << 2) >> 2] | 0) | 0; + c[a + (e << 2) >> 2] = g & 255; + f = g >>> 8; + e = e + 1 | 0; + } while (e >>> 0 < 31); + c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f - (c[d + 124 >> 2] | 0); + return; +} +function cc(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = 0; + e = 0; + do { + f = ((c[b + (d << 2) >> 2] | 0) * 121665 | 0) + e | 0; + c[a + (d << 2) >> 2] = f & 255; + e = f >>> 8; + d = d + 1 | 0; + } while (d >>> 0 < 31); + d = ((c[b + 124 >> 2] | 0) * 121665 | 0) + e | 0; + c[a + 124 >> 2] = d & 127; + e = 0; + b = a; + f = (c[a >> 2] | 0) + ((d >>> 7) * 19 | 0) | 0; + do { + c[b >> 2] = f & 255; + e = e + 1 | 0; + b = a + (e << 2) | 0; + f = (c[b >> 2] | 0) + (f >>> 8) | 0; + } while (e >>> 0 < 31); + c[a + 124 >> 2] = f; + return; +} +function cd(a, b) { + a = a | 0; + b = b | 0; + var e = 0; + e = 0; + do { + c[a + (e << 2) >> 2] = d[b + e | 0] | 0; + e = e + 1 | 0; + } while ((e | 0) < 32); + e = a + 124 | 0; + c[e >> 2] = c[e >> 2] & 127; + return; +} +function ce(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = -(d & 255) | 0; + d = 0; + do { + f = a + (d << 2) | 0; + g = c[f >> 2] | 0; + c[f >> 2] = (g ^ c[b + (d << 2) >> 2]) & e ^ g; + d = d + 1 | 0; + } while ((d | 0) < 32); + return; +} +function cf(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + e = 0; + while (1) { + f = 0; + g = 0; + do { + g = (ad(c[d + (e - f << 2) >> 2] | 0, c[b + (f << 2) >> 2] | 0) | 0) + g | 0; + f = f + 1 | 0; + } while (f >>> 0 <= e >>> 0); + f = e + 1 | 0; + if (f >>> 0 >= 32) { + break; + } + h = e + 32 | 0; + i = f; + j = g; + do { + j = (ad((c[b + (i << 2) >> 2] | 0) * 38 | 0, c[d + (h - i << 2) >> 2] | 0) | 0) + j | 0; + i = i + 1 | 0; + } while (i >>> 0 < 32); + c[a + (e << 2) >> 2] = j; + if (f >>> 0 < 32) { + e = f; + } else { + k = 182; + break; + } + } + if ((k | 0) == 182) { + b9(a); + return; + } + c[a + (e << 2) >> 2] = g; + b9(a); + return; +} +function cg(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + b = i; + d = a; + e = i; + i = i + 128 | 0; + f = e; + fn(f | 0, d | 0, 128) | 0; + b8(a, a, 664); + d = -((c[a + 124 >> 2] | 0) >>> 7 & 1) | 0; + f = 0; + do { + g = a + (f << 2) | 0; + h = c[g >> 2] | 0; + c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; + f = f + 1 | 0; + } while (f >>> 0 < 32); + i = b; + return; +} +function ch(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + d = 0; + while (1) { + if ((d | 0) == 0) { + e = 0; + f = 1; + g = 32; + h = 190; + } else { + i = 0; + j = 0; + k = d; + do { + j = (ad(c[b + (k << 2) >> 2] | 0, c[b + (i << 2) >> 2] | 0) | 0) + j | 0; + i = i + 1 | 0; + k = d - i | 0; + } while (i >>> 0 < k >>> 0); + k = d + 1 | 0; + if (k >>> 0 < 31) { + e = j; + f = k; + g = d + 32 | 0; + h = 190; + } else { + l = j; + m = k; + } + } + if ((h | 0) == 190) { + h = 0; + k = f; + i = e; + n = 31; + while (1) { + o = (ad((c[b + (k << 2) >> 2] | 0) * 38 | 0, c[b + (n << 2) >> 2] | 0) | 0) + i | 0; + p = k + 1 | 0; + q = g + ~k | 0; + if (p >>> 0 < q >>> 0) { + k = p; + i = o; + n = q; + } else { + l = o; + m = f; + break; + } + } + } + n = l << 1; + if ((d & 1 | 0) == 0) { + i = d >>> 1; + k = c[b + (i << 2) >> 2] | 0; + j = (ad(k, k) | 0) + n | 0; + k = c[b + (i + 16 << 2) >> 2] | 0; + r = j + (ad(k * 38 | 0, k) | 0) | 0; + } else { + r = n; + } + c[a + (d << 2) >> 2] = r; + if (m >>> 0 < 32) { + d = m; + } else { + break; + } + } + b9(a); + return; +} +function ci(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = 0; + if (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & c >>> 0 < 32 >>> 0) { + h = -1; + return h | 0; + } + el(a, b, c, d, e, f) | 0; + f = fp(c, d, -32, -1) | 0; + b_(a + 16 | 0, a + 32 | 0, f, H, a) | 0; + fm(a | 0, 0, 16); + h = 0; + return h | 0; +} +function cj(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, j = 0, k = 0; + g = i; + i = i + 32 | 0; + h = 0; + if (d >>> 0 < h >>> 0 | d >>> 0 == h >>> 0 & c >>> 0 < 32 >>> 0) { + j = -1; + i = g; + return j | 0; + } + h = g | 0; + ek(h, 32, 0, e, f) | 0; + k = fp(c, d, -32, -1) | 0; + if ((b1(b + 16 | 0, b + 32 | 0, k, H, h) | 0) != 0) { + j = -1; + i = g; + return j | 0; + } + el(a, b, c, d, e, f) | 0; + fm(a | 0, 0, 32); + j = 0; + i = g; + return j | 0; +} +function ck(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; + d = i; + i = i + 704 | 0; + e = d | 0; + f = d + 128 | 0; + g = d + 640 | 0; + at(c | 0, 32, 0); + h = g | 0; + bR(h, c, 32, 0) | 0; + a[h] = a[h] & -8; + j = g + 31 | 0; + a[j] = a[j] & 63 | 64; + cV(e, h); + cR(f, e); + cJ(b, f); + f = 0; + do { + a[c + (f + 32) | 0] = a[b + f | 0] | 0; + f = f + 1 | 0; + } while ((f | 0) < 32); + i = d; + return 0; +} +function cl(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + j = i; + i = i + 928 | 0; + k = j | 0; + l = j + 128 | 0; + m = j + 256 | 0; + n = j + 384 | 0; + o = j + 896 | 0; + p = o | 0; + q = i; + i = i + 32 | 0; + r = q | 0; + s = i; + i = i + 64 | 0; + t = i; + i = i + 64 | 0; + u = i; + i = i + 64 | 0; + v = s | 0; + bR(v, h, 32, 0) | 0; + a[v] = a[v] & -8; + w = s + 31 | 0; + a[w] = a[w] & 63 | 64; + w = fp(f, g, 64, 0) | 0; + x = H; + c[d >> 2] = w; + c[d + 4 >> 2] = x; + if (!((f | 0) == 0 & (g | 0) == 0)) { + d = 0; + y = 0; + do { + z = a[e + y | 0] | 0; + A = fp(y, d, 64, 0) | 0; + a[b + A | 0] = z; + y = fp(y, d, 1, 0) | 0; + d = H; + } while (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & y >>> 0 < f >>> 0); + } + y = b + 32 | 0; + d = s + 32 | 0; + fn(y | 0, d | 0, 32) | 0; + d = t | 0; + t = fp(f, g, 32, 0) | 0; + bR(d, b + 32 | 0, t, H) | 0; + c7(k, d); + cR(n, k); + cJ(o | 0, n); + fn(b | 0, p | 0, 32) | 0; + p = u | 0; + cm(p, b, h + 32 | 0, b, w, x); + c7(l, p); + cV(m, v); + db(l, l, m); + c9(l, l, k); + cY(q | 0, l); + l = b + 32 | 0; + fn(l | 0, r | 0, 32) | 0; + i = j; + return 0; +} +function cm(b, c, d, e, f, g) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + h = 0; + i = 0; + while (1) { + j = i; + a[e + j | 0] = a[c + j | 0] | 0; + j = fp(i, h, 1, 0) | 0; + k = H; + l = 0; + if (k >>> 0 < l >>> 0 | k >>> 0 == l >>> 0 & j >>> 0 < 32 >>> 0) { + h = k; + i = j; + } else { + m = 0; + n = 32; + break; + } + } + do { + i = fp(n, m, -32, 0) | 0; + a[e + n | 0] = a[d + i | 0] | 0; + n = fp(n, m, 1, 0) | 0; + m = H; + i = 0; + } while (m >>> 0 < i >>> 0 | m >>> 0 == i >>> 0 & n >>> 0 < 64 >>> 0); + n = 0; + if (g >>> 0 > n >>> 0 | g >>> 0 == n >>> 0 & f >>> 0 > 64 >>> 0) { + o = 0; + p = 64; + } else { + q = bR(b, e, f, g) | 0; + return; + } + do { + n = p; + a[e + n | 0] = a[c + n | 0] | 0; + p = fp(p, o, 1, 0) | 0; + o = H; + } while (o >>> 0 < g >>> 0 | o >>> 0 == g >>> 0 & p >>> 0 < f >>> 0); + q = bR(b, e, f, g) | 0; + return; +} +function cn(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + j = i; + i = i + 1376 | 0; + k = j + 32 | 0; + l = j + 544 | 0; + m = j + 1056 | 0; + n = j + 1184 | 0; + c[d >> 2] = -1; + c[d + 4 >> 2] = -1; + o = 0; + if (g >>> 0 < o >>> 0 | g >>> 0 == o >>> 0 & f >>> 0 < 64 >>> 0) { + p = -1; + i = j; + return p | 0; + } + if ((cI(k, h) | 0) != 0) { + p = -1; + i = j; + return p | 0; + } + o = j + 1312 | 0; + cm(o, e, h, b, f, g); + c7(m, o); + cV(n, e + 32 | 0); + cL(l, k, m, 111064, n); + n = j | 0; + cJ(n, l); + l = em(e, n) | 0; + if ((l | 0) == 0) { + n = fp(f, g, -64, -1) | 0; + m = H; + if (!((n | 0) == 0 & (m | 0) == 0)) { + k = 0; + do { + a[b + k | 0] = a[e + (k + 64) | 0] | 0; + k = k + 1 | 0; + o = (k | 0) < 0 ? -1 : 0; + } while (o >>> 0 < m >>> 0 | o >>> 0 == m >>> 0 & k >>> 0 < n >>> 0); + } + c[d >> 2] = n; + c[d + 4 >> 2] = m; + p = l; + i = j; + return p | 0; + } else { + if ((f | 0) == 64 & (g | 0) == 0) { + p = l; + i = j; + return p | 0; + } + m = fp(f, g, -65, 0) | 0; + fm(b | 0, 0, m + 1 | 0); + p = l; + i = j; + return p | 0; + } + return 0; +} +function co(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = 30; + e = b6(c[b >> 2] | 0, 127) | 0; + do { + e = (b6(c[a + (d << 2) >> 2] | 0, 255) | 0) & e; + d = d - 1 | 0; + } while ((d | 0) > 0); + d = a | 0; + f = -((b7(c[d >> 2] | 0) | 0) & e) | 0; + c[b >> 2] = (c[b >> 2] | 0) - (f & 127); + b = f & 255; + e = 30; + do { + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) - b; + e = e - 1 | 0; + } while ((e | 0) > 0); + c[d >> 2] = (c[d >> 2] | 0) - (f & 237); + return; +} +function cp(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = i; + i = i + 128 | 0; + f = e | 0; + g = f; + h = d; + fn(g | 0, h | 0, 128) | 0; + co(f); + h = 0; + do { + a[b + h | 0] = c[f + (h << 2) >> 2] & 255; + h = h + 1 | 0; + } while ((h | 0) < 32); + i = e; + return; +} +function cq(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = i; + i = i + 128 | 0; + d = b | 0; + e = d; + f = a; + fn(e | 0, f | 0, 128) | 0; + co(d); + f = 1; + e = b6(c[d >> 2] | 0, 0) | 0; + do { + e = (b6(c[d + (f << 2) >> 2] | 0, 0) | 0) & e; + f = f + 1 | 0; + } while ((f | 0) < 32); + i = b; + return e | 0; +} +function cr(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; + d = i; + i = i + 256 | 0; + e = d | 0; + f = d + 128 | 0; + g = e; + h = a; + fn(g | 0, h | 0, 128) | 0; + h = f; + g = b; + fn(h | 0, g | 0, 128) | 0; + co(e); + co(f); + g = 0; + while (1) { + if ((g | 0) >= 32) { + j = 1; + k = 252; + break; + } + if ((c[e + (g << 2) >> 2] | 0) == (c[f + (g << 2) >> 2] | 0)) { + g = g + 1 | 0; + } else { + j = 0; + k = 251; + break; + } + } + if ((k | 0) == 251) { + i = d; + return j | 0; + } else if ((k | 0) == 252) { + i = d; + return j | 0; + } + return 0; +} +function cs(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0; + b = i; + i = i + 128 | 0; + d = b | 0; + e = d; + f = a; + fn(e | 0, f | 0, 128) | 0; + co(d); + i = b; + return c[d >> 2] & 1 | 0; +} +function ct(a) { + a = a | 0; + c[a >> 2] = 1; + fm(a + 4 | 0, 0, 124); + return; +} +function cu(a) { + a = a | 0; + fm(a | 0, 0, 128); + return; +} +function cv(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = i; + d = b; + b = i; + i = i + 128 | 0; + e = b; + fn(e | 0, d | 0, 128) | 0; + cu(a); + cw(a, a, b); + i = c; + return; +} +function cw(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0; + e = i; + i = i + 128 | 0; + f = e | 0; + c[f >> 2] = (c[b >> 2] | 0) + 474; + c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; + g = 1; + while (1) { + c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; + h = g + 1 | 0; + if ((h | 0) < 31) { + g = h; + } else { + j = 0; + break; + } + } + do { + c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); + j = j + 1 | 0; + } while ((j | 0) < 32); + cC(a); + i = e; + return; +} +function cx(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = 0; + do { + c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); + e = e + 1 | 0; + } while ((e | 0) < 32); + cC(a); + return; +} +function cy(a) { + a = a | 0; + return a * 38 | 0 | 0; +} +function cz(a) { + a = a | 0; + return a * 19 | 0 | 0; +} +function cA(a, b) { + a = a | 0; + b = b | 0; + return (((b ^ a) & 255) - 1 | 0) >>> 31 & 255 | 0; +} +function cB(a) { + a = a | 0; + return ((a << 24 >> 24 < 0 ? -1 : 0) >>> 31 | 0 << 1) & 255 | 0; +} +function cC(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = a | 0; + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + f = cz(e >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + f; + f = 0; + do { + e = a + (f << 2) | 0; + f = f + 1 | 0; + g = a + (f << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((f | 0) < 31); + f = c[b >> 2] | 0; + c[b >> 2] = f & 127; + e = cz(f >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + e; + e = 0; + do { + f = a + (e << 2) | 0; + e = e + 1 | 0; + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); + c[f >> 2] = c[f >> 2] & 255; + } while ((e | 0) < 31); + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + f = cz(e >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + f; + f = 0; + do { + e = a + (f << 2) | 0; + f = f + 1 | 0; + g = a + (f << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((f | 0) < 31); + f = c[b >> 2] | 0; + c[b >> 2] = f & 127; + b = cz(f >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + b; + b = 0; + do { + d = a + (b << 2) | 0; + b = b + 1 | 0; + f = a + (b << 2) | 0; + c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); + c[d >> 2] = c[d >> 2] & 255; + } while ((b | 0) < 31); + return; +} +function cD(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 252); + g = 0; + while (1) { + h = c[b + (g << 2) >> 2] | 0; + j = 0; + do { + k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; + l = f + (j + g << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + k; + j = j + 1 | 0; + } while ((j | 0) < 32); + j = g + 1 | 0; + if ((j | 0) < 32) { + g = j; + } else { + m = 32; + break; + } + } + do { + g = m - 32 | 0; + d = c[f + (g << 2) >> 2] | 0; + c[a + (g << 2) >> 2] = (cy(c[f + (m << 2) >> 2] | 0) | 0) + d; + m = m + 1 | 0; + } while ((m | 0) < 63); + c[a + 124 >> 2] = c[f + 124 >> 2]; + cE(a); + i = e; + return; +} +function cE(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = a | 0; + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + f = cz(e >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + f; + f = 0; + do { + e = a + (f << 2) | 0; + f = f + 1 | 0; + g = a + (f << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((f | 0) < 31); + f = c[b >> 2] | 0; + c[b >> 2] = f & 127; + b = cz(f >>> 7) | 0; + c[d >> 2] = (c[d >> 2] | 0) + b; + b = 0; + do { + d = a + (b << 2) | 0; + b = b + 1 | 0; + f = a + (b << 2) | 0; + c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); + c[d >> 2] = c[d >> 2] & 255; + } while ((b | 0) < 31); + return; +} +function cF(a, b) { + a = a | 0; + b = b | 0; + cD(a, b, b); + return; +} +function cG(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + c = i; + i = i + 1280 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = c + 512 | 0; + j = c + 640 | 0; + k = c + 768 | 0; + l = c + 896 | 0; + m = c + 1024 | 0; + n = c + 1152 | 0; + cF(d, b); + cF(n, d); + cF(m, n); + cD(e, m, b); + cD(f, e, d); + cF(m, f); + cD(g, m, e); + cF(m, g); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cD(h, m, g); + cF(m, h); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cD(j, n, h); + cF(m, j); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cD(m, n, j); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cD(k, m, h); + cF(m, k); + cF(n, m); + h = 2; + do { + cF(m, n); + cF(n, m); + h = h + 2 | 0; + } while ((h | 0) < 50); + cD(l, n, k); + cF(n, l); + cF(m, n); + h = 2; + do { + cF(n, m); + cF(m, n); + h = h + 2 | 0; + } while ((h | 0) < 100); + cD(n, m, l); + cF(m, n); + cF(n, m); + l = 2; + do { + cF(m, n); + cF(n, m); + l = l + 2 | 0; + } while ((l | 0) < 50); + cD(m, n, k); + cF(n, m); + cF(m, n); + cF(n, m); + cF(m, n); + cF(n, m); + cD(a, n, f); + i = c; + return; +} +function cH(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + c = i; + i = i + 1152 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = c + 512 | 0; + j = c + 640 | 0; + k = c + 768 | 0; + l = c + 896 | 0; + m = c + 1024 | 0; + cF(d, b); + cF(m, d); + cF(m, m); + cD(e, m, b); + cD(f, e, d); + cF(m, f); + cD(g, m, e); + cF(m, g); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cD(h, m, g); + cF(m, h); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cD(j, m, h); + cF(m, j); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cD(m, m, j); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cF(m, m); + cD(k, m, h); + cF(m, k); + h = 1; + do { + cF(m, m); + h = h + 1 | 0; + } while ((h | 0) < 50); + cD(l, m, k); + cF(m, l); + h = 1; + do { + cF(m, m); + h = h + 1 | 0; + } while ((h | 0) < 100); + cD(m, m, l); + cF(m, m); + l = 1; + do { + cF(m, m); + l = l + 1 | 0; + } while ((l | 0) < 50); + cD(m, m, k); + cF(m, m); + cF(m, m); + cD(a, m, b); + i = c; + return; +} +function cI(a, b) { + a = a | 0; + b = b | 0; + var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + c = i; + i = i + 896 | 0; + e = c | 0; + f = c + 128 | 0; + g = c + 256 | 0; + h = c + 384 | 0; + j = c + 512 | 0; + k = c + 640 | 0; + l = c + 768 | 0; + m = a + 256 | 0; + ct(m); + n = (d[b + 31 | 0] | 0) >>> 7; + o = a + 128 | 0; + cd(o, b); + cF(g, o); + cD(h, g, 1592); + cw(g, g, m); + cx(h, m, h); + cF(j, h); + cF(k, j); + cD(l, k, j); + cD(e, l, g); + cD(e, e, h); + cH(e, e); + cD(e, e, g); + cD(e, e, h); + cD(e, e, h); + l = a | 0; + cD(l, e, h); + cF(f, l); + cD(f, f, h); + if ((cr(f, g) | 0) == 0) { + cD(l, l, 1400); + } + cF(f, l); + cD(f, f, h); + if ((cr(f, g) | 0) == 0) { + p = -1; + i = c; + return p | 0; + } + if (((cs(l) | 0) & 255 | 0) != (n & 255 ^ 1 | 0)) { + cv(l, l); + } + cD(a + 384 | 0, l, o); + p = 0; + i = c; + return p | 0; +} +function cJ(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = i; + i = i + 384 | 0; + e = d | 0; + f = d + 128 | 0; + g = d + 256 | 0; + cG(g, c + 256 | 0); + cD(e, c | 0, g); + cD(f, c + 128 | 0, g); + cp(b, f); + f = (cs(e) | 0) << 7; + e = b + 31 | 0; + a[e] = a[e] ^ f; + i = d; + return; +} +function cK(a) { + a = a | 0; + var b = 0; + b = (cq(a | 0) | 0) != 0 | 0; + return ((cr(a + 128 | 0, a + 256 | 0) | 0) == 0 ? 0 : b) | 0; +} +function cL(b, c, e, f, g) { + b = b | 0; + c = c | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + h = i; + i = i + 8832 | 0; + j = h | 0; + k = h + 512 | 0; + l = h + 8704 | 0; + cM(k | 0); + m = k + 512 | 0; + n = m; + o = c; + fn(n | 0, o | 0, 512) | 0; + cN(j, c); + c = k + 1024 | 0; + cO(c, j); + cP(j, m, c); + o = k + 1536 | 0; + cO(o, j); + n = k + 2048 | 0; + p = n; + q = f; + fn(p | 0, q | 0, 512) | 0; + cP(j, m, n); + q = k + 2560 | 0; + cO(q, j); + cP(j, c, n); + cO(k + 3072 | 0, j); + cP(j, o, n); + cO(k + 3584 | 0, j); + cN(j, f); + f = k + 4096 | 0; + cO(f, j); + cP(j, m, f); + cO(k + 4608 | 0, j); + cN(j, q); + cO(k + 5120 | 0, j); + cP(j, o, f); + cO(k + 5632 | 0, j); + cP(j, n, f); + f = k + 6144 | 0; + cO(f, j); + cP(j, m, f); + cO(k + 6656 | 0, j); + cP(j, c, f); + cO(k + 7168 | 0, j); + cP(j, o, f); + cO(k + 7680 | 0, j); + c3(l | 0, e, g); + g = b; + e = k + (d[l + 126 | 0] << 9) | 0; + fn(g | 0, e | 0, 512) | 0; + e = b; + g = 125; + while (1) { + cN(j, e); + cQ(e, j); + cN(j, e); + f = l + g | 0; + if ((a[f] | 0) != 0) { + cO(b, j); + cP(j, b, k + (d[f] << 9) | 0); + } + if ((g | 0) == 0) { + break; + } + cQ(e, j); + if ((g | 0) > 0) { + g = g - 1 | 0; + } else { + r = 322; + break; + } + } + if ((r | 0) == 322) { + i = h; + return; + } + cO(b, j); + i = h; + return; +} +function cM(a) { + a = a | 0; + cu(a | 0); + ct(a + 128 | 0); + ct(a + 256 | 0); + cu(a + 384 | 0); + return; +} +function cN(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; + c = i; + i = i + 512 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = b | 0; + cF(d, h); + j = b + 128 | 0; + cF(e, j); + cF(f, b + 256 | 0); + cx(f, f, f); + cv(g, d); + b = a | 0; + cx(b, h, j); + cF(b, b); + cw(b, b, d); + cw(b, b, e); + b = a + 128 | 0; + cx(b, g, e); + cw(a + 384 | 0, b, f); + cw(a + 256 | 0, g, e); + i = c; + return; +} +function cO(a, b) { + a = a | 0; + b = b | 0; + cQ(a, b); + cD(a + 384 | 0, b | 0, b + 256 | 0); + return; +} +function cP(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + d = i; + i = i + 640 | 0; + e = d | 0; + f = d + 128 | 0; + g = d + 256 | 0; + h = d + 384 | 0; + j = d + 512 | 0; + k = b + 128 | 0; + l = b | 0; + cw(e, k, l); + m = c + 128 | 0; + n = c | 0; + cw(j, m, n); + cD(e, e, j); + cx(f, l, k); + cx(j, n, m); + cD(f, f, j); + cD(g, b + 384 | 0, c + 384 | 0); + cD(g, g, 1720); + cD(h, b + 256 | 0, c + 256 | 0); + cx(h, h, h); + cw(a | 0, f, e); + cw(a + 384 | 0, h, g); + cx(a + 128 | 0, h, g); + cx(a + 256 | 0, f, e); + i = d; + return; +} +function cQ(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = b + 384 | 0; + cD(a | 0, b | 0, c); + d = b + 128 | 0; + cD(a + 128 | 0, b + 256 | 0, d); + cD(a + 256 | 0, d, c); + return; +} +function cR(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = i; + i = i + 344 | 0; + e = d | 0; + f = d + 88 | 0; + g = e | 0; + c1(g, c); + cS(b, 0, 0, a[g] | 0); + ct(b + 256 | 0); + cD(b + 384 | 0, b | 0, b + 128 | 0); + g = 1; + do { + cS(f, g, (g | 0) < 0 ? -1 : 0, a[e + g | 0] | 0); + cT(b, f); + g = g + 1 | 0; + } while ((g | 0) < 85); + i = d; + return; +} +function cS(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = i; + i = i + 128 | 0; + f = e | 0; + g = fz(b, c, 5, 0) | 0; + c = H; + b = a; + h = 1976 + (g << 8) | 0; + fn(b | 0, h | 0, 256) | 0; + h = fp(g, c, 1, 0) | 0; + b = cA(d, 1) | 0; + cU(a, 1976 + (h << 8) | 0, cA(d, -1) | 0 | b); + b = fp(g, c, 2, 0) | 0; + h = cA(d, 2) | 0; + cU(a, 1976 + (b << 8) | 0, cA(d, -2) | 0 | h); + h = fp(g, c, 3, 0) | 0; + b = cA(d, 3) | 0; + cU(a, 1976 + (h << 8) | 0, cA(d, -3) | 0 | b); + b = fp(g, c, 4, 0) | 0; + cU(a, 1976 + (b << 8) | 0, cA(d, -4) | 0); + b = a | 0; + cv(f, b); + ce(b, f, cB(d) | 0); + i = e; + return; +} +function cT(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; + c = i; + i = i + 1408 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = c + 512 | 0; + j = c + 640 | 0; + k = c + 768 | 0; + l = c + 896 | 0; + m = c + 1024 | 0; + n = c + 1152 | 0; + o = c + 1280 | 0; + p = b | 0; + q = b + 128 | 0; + cD(o, p, q); + b = a + 128 | 0; + r = a | 0; + cw(d, b, r); + cx(e, b, r); + cw(f, q, p); + cx(g, q, p); + cD(d, d, f); + cD(e, e, g); + cw(k, e, d); + cx(n, e, d); + d = a + 384 | 0; + cD(h, d, o); + cD(h, h, 1720); + o = a + 256 | 0; + cx(j, o, o); + cw(l, j, h); + cx(m, j, h); + cD(r, k, l); + cD(b, n, m); + cD(o, m, l); + cD(d, k, n); + i = c; + return; +} +function cU(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + ce(a | 0, b | 0, c); + ce(a + 128 | 0, b + 128 | 0, c); + return; +} +function cV(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + g = 0; + do { + c[f + (g << 2) >> 2] = d[b + g | 0] | 0; + g = g + 1 | 0; + } while ((g | 0) < 32); + fm(f + 128 | 0, 0, 128); + c6(a, f | 0); + i = e; + return; +} +function cW(a, b) { + a = a | 0; + b = b | 0; + return (a - b | 0) >>> 31 | 0; +} +function cX(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = d[b] | 0; + c[a + 4 >> 2] = d[b + 1 | 0] | 0; + c[a + 8 >> 2] = d[b + 2 | 0] | 0; + c[a + 12 >> 2] = d[b + 3 | 0] | 0; + c[a + 16 >> 2] = d[b + 4 | 0] | 0; + c[a + 20 >> 2] = d[b + 5 | 0] | 0; + c[a + 24 >> 2] = d[b + 6 | 0] | 0; + c[a + 28 >> 2] = d[b + 7 | 0] | 0; + c[a + 32 >> 2] = d[b + 8 | 0] | 0; + c[a + 36 >> 2] = d[b + 9 | 0] | 0; + c[a + 40 >> 2] = d[b + 10 | 0] | 0; + c[a + 44 >> 2] = d[b + 11 | 0] | 0; + c[a + 48 >> 2] = d[b + 12 | 0] | 0; + c[a + 52 >> 2] = d[b + 13 | 0] | 0; + c[a + 56 >> 2] = d[b + 14 | 0] | 0; + c[a + 60 >> 2] = d[b + 15 | 0] | 0; + return; +} +function cY(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = 0; + do { + a[b + e | 0] = c[d + (e << 2) >> 2] & 255; + e = e + 1 | 0; + } while ((e | 0) < 32); + return; +} +function cZ(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = 0; + while (1) { + if ((b | 0) >= 32) { + d = 1; + e = 347; + break; + } + if ((c[a + (b << 2) >> 2] | 0) == 0) { + b = b + 1 | 0; + } else { + d = 0; + e = 346; + break; + } + } + if ((e | 0) == 346) { + return d | 0; + } else if ((e | 0) == 347) { + return d | 0; + } + return 0; +} +function c_(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = 31; + while (1) { + if ((b | 0) <= 15) { + d = 1; + e = 353; + break; + } + if ((c[a + (b << 2) >> 2] | 0) == 0) { + b = b - 1 | 0; + } else { + d = 0; + e = 352; + break; + } + } + if ((e | 0) == 352) { + return d | 0; + } else if ((e | 0) == 353) { + return d | 0; + } + return 0; +} +function c$(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0; + d = 31; + while (1) { + if ((d | 0) <= -1) { + e = 0; + f = 359; + break; + } + g = c[a + (d << 2) >> 2] | 0; + h = c[b + (d << 2) >> 2] | 0; + if (g >>> 0 < h >>> 0) { + e = 1; + f = 361; + break; + } + if (g >>> 0 > h >>> 0) { + e = 0; + f = 360; + break; + } else { + d = d - 1 | 0; + } + } + if ((f | 0) == 360) { + return e | 0; + } else if ((f | 0) == 359) { + return e | 0; + } else if ((f | 0) == 361) { + return e | 0; + } + return 0; +} +function c0(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = 0; + f = 0; + while (1) { + g = (c[b + (f << 2) >> 2] | 0) - (c[d + (f << 2) >> 2] | 0) - e | 0; + c[a + (f << 2) >> 2] = g & 255; + h = f + 1 | 0; + if ((h | 0) < 32) { + e = g >>> 8 & 1; + f = h; + } else { + break; + } + } + return; +} +function c1(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + f = 0; + while (1) { + g = f * 3 | 0; + h = e + (g << 2) | 0; + i = f << 3; + a[b + i | 0] = c[h >> 2] & 7; + a[b + (i | 1) | 0] = (c[h >> 2] | 0) >>> 3 & 7; + j = (c[h >> 2] | 0) >>> 6 & 7; + h = b + (i | 2) | 0; + a[h] = j; + k = e + (g + 1 << 2) | 0; + a[h] = (j & 255 ^ c[k >> 2] << 2 & 4) & 255; + a[b + (i | 3) | 0] = (c[k >> 2] | 0) >>> 1 & 7; + a[b + (i | 4) | 0] = (c[k >> 2] | 0) >>> 4 & 7; + if ((f | 0) >= 10) { + l = 0; + m = 0; + break; + } + j = (c[k >> 2] | 0) >>> 7 & 7; + k = b + (i | 5) | 0; + a[k] = j; + h = e + (g + 2 << 2) | 0; + a[k] = (j & 255 ^ c[h >> 2] << 1 & 6) & 255; + a[b + (i | 6) | 0] = (c[h >> 2] | 0) >>> 2 & 7; + a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 5 & 7; + f = f + 1 | 0; + } + do { + f = b + m | 0; + e = (d[f] | 0) + l & 255; + a[f] = e; + m = m + 1 | 0; + h = b + m | 0; + a[h] = (e << 24 >> 24 >>> 3) + (d[h] | 0) & 255; + h = a[f] & 7; + l = h >>> 2; + a[f] = h - (l << 3) & 255; + } while ((m | 0) < 84); + m = b + 84 | 0; + a[m] = (d[m] | 0) + l & 255; + return; +} +function c2(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; + f = 0; + while (1) { + g = f * 5 | 0; + h = e + (g << 2) | 0; + i = f << 3; + a[b + i | 0] = c[h >> 2] & 31; + j = (c[h >> 2] | 0) >>> 5 & 31; + h = b + (i | 1) | 0; + a[h] = j; + k = e + (g + 1 << 2) | 0; + a[h] = (j & 255 ^ c[k >> 2] << 3 & 24) & 255; + a[b + (i | 2) | 0] = (c[k >> 2] | 0) >>> 2 & 31; + if ((f | 0) >= 6) { + l = 0; + m = 0; + break; + } + j = (c[k >> 2] | 0) >>> 7 & 31; + k = b + (i | 3) | 0; + a[k] = j; + h = e + (g + 2 << 2) | 0; + a[k] = (j & 255 ^ c[h >> 2] << 1 & 30) & 255; + j = (c[h >> 2] | 0) >>> 4 & 31; + h = b + (i | 4) | 0; + a[h] = j; + k = e + (g + 3 << 2) | 0; + a[h] = (j & 255 ^ c[k >> 2] << 4 & 16) & 255; + a[b + (i | 5) | 0] = (c[k >> 2] | 0) >>> 1 & 31; + j = (c[k >> 2] | 0) >>> 6 & 31; + k = b + (i | 6) | 0; + a[k] = j; + h = e + (g + 4 << 2) | 0; + a[k] = (j & 255 ^ c[h >> 2] << 2 & 28) & 255; + a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 3 & 31; + f = f + 1 | 0; + } + do { + f = b + m | 0; + e = (d[f] | 0) + l & 255; + a[f] = e; + m = m + 1 | 0; + h = b + m | 0; + a[h] = (e << 24 >> 24 >>> 5) + (d[h] | 0) & 255; + h = a[f] & 31; + l = h >>> 4; + a[f] = h - (l << 5) & 255; + } while ((m | 0) < 50); + m = b + 50 | 0; + a[m] = (d[m] | 0) + l & 255; + return; +} +function c3(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0; + f = 0; + do { + g = d + (f << 2) | 0; + h = e + (f << 2) | 0; + i = f << 2; + a[b + i | 0] = (c[h >> 2] << 2 & 12 | c[g >> 2] & 3) & 255; + a[b + (i | 1) | 0] = ((c[g >> 2] | 0) >>> 2 & 3 | c[h >> 2] & 12) & 255; + a[b + (i | 2) | 0] = ((c[h >> 2] | 0) >>> 4 << 2 & 12 | (c[g >> 2] | 0) >>> 4 & 3) & 255; + a[b + (i | 3) | 0] = ((c[h >> 2] | 0) >>> 6 << 2 & 12 | (c[g >> 2] | 0) >>> 6 & 3) & 255; + f = f + 1 | 0; + } while ((f | 0) < 31); + f = d + 124 | 0; + d = e + 124 | 0; + a[b + 124 | 0] = (c[d >> 2] << 2 & 12 | c[f >> 2] & 3) & 255; + a[b + 125 | 0] = ((c[f >> 2] | 0) >>> 2 & 3 | c[d >> 2] & 12) & 255; + a[b + 126 | 0] = ((c[d >> 2] | 0) >>> 4 << 2 & 12 | (c[f >> 2] | 0) >>> 4 & 3) & 255; + return; +} +function c4(a, b) { + a = a | 0; + b = b | 0; + var e = 0; + e = 0; + do { + c[a + (e << 2) >> 2] = d[b + e | 0] | 0; + e = e + 1 | 0; + } while ((e | 0) < 32); + e = a + 124 | 0; + c[e >> 2] = c[e >> 2] & 127; + return; +} +function c5(b, e) { + b = b | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + f = 0; + do { + a[b + f | 0] = c[e + (f << 2) >> 2] & 255; + f = f + 1 | 0; + } while ((f | 0) < 32); + f = b + 31 | 0; + e = 30; + g = (a[f] | 0) == 127 | 0; + do { + g = g & -((a[b + e | 0] | 0) == -1 | 0); + e = e - 1 | 0; + } while ((e | 0) > 1); + e = g & -((d[b] | 0) > 236 | 0); + a[f] = (e * -127 | 0) + (d[f] | 0) & 255; + f = e * -255 | 0; + g = 30; + do { + h = b + g | 0; + a[h] = (d[h] | 0) + f & 255; + g = g - 1 | 0; + } while ((g | 0) > 0); + a[b] = (d[b] | 0) + (e * -237 | 0) & 255; + return; +} +function c6(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + d = i; + i = i + 264 | 0; + e = d | 0; + f = i; + i = i + 132 | 0; + i = i + 7 >> 3 << 3; + g = i; + i = i + 132 | 0; + i = i + 7 >> 3 << 3; + fm(e | 0, 0, 264); + h = b; + j = f; + fm(g | 0, 0, 132); + k = 0; + do { + l = 528 + (k << 2) | 0; + m = 0; + do { + n = m + k | 0; + if ((n | 0) > 30) { + o = ad(c[b + (m + 31 << 2) >> 2] | 0, c[l >> 2] | 0) | 0; + p = e + (n << 2) | 0; + c[p >> 2] = (c[p >> 2] | 0) + o; + } + m = m + 1 | 0; + } while ((m | 0) < 33); + k = k + 1 | 0; + } while ((k | 0) < 33); + k = e + 128 | 0; + b = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; + c[k >> 2] = b; + k = e + 132 | 0; + c[k >> 2] = (b >>> 8) + (c[k >> 2] | 0); + fn(j | 0, h | 0, 132) | 0; + h = 0; + while (1) { + j = 992 + (h << 2) | 0; + k = 0; + do { + b = k + h | 0; + if ((b | 0) < 33) { + m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; + l = g + (b << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + m; + } + k = k + 1 | 0; + } while ((k | 0) < 33); + k = h + 1 | 0; + if ((k | 0) < 32) { + h = k; + } else { + q = 0; + break; + } + } + while (1) { + h = g + (q << 2) | 0; + e = q + 1 | 0; + k = g + (e << 2) | 0; + c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); + c[h >> 2] = c[h >> 2] & 255; + if ((e | 0) < 32) { + q = e; + } else { + r = 0; + s = 0; + break; + } + } + do { + q = (c[g + (s << 2) >> 2] | 0) + r | 0; + e = c[f + (s << 2) >> 2] | 0; + r = cW(e, q) | 0; + c[a + (s << 2) >> 2] = e - q + (r << 8); + s = s + 1 | 0; + } while ((s | 0) < 32); + da(a); + da(a); + i = d; + return; +} +function c7(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + g = 0; + do { + c[f + (g << 2) >> 2] = d[b + g | 0] | 0; + g = g + 1 | 0; + } while ((g | 0) < 64); + c6(a, f | 0); + i = e; + return; +} +function c8(a, b) { + a = a | 0; + b = b | 0; + c[a >> 2] = c[b >> 2]; + c[a + 4 >> 2] = c[b + 4 >> 2]; + c[a + 8 >> 2] = c[b + 8 >> 2]; + c[a + 12 >> 2] = c[b + 12 >> 2]; + c[a + 16 >> 2] = c[b + 16 >> 2]; + c[a + 20 >> 2] = c[b + 20 >> 2]; + c[a + 24 >> 2] = c[b + 24 >> 2]; + c[a + 28 >> 2] = c[b + 28 >> 2]; + c[a + 32 >> 2] = c[b + 32 >> 2]; + c[a + 36 >> 2] = c[b + 36 >> 2]; + c[a + 40 >> 2] = c[b + 40 >> 2]; + c[a + 44 >> 2] = c[b + 44 >> 2]; + c[a + 48 >> 2] = c[b + 48 >> 2]; + c[a + 52 >> 2] = c[b + 52 >> 2]; + c[a + 56 >> 2] = c[b + 56 >> 2]; + c[a + 60 >> 2] = c[b + 60 >> 2]; + fm(a + 64 | 0, 0, 64); + return; +} +function c9(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = 0; + while (1) { + c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); + f = e + 1 | 0; + if ((f | 0) < 32) { + e = f; + } else { + g = 0; + break; + } + } + do { + e = a + (g << 2) | 0; + g = g + 1 | 0; + b = a + (g << 2) | 0; + c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((g | 0) < 31); + da(a); + return; +} +function da(b) { + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + e = i; + i = i + 32 | 0; + f = e | 0; + g = 0; + h = 0; + while (1) { + j = (c[992 + (h << 2) >> 2] | 0) + g | 0; + k = c[b + (h << 2) >> 2] | 0; + l = cW(k, j) | 0; + a[f + h | 0] = k - j & 255; + j = h + 1 | 0; + m = l - 1 | 0; + if ((j | 0) < 32) { + g = l; + h = j; + } else { + n = 0; + break; + } + } + do { + h = b + (n << 2) | 0; + g = c[h >> 2] | 0; + c[h >> 2] = ((d[f + n | 0] | 0) ^ g) & m ^ g; + n = n + 1 | 0; + } while ((n | 0) < 32); + i = e; + return; +} +function db(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 256); + g = 0; + while (1) { + h = c[b + (g << 2) >> 2] | 0; + j = 0; + do { + k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; + l = f + (j + g << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + k; + j = j + 1 | 0; + } while ((j | 0) < 32); + j = g + 1 | 0; + if ((j | 0) < 32) { + g = j; + } else { + m = 0; + break; + } + } + do { + g = f + (m << 2) | 0; + m = m + 1 | 0; + d = f + (m << 2) | 0; + c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); + c[g >> 2] = c[g >> 2] & 255; + } while ((m | 0) < 63); + c6(a, f | 0); + i = e; + return; +} +function dc(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = i; + i = i + 128 | 0; + e = d | 0; + c8(e, c); + db(a, b, e); + i = d; + return; +} +function dd(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = d & 255; + f = 1 - d & 255; + d = 0; + do { + g = a + (d << 2) | 0; + h = ad(c[g >> 2] | 0, f) | 0; + c[g >> 2] = (ad(c[b + (d << 2) >> 2] | 0, e) | 0) + h; + d = d + 1 | 0; + } while ((d | 0) < 32); + return; +} +function de(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = 30; + e = (c[b >> 2] | 0) == 127 | 0; + do { + e = e & -((c[a + (d << 2) >> 2] | 0) == 255 | 0); + d = d - 1 | 0; + } while ((d | 0) > 1); + d = a | 0; + f = e & -((c[d >> 2] | 0) >>> 0 > 236 | 0); + c[b >> 2] = (f * -127 | 0) + (c[b >> 2] | 0); + b = f * -255 | 0; + e = 30; + do { + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + b; + e = e - 1 | 0; + } while ((e | 0) > 0); + c[d >> 2] = (c[d >> 2] | 0) + (f * -237 | 0); + return; +} +function df(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = a | 0; + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + e = 0; + do { + f = a + (e << 2) | 0; + e = e + 1 | 0; + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); + c[f >> 2] = c[f >> 2] & 255; + } while ((e | 0) < 31); + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + e = 0; + do { + f = a + (e << 2) | 0; + e = e + 1 | 0; + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); + c[f >> 2] = c[f >> 2] & 255; + } while ((e | 0) < 31); + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + e = 0; + do { + f = a + (e << 2) | 0; + e = e + 1 | 0; + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); + c[f >> 2] = c[f >> 2] & 255; + } while ((e | 0) < 31); + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + d = 0; + do { + e = a + (d << 2) | 0; + d = d + 1 | 0; + b = a + (d << 2) | 0; + c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((d | 0) < 31); + return; +} +function dg(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0; + b = a + 124 | 0; + d = a | 0; + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + e = 0; + do { + f = a + (e << 2) | 0; + e = e + 1 | 0; + g = a + (e << 2) | 0; + c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); + c[f >> 2] = c[f >> 2] & 255; + } while ((e | 0) < 31); + e = c[b >> 2] | 0; + c[b >> 2] = e & 127; + c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); + d = 0; + do { + e = a + (d << 2) | 0; + d = d + 1 | 0; + b = a + (d << 2) | 0; + c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((d | 0) < 31); + return; +} +function dh(a) { + a = a | 0; + var b = 0, d = 0; + b = 1; + d = (c[a >> 2] | 0) == 1 | 0; + do { + d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); + b = b + 1 | 0; + } while ((b | 0) < 32); + return d | 0; +} +function di(a) { + a = a | 0; + var b = 0, d = 0; + b = 1; + d = (c[a >> 2] | 0) == 0 | 0; + do { + d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); + b = b + 1 | 0; + } while ((b | 0) < 32); + return d | 0; +} +function dj(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = i; + d = a; + a = i; + i = i + 128 | 0; + e = a; + fn(e | 0, d | 0, 128) | 0; + de(a); + i = b; + return c[a >> 2] & 1 | 0; +} +function dk(a) { + a = a | 0; + c[a >> 2] = 1; + fm(a + 4 | 0, 0, 124); + return; +} +function dl(a) { + a = a | 0; + fm(a | 0, 0, 128); + return; +} +function dm(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = i; + d = b; + b = i; + i = i + 128 | 0; + e = b; + fn(e | 0, d | 0, 128) | 0; + dl(a); + dn(a, a, b); + i = c; + return; +} +function dn(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0; + e = i; + i = i + 128 | 0; + f = e | 0; + c[f >> 2] = (c[b >> 2] | 0) + 474; + c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; + g = 1; + while (1) { + c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; + h = g + 1 | 0; + if ((h | 0) < 31) { + g = h; + } else { + j = 0; + break; + } + } + do { + c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); + j = j + 1 | 0; + } while ((j | 0) < 32); + df(a); + i = e; + return; +} +function dp(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = 0; + do { + c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); + e = e + 1 | 0; + } while ((e | 0) < 32); + df(a); + return; +} +function dq(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 252); + g = 0; + while (1) { + h = c[b + (g << 2) >> 2] | 0; + j = 0; + do { + k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; + l = f + (j + g << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + k; + j = j + 1 | 0; + } while ((j | 0) < 32); + j = g + 1 | 0; + if ((j | 0) < 32) { + g = j; + } else { + m = 32; + break; + } + } + do { + g = m - 32 | 0; + c[a + (g << 2) >> 2] = ((c[f + (m << 2) >> 2] | 0) * 38 | 0) + (c[f + (g << 2) >> 2] | 0); + m = m + 1 | 0; + } while ((m | 0) < 63); + c[a + 124 >> 2] = c[f + 124 >> 2]; + dg(a); + i = e; + return; +} +function dr(a, b) { + a = a | 0; + b = b | 0; + dq(a, b, b); + return; +} +function ds(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + e = i; + i = i + 2304 | 0; + f = e | 0; + g = e + 128 | 0; + h = e + 2176 | 0; + dk(f); + dk(g | 0); + j = g + 128 | 0; + k = j; + l = b; + fn(k | 0, l | 0, 128) | 0; + l = g + 256 | 0; + dr(l, g + 128 | 0); + dq(g + 384 | 0, l, j); + l = g + 512 | 0; + dr(l, g + 256 | 0); + dq(g + 640 | 0, l, j); + l = g + 768 | 0; + dr(l, g + 384 | 0); + dq(g + 896 | 0, l, j); + l = g + 1024 | 0; + dr(l, g + 512 | 0); + dq(g + 1152 | 0, l, j); + l = g + 1280 | 0; + dr(l, g + 640 | 0); + dq(g + 1408 | 0, l, j); + l = g + 1536 | 0; + dr(l, g + 768 | 0); + dq(g + 1664 | 0, l, j); + l = g + 1792 | 0; + dr(l, g + 896 | 0); + dq(g + 1920 | 0, l, j); + j = h; + l = g; + k = 32; + do { + b = c + (k - 1) | 0; + m = g + 128 | 0; + n = 4; + do { + dr(f, f); + dr(f, f); + dr(f, f); + dr(f, f); + o = (d[b] | 0) >>> (n >>> 0); + fn(j | 0, l | 0, 128) | 0; + p = o & 15; + dd(h, m, (p | 0) == 1 | 0); + dd(h, g + 256 | 0, (p | 0) == 2 | 0); + dd(h, g + 384 | 0, (p | 0) == 3 | 0); + dd(h, g + 512 | 0, (p | 0) == 4 | 0); + dd(h, g + 640 | 0, (p | 0) == 5 | 0); + dd(h, g + 768 | 0, (p | 0) == 6 | 0); + dd(h, g + 896 | 0, (p | 0) == 7 | 0); + dd(h, g + 1024 | 0, (p | 0) == 8 | 0); + dd(h, g + 1152 | 0, (p | 0) == 9 | 0); + dd(h, g + 1280 | 0, (p | 0) == 10 | 0); + dd(h, g + 1408 | 0, (p | 0) == 11 | 0); + dd(h, g + 1536 | 0, (p | 0) == 12 | 0); + dd(h, g + 1664 | 0, (p | 0) == 13 | 0); + dd(h, g + 1792 | 0, (p | 0) == 14 | 0); + dd(h, g + 1920 | 0, (p | 0) == 15 | 0); + dq(f, f, h); + n = n - 4 | 0; + } while ((n | 0) > -1); + k = k - 1 | 0; + } while ((k | 0) > 0); + k = a; + a = f; + fn(k | 0, a | 0, 128) | 0; + i = e; + return; +} +function dt(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + e = i; + i = i + 352 | 0; + f = e + 32 | 0; + g = e + 64 | 0; + h = e + 96 | 0; + j = e + 224 | 0; + if ((du(b) | 0) == 0) { + k = -1; + i = e; + return k | 0; + } + l = e | 0; + fn(l | 0, 111032, 32) | 0; + m = f | 0; + fn(m | 0, 111e3, 32) | 0; + f = g | 0; + fn(f | 0, 110968, 32) | 0; + fm(h | 0, 0, 128); + ds(j, b, l); + de(j); + if ((dh(j) | 0) == 0) { + l = 0; + do { + c[j + (l << 2) >> 2] = c[b + (l << 2) >> 2] << 2; + l = l + 1 | 0; + } while ((l | 0) < 32); + ds(j, j, f); + f = 0; + do { + c[a + (f << 2) >> 2] = c[b + (f << 2) >> 2] << 1; + f = f + 1 | 0; + } while ((f | 0) < 32); + dq(a, a, j); + } else { + ds(a, b, m); + } + de(a); + if (((c[a >> 2] ^ d & 255) & 1 | 0) == 0) { + k = 0; + i = e; + return k | 0; + } + dn(a, h, a); + k = 0; + i = e; + return k | 0; +} +function du(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0; + b = i; + i = i + 160 | 0; + c = b + 32 | 0; + d = b | 0; + fn(d | 0, 1312, 32) | 0; + ds(c, a, d); + de(c); + if ((dh(c) | 0) != 0) { + e = 1; + i = b; + return e | 0; + } + e = (di(c) | 0) != 0 | 0; + i = b; + return e | 0; +} +function dv(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; + c = i; + i = i + 1280 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = c + 512 | 0; + j = c + 640 | 0; + k = c + 768 | 0; + l = c + 896 | 0; + m = c + 1024 | 0; + n = c + 1152 | 0; + dr(d, b); + dr(n, d); + dr(m, n); + dq(e, m, b); + dq(f, e, d); + dr(m, f); + dq(g, m, e); + dr(m, g); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dq(h, m, g); + dr(m, h); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dq(j, n, h); + dr(m, j); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dq(m, n, j); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dq(k, m, h); + dr(m, k); + dr(n, m); + h = 2; + do { + dr(m, n); + dr(n, m); + h = h + 2 | 0; + } while ((h | 0) < 50); + dq(l, n, k); + dr(n, l); + dr(m, n); + h = 2; + do { + dr(n, m); + dr(m, n); + h = h + 2 | 0; + } while ((h | 0) < 100); + dq(n, m, l); + dr(m, n); + dr(n, m); + l = 2; + do { + dr(m, n); + dr(n, m); + l = l + 2 | 0; + } while ((l | 0) < 50); + dq(m, n, k); + dr(n, m); + dr(m, n); + dr(n, m); + dr(m, n); + dr(n, m); + dq(a, n, f); + i = c; + return; +} +function dw(a, b) { + a = a | 0; + b = b | 0; + var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0; + c = i; + i = i + 256 | 0; + e = c | 0; + f = c + 128 | 0; + g = a + 256 | 0; + dk(g); + c4(f, 110776); + h = (d[b + 31 | 0] | 0) >>> 7; + j = a + 128 | 0; + c4(j, b); + b = a | 0; + dr(b, j); + dq(e, b, f); + dn(b, b, g); + dp(e, g, e); + dv(e, e); + dq(b, b, e); + e = dt(b, b, h) | 0; + dq(a + 384 | 0, b, j); + i = c; + return e | 0; +} +function dx(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = i; + i = i + 384 | 0; + e = d | 0; + f = d + 128 | 0; + g = d + 256 | 0; + dv(g, c + 256 | 0); + dq(e, c | 0, g); + dq(f, c + 128 | 0, g); + c5(b, f); + f = (dj(e) | 0) << 7; + e = b + 31 | 0; + a[e] = a[e] ^ f; + i = d; + return; +} +function dy(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = i; + i = i + 512 | 0; + e = d | 0; + dz(e, b, c); + dA(a, e); + i = d; + return; +} +function dz(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + d = i; + i = i + 768 | 0; + e = d | 0; + f = d + 128 | 0; + g = d + 256 | 0; + h = d + 384 | 0; + j = d + 512 | 0; + k = d + 640 | 0; + c4(k, 110776); + l = b + 128 | 0; + m = b | 0; + dn(e, l, m); + n = c + 128 | 0; + o = c | 0; + dn(j, n, o); + dq(e, e, j); + dp(f, m, l); + dp(j, o, n); + dq(f, f, j); + dq(g, b + 384 | 0, c + 384 | 0); + dq(g, g, k); + dp(g, g, g); + dq(h, b + 256 | 0, c + 256 | 0); + dp(h, h, h); + dn(a | 0, f, e); + dn(a + 384 | 0, h, g); + dp(a + 128 | 0, h, g); + dp(a + 256 | 0, f, e); + i = d; + return; +} +function dA(a, b) { + a = a | 0; + b = b | 0; + dG(a, b); + dq(a + 384 | 0, b | 0, b + 256 | 0); + return; +} +function dB(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = i; + i = i + 512 | 0; + d = c | 0; + dC(d, b); + dA(a, d); + i = c; + return; +} +function dC(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; + c = i; + i = i + 512 | 0; + d = c | 0; + e = c + 128 | 0; + f = c + 256 | 0; + g = c + 384 | 0; + h = b | 0; + dr(d, h); + j = b + 128 | 0; + dr(e, j); + dr(f, b + 256 | 0); + dp(f, f, f); + dm(g, d); + b = a | 0; + dp(b, h, j); + dr(b, b); + dn(b, b, d); + dn(b, b, e); + b = a + 128 | 0; + dp(b, g, e); + dn(a + 384 | 0, b, f); + dn(a + 256 | 0, g, e); + i = c; + return; +} +function dD(b, d) { + b = b | 0; + d = d | 0; + var e = 0; + e = 0; + do { + a[b + e | 0] = c[d + (e << 2) >> 2] & 255; + e = e + 1 | 0; + } while ((e | 0) < 32); + return; +} +function dE(b) { + b = b | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; + e = i; + i = i + 32 | 0; + f = e | 0; + g = 0; + h = 0; + while (1) { + j = c[b + (h << 2) >> 2] | 0; + k = c[864 + (h << 2) >> 2] | 0; + l = j >>> 0 < (k + g | 0) >>> 0 | 0; + a[f + h | 0] = j - g - k & 255; + k = h + 1 | 0; + if ((k | 0) < 32) { + g = l; + h = k; + } else { + break; + } + } + h = l ^ 1; + g = 0; + do { + k = b + (g << 2) | 0; + c[k >> 2] = ((d[f + g | 0] | 0) & -h) + (c[k >> 2] & -l); + g = g + 1 | 0; + } while ((g | 0) < 32); + i = e; + return; +} +function dF(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0; + e = i; + i = i + 3616 | 0; + f = e | 0; + g = e + 512 | 0; + h = e + 2560 | 0; + j = e + 3072 | 0; + k = e + 3584 | 0; + c4(f | 0, 112080); + l = f + 128 | 0; + c4(l, 1560); + m = f + 256 | 0; + c4(m, 1528); + n = f + 384 | 0; + c4(n, 112112); + dD(k | 0, c); + c = g; + o = f; + fn(c | 0, o | 0, 512) | 0; + p = g + 512 | 0; + q = p; + r = b; + fn(q | 0, r | 0, 512) | 0; + dC(j, g + 512 | 0); + r = g + 1024 | 0; + dA(r, j); + dz(j, r, p); + dA(g + 1536 | 0, j); + p = f; + r = h; + q = 32; + do { + b = k + (q - 1) | 0; + s = 6; + do { + dC(j, p); + dG(p, j); + dC(j, p); + dA(f, j); + t = (d[b] | 0) >>> (s >>> 0); + fn(r | 0, c | 0, 512) | 0; + u = t & 3; + t = 1; + do { + dH(h, g + (t << 9) | 0, (t | 0) == (u | 0) | 0); + t = t + 1 | 0; + } while ((t | 0) < 4); + dz(j, f, h); + if ((s | 0) == 0) { + v = 518; + break; + } + dG(p, j); + s = s - 2 | 0; + } while ((s | 0) > -1); + if ((v | 0) == 518) { + v = 0; + dA(f, j); + } + q = q - 1 | 0; + } while ((q | 0) > 0); + q = a; + fn(q | 0, o | 0, 128) | 0; + o = a + 128 | 0; + q = l; + fn(o | 0, q | 0, 128) | 0; + q = a + 256 | 0; + o = m; + fn(q | 0, o | 0, 128) | 0; + o = a + 384 | 0; + a = n; + fn(o | 0, a | 0, 128) | 0; + i = e; + return; +} +function dG(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = b + 384 | 0; + dq(a | 0, b | 0, c); + d = b + 128 | 0; + dq(a + 128 | 0, b + 256 | 0, d); + dq(a + 256 | 0, d, c); + return; +} +function dH(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + dd(a | 0, b | 0, c); + dd(a + 128 | 0, b + 128 | 0, c); + dd(a + 256 | 0, b + 256 | 0, c); + dd(a + 384 | 0, b + 384 | 0, c); + return; +} +function dI(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = i; + i = i + 512 | 0; + d = c | 0; + c4(d | 0, 1912); + c4(d + 128 | 0, 1880); + c4(d + 256 | 0, 1848); + c4(d + 384 | 0, 1944); + dF(a, d, b); + i = c; + return; +} +function dJ(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 256); + g = 0; + do { + c[f + (g << 2) >> 2] = d[b + g | 0] | 0; + g = g + 1 | 0; + } while ((g | 0) < 32); + dK(a, f | 0); + i = e; + return; +} +function dK(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + d = i; + i = i + 536 | 0; + e = d | 0; + f = d + 264 | 0; + g = d + 400 | 0; + fm(e | 0, 0, 264); + fm(g | 0, 0, 132); + h = 0; + do { + j = 392 + (h << 2) | 0; + k = 0; + do { + l = k + h | 0; + if ((l | 0) > 30) { + m = ad(c[b + (k + 31 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; + n = e + (l << 2) | 0; + c[n >> 2] = (c[n >> 2] | 0) + m; + } + k = k + 1 | 0; + } while ((k | 0) < 33); + h = h + 1 | 0; + } while ((h | 0) < 33); + h = b; + b = f; + k = e + 128 | 0; + j = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; + c[k >> 2] = j; + k = e + 132 | 0; + c[k >> 2] = (j >>> 8) + (c[k >> 2] | 0); + fn(b | 0, h | 0, 132) | 0; + h = 0; + while (1) { + b = 864 + (h << 2) | 0; + k = 0; + do { + j = k + h | 0; + if ((j | 0) < 33) { + m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[b >> 2] | 0) | 0; + n = g + (j << 2) | 0; + c[n >> 2] = (c[n >> 2] | 0) + m; + } + k = k + 1 | 0; + } while ((k | 0) < 33); + k = h + 1 | 0; + if ((k | 0) < 32) { + h = k; + } else { + o = 0; + break; + } + } + while (1) { + h = g + (o << 2) | 0; + e = o + 1 | 0; + k = g + (e << 2) | 0; + c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); + c[h >> 2] = c[h >> 2] & 255; + if ((e | 0) < 32) { + o = e; + } else { + p = 0; + q = 0; + break; + } + } + while (1) { + o = c[f + (p << 2) >> 2] | 0; + e = c[g + (p << 2) >> 2] | 0; + h = o >>> 0 < (e + q | 0) >>> 0 | 0; + c[a + (p << 2) >> 2] = o - q - e + (h << 8); + e = p + 1 | 0; + if ((e | 0) < 32) { + p = e; + q = h; + } else { + break; + } + } + dE(a); + dE(a); + i = d; + return; +} +function dL(a, b) { + a = a | 0; + b = b | 0; + var e = 0, f = 0, g = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 256); + g = 0; + do { + c[f + (g << 2) >> 2] = d[b + g | 0] | 0; + g = g + 1 | 0; + } while ((g | 0) < 64); + dK(a, f | 0); + i = e; + return; +} +function dM(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + e = 0; + while (1) { + c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); + f = e + 1 | 0; + if ((f | 0) < 32) { + e = f; + } else { + g = 0; + break; + } + } + do { + e = a + (g << 2) | 0; + g = g + 1 | 0; + b = a + (g << 2) | 0; + c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); + c[e >> 2] = c[e >> 2] & 255; + } while ((g | 0) < 31); + dE(a); + return; +} +function dN(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + e = i; + i = i + 256 | 0; + f = e | 0; + fm(f | 0, 0, 256); + g = 0; + while (1) { + h = c[b + (g << 2) >> 2] | 0; + j = 0; + do { + k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; + l = f + (j + g << 2) | 0; + c[l >> 2] = (c[l >> 2] | 0) + k; + j = j + 1 | 0; + } while ((j | 0) < 32); + j = g + 1 | 0; + if ((j | 0) < 32) { + g = j; + } else { + m = 0; + break; + } + } + do { + g = f + (m << 2) | 0; + m = m + 1 | 0; + d = f + (m << 2) | 0; + c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); + c[g >> 2] = c[g >> 2] & 255; + } while ((m | 0) < 63); + dK(a, f | 0); + i = e; + return; +} +function dO(a, b) { + a = a | 0; + b = b | 0; + dN(a, b, b); + return; +} +function dP(b, c) { + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = i; + i = i + 640 | 0; + e = d | 0; + f = d + 128 | 0; + at(c | 0, 32, 0); + bR(c, c, 32, 0) | 0; + a[c] = a[c] & -8; + g = c + 31 | 0; + a[g] = a[g] & 63 | 64; + dJ(e, c); + dI(f, e); + dx(b, f); + i = d; + return 0; +} +function dQ(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0; + j = i; + i = i + 928 | 0; + k = j | 0; + l = j + 128 | 0; + m = j + 256 | 0; + n = j + 384 | 0; + o = j + 896 | 0; + p = o | 0; + q = i; + i = i + 32 | 0; + r = q | 0; + s = i; + i = i + 64 | 0; + t = i; + i = i + 64 | 0; + u = fp(f, g, 64, 0) | 0; + c[d >> 2] = u; + c[d + 4 >> 2] = H; + if ((f | 0) == 0 & (g | 0) == 0) { + v = 0; + w = 0; + } else { + d = 0; + u = 0; + while (1) { + x = a[e + u | 0] | 0; + y = fp(u, d, 32, 0) | 0; + a[b + y | 0] = x; + x = fp(u, d, 1, 0) | 0; + y = H; + if (y >>> 0 < g >>> 0 | y >>> 0 == g >>> 0 & x >>> 0 < f >>> 0) { + d = y; + u = x; + } else { + v = 0; + w = 0; + break; + } + } + } + do { + u = fp(w, v, 32, 0) | 0; + a[b + w | 0] = a[h + u | 0] | 0; + w = fp(w, v, 1, 0) | 0; + v = H; + u = 0; + } while (v >>> 0 < u >>> 0 | v >>> 0 == u >>> 0 & w >>> 0 < 32 >>> 0); + w = s | 0; + s = fp(f, g, 32, 0) | 0; + v = H; + bR(w, b, s, v) | 0; + dL(k, w); + dI(n, k); + dx(o | 0, n); + fn(b | 0, p | 0, 32) | 0; + p = t | 0; + bR(p, b, s, v) | 0; + dL(l, p); + dN(l, l, k); + dJ(m, h); + dM(l, l, m); + dD(q | 0, l); + l = fp(f, g, 32, 0) | 0; + g = b + l | 0; + fn(g | 0, r | 0, 32) | 0; + i = j; + return 0; +} +function dR(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + j = i; + i = i + 1920 | 0; + k = j + 64 | 0; + l = j + 576 | 0; + m = j + 1088 | 0; + n = j + 1600 | 0; + o = j + 1728 | 0; + if ((dw(k, e) | 0) != 0) { + p = -1; + i = j; + return p | 0; + } + if ((dw(m, h) | 0) != 0) { + p = -1; + i = j; + return p | 0; + } + h = j + 1856 | 0; + q = fp(f, g, -32, -1) | 0; + bR(h, e, q, H) | 0; + dL(n, h); + dF(k, k, n); + dy(k, k, m); + m = j | 0; + dx(m, k); + dJ(o, e + q | 0); + dI(l, o); + o = j + 32 | 0; + dx(o, l); + l = fp(f, g, -64, -1) | 0; + g = H; + if (!((l | 0) == 0 & (g | 0) == 0)) { + f = 0; + do { + a[b + f | 0] = a[e + (f + 32) | 0] | 0; + f = f + 1 | 0; + q = (f | 0) < 0 ? -1 : 0; + } while (q >>> 0 < g >>> 0 | q >>> 0 == g >>> 0 & f >>> 0 < l >>> 0); + } + c[d >> 2] = l; + c[d + 4 >> 2] = g; + p = em(m, o) | 0; + i = j; + return p | 0; +} +function dS(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0; + h = i; + i = i + 400 | 0; + j = h | 0; + k = h + 16 | 0; + l = h + 32 | 0; + m = h + 48 | 0; + n = h + 64 | 0; + o = h + 80 | 0; + p = h + 96 | 0; + q = h + 112 | 0; + r = h + 128 | 0; + s = h + 144 | 0; + t = h + 160 | 0; + u = h + 176 | 0; + v = h + 192 | 0; + w = h + 208 | 0; + x = h + 224 | 0; + y = h + 240 | 0; + z = h + 256 | 0; + A = h + 272 | 0; + d1(z, f); + f = z; + z = j; + B = g; + C = g + 16 | 0; + D = g + 32 | 0; + E = g + 48 | 0; + F = g + 64 | 0; + G = g + 80 | 0; + I = g + 96 | 0; + J = g + 112 | 0; + K = g + 128 | 0; + L = g + 144 | 0; + M = g + 160 | 0; + N = g + 176 | 0; + O = g + 192 | 0; + P = g + 208 | 0; + Q = g + 224 | 0; + R = g + 240 | 0; + S = g + 256 | 0; + T = g + 272 | 0; + U = g + 288 | 0; + V = g + 304 | 0; + W = g + 320 | 0; + X = g + 336 | 0; + Y = g + 352 | 0; + Z = g + 368 | 0; + _ = g + 384 | 0; + $ = g + 400 | 0; + aa = g + 416 | 0; + ab = g + 432 | 0; + ac = g + 448 | 0; + ad = g + 464 | 0; + ae = g + 480 | 0; + af = g + 496 | 0; + ag = g + 512 | 0; + ah = g + 528 | 0; + ai = g + 544 | 0; + aj = g + 560 | 0; + ak = g + 576 | 0; + al = g + 592 | 0; + am = g + 608 | 0; + an = g + 624 | 0; + ao = g + 640 | 0; + ap = g + 656 | 0; + aq = g + 672 | 0; + ar = g + 688 | 0; + as = g + 704 | 0; + at = g + 720 | 0; + au = g + 736 | 0; + av = g + 752 | 0; + aw = g + 768 | 0; + ax = g + 784 | 0; + ay = g + 800 | 0; + az = g + 816 | 0; + aA = g + 832 | 0; + aB = g + 848 | 0; + aC = g + 864 | 0; + aD = g + 880 | 0; + aE = g + 896 | 0; + aF = g + 912 | 0; + aG = g + 928 | 0; + aH = g + 944 | 0; + aI = g + 960 | 0; + aJ = g + 976 | 0; + aK = g + 992 | 0; + aL = g + 1008 | 0; + aM = g + 1024 | 0; + aN = g + 1040 | 0; + aO = g + 1056 | 0; + aP = g + 1072 | 0; + aQ = g + 1088 | 0; + aR = g + 1104 | 0; + aS = g + 1120 | 0; + aT = g + 1136 | 0; + aU = g + 1152 | 0; + aV = g + 1168 | 0; + aW = g + 1184 | 0; + aX = g + 1200 | 0; + aY = g + 1216 | 0; + aZ = g + 1232 | 0; + a_ = g + 1248 | 0; + a$ = g + 1264 | 0; + a0 = g + 1280 | 0; + a1 = g + 1296 | 0; + a2 = g + 1312 | 0; + a3 = g + 1328 | 0; + a4 = g + 1344 | 0; + a5 = g + 1360 | 0; + a6 = g + 1376 | 0; + a7 = g + 1392 | 0; + g = f + 12 | 0; + a8 = r; + a9 = s; + ba = v; + bb = x; + bc = u; + bd = y; + be = t; + bf = w; + bg = b; + b = e; + e = d; + while (1) { + c[z >> 2] = c[f >> 2]; + c[z + 4 >> 2] = c[f + 4 >> 2]; + c[z + 8 >> 2] = c[f + 8 >> 2]; + c[z + 12 >> 2] = c[f + 12 >> 2]; + d1(k, j); + d3(k, 110808); + d1(l, k); + d1(m, k); + d1(n, k); + d1(o, k); + d1(p, k); + d1(q, k); + d9(k, 1); + d9(l, 2); + d9(m, 3); + d9(n, 4); + d9(o, 5); + d9(p, 6); + d9(q, 7); + d3(j, 110888); + d3(k, 110872); + d3(l, 110872); + d3(m, 110872); + d3(n, 110872); + d3(o, 110872); + d3(p, 110872); + d3(q, 110872); + d1(r, p); + d6(r, 1); + d_(r, q); + d$(r, 110952); + d_(q, r); + d7(r, 1); + d_(p, r); + d1(r, n); + d6(r, 1); + d_(r, o); + d$(r, 110952); + d_(o, r); + d7(r, 1); + d_(n, r); + d1(r, l); + d6(r, 1); + d_(r, m); + d$(r, 110952); + d_(m, r); + d7(r, 1); + d_(l, r); + d1(r, j); + d6(r, 1); + d_(r, k); + d$(r, 110952); + d_(k, r); + d7(r, 1); + d_(j, r); + d1(r, o); + d6(r, 2); + d_(r, q); + d$(r, 110936); + d_(q, r); + d7(r, 2); + d_(o, r); + d1(r, n); + d6(r, 2); + d_(r, p); + d$(r, 110936); + d_(p, r); + d7(r, 2); + d_(n, r); + d1(r, k); + d6(r, 2); + d_(r, m); + d$(r, 110936); + d_(m, r); + d7(r, 2); + d_(k, r); + d1(r, j); + d6(r, 2); + d_(r, l); + d$(r, 110936); + d_(l, r); + d7(r, 2); + d_(j, r); + d1(r, m); + d6(r, 4); + d_(r, q); + d$(r, 110920); + d_(q, r); + d7(r, 4); + d_(m, r); + d1(r, l); + d6(r, 4); + d_(r, p); + d$(r, 110920); + d_(p, r); + d7(r, 4); + d_(l, r); + d1(r, k); + d6(r, 4); + d_(r, o); + d$(r, 110920); + d_(o, r); + d7(r, 4); + d_(k, r); + d1(r, j); + d6(r, 4); + d_(r, n); + d$(r, 110920); + d_(n, r); + d7(r, 4); + d_(j, r); + d_(j, B); + d3(j, 110840); + d_(k, C); + d3(k, 110840); + d_(l, D); + d3(l, 110840); + d_(m, E); + d3(m, 110840); + d_(n, F); + d3(n, 110840); + d_(o, G); + d3(o, 110840); + d_(p, I); + d3(p, 110840); + d_(q, J); + d3(q, 110840); + d_(o, p); + d_(l, k); + d_(o, j); + d_(p, l); + d_(m, j); + d_(p, m); + d_(m, q); + d_(m, n); + d_(q, o); + d_(m, k); + d_(n, o); + d_(l, q); + d_(k, o); + d1(u, q); + d1(t, k); + d1(s, o); + d1(w, l); + d1(v, p); + d_(u, n); + d_(t, l); + d_(s, m); + d_(w, n); + d_(v, j); + d1(x, u); + d1(r, t); + d1(y, u); + d0(t, s); + d0(u, v); + d_(y, r); + d$(x, v); + d$(r, s); + d_(v, s); + d$(y, v); + d1(v, m); + d_(v, j); + d$(w, v); + d_(u, w); + d_(t, w); + d1(w, q); + d_(w, k); + d1(v, o); + d1(s, w); + d_(v, p); + d0(s, v); + d$(w, v); + d_(r, w); + d_(u, y); + d_(t, x); + d_(s, y); + d_(r, x); + d_(s, x); + d1(v, l); + d1(w, n); + d1(x, k); + d1(y, q); + d$(v, m); + d$(w, j); + d$(x, o); + d0(y, p); + d_(u, v); + d_(t, w); + d_(s, x); + d_(r, y); + d1(v, u); + d_(v, t); + d$(u, s); + d1(x, r); + d_(x, u); + d1(y, v); + d$(y, x); + d_(y, t); + d1(w, s); + d_(w, r); + d_(u, t); + d$(w, u); + d_(w, r); + d_(s, w); + d1(t, x); + d_(t, w); + d$(t, r); + d_(s, t); + d_(x, t); + d$(x, y); + d_(x, v); + d1(v, p); + d1(r, o); + d1(t, y); + d_(t, x); + d$(t, p); + d_(p, o); + d$(p, x); + d$(o, y); + d_(p, o); + d_(o, t); + d_(v, j); + d_(r, m); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, j); + d_(j, m); + d$(j, s); + d$(m, w); + d_(j, m); + d_(m, t); + d_(p, v); + d_(j, v); + d_(o, r); + d_(m, r); + d1(v, q); + d1(r, k); + d_(v, n); + d_(r, l); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, n); + d_(n, l); + d$(n, s); + d$(l, w); + d_(n, l); + d_(l, t); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, q); + d_(q, k); + d$(q, x); + d$(k, y); + d_(q, k); + d_(k, u); + d_(q, v); + d_(n, v); + d_(k, r); + d_(l, r); + d_(q, j); + d_(k, p); + d_(n, q); + d_(p, j); + d_(j, k); + d_(k, o); + d_(o, l); + d_(n, o); + d_(l, m); + d_(m, o); + d_(p, m); + d4(r, j, 147); + d4(s, k, 147); + d4(t, n, 147); + d4(u, p, 147); + d4(v, m, 147); + d4(w, q, 147); + d4(x, l, 147); + d4(y, o, 147); + d_(j, r); + d_(k, s); + d_(n, t); + d_(p, u); + d_(m, v); + d_(q, w); + d_(l, x); + d_(o, y); + d_(r, o); + d_(s, j); + d_(t, k); + d_(s, o); + d_(u, n); + d_(v, p); + d_(w, m); + d_(u, o); + d_(x, q); + d_(y, l); + d_(v, o); + d4(j, j, 78); + d4(k, k, 78); + d4(n, n, 78); + d4(p, p, 78); + d4(m, m, 78); + d4(q, q, 78); + d4(l, l, 78); + d4(o, o, 78); + d_(r, j); + d_(s, k); + d_(t, n); + d_(u, p); + d_(v, m); + d_(w, q); + d_(x, l); + d_(y, o); + d_(r, K); + d3(r, 110840); + d_(s, L); + d3(s, 110840); + d_(t, M); + d3(t, 110840); + d_(u, N); + d3(u, 110840); + d_(v, O); + d3(v, 110840); + d_(w, P); + d3(w, 110840); + d_(x, Q); + d3(x, 110840); + d_(y, R); + d3(y, 110840); + d_(w, x); + d_(t, s); + d_(w, r); + d_(x, t); + d_(u, r); + d_(x, u); + d_(u, y); + d_(u, v); + d_(y, w); + d_(u, s); + d_(v, w); + d_(t, y); + d_(s, w); + d1(m, y); + d1(l, s); + d1(k, w); + d1(o, t); + d1(n, x); + d_(m, v); + d_(l, t); + d_(k, u); + d_(o, v); + d_(n, r); + d1(p, m); + d1(j, l); + d1(q, m); + d0(l, k); + d0(m, n); + d_(q, j); + d$(p, n); + d$(j, k); + d_(n, k); + d$(q, n); + d1(n, u); + d_(n, r); + d$(o, n); + d_(m, o); + d_(l, o); + d1(o, y); + d_(o, s); + d1(n, w); + d1(k, o); + d_(n, x); + d0(k, n); + d$(o, n); + d_(j, o); + d_(m, q); + d_(l, p); + d_(k, q); + d_(j, p); + d_(k, p); + d1(n, t); + d1(o, v); + d1(p, s); + d1(q, y); + d$(n, u); + d$(o, r); + d$(p, w); + d0(q, x); + d_(m, n); + d_(l, o); + d_(k, p); + d_(j, q); + d1(n, m); + d_(n, l); + d$(m, k); + d1(p, j); + d_(p, m); + d1(q, n); + d$(q, p); + d_(q, l); + d1(o, k); + d_(o, j); + d_(m, l); + d$(o, m); + d_(o, j); + d_(k, o); + d1(l, p); + d_(l, o); + d$(l, j); + d_(k, l); + d_(p, l); + d$(p, q); + d_(p, n); + d1(n, x); + d1(j, w); + d1(l, q); + d_(l, p); + d$(l, x); + d_(x, w); + d$(x, p); + d$(w, q); + d_(x, w); + d_(w, l); + d_(n, r); + d_(j, u); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, r); + d_(r, u); + d$(r, k); + d$(u, o); + d_(r, u); + d_(u, l); + d_(x, n); + d_(r, n); + d_(w, j); + d_(u, j); + d1(n, y); + d1(j, s); + d_(n, v); + d_(j, t); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, v); + d_(v, t); + d$(v, k); + d$(t, o); + d_(v, t); + d_(t, l); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, y); + d_(y, s); + d$(y, p); + d$(s, q); + d_(y, s); + d_(s, m); + d_(y, n); + d_(v, n); + d_(s, j); + d_(t, j); + d_(y, r); + d_(s, x); + d_(v, y); + d_(x, r); + d_(r, s); + d_(s, w); + d_(w, t); + d_(v, w); + d_(t, u); + d_(u, w); + d_(x, u); + d4(j, r, 147); + d4(k, s, 147); + d4(l, v, 147); + d4(m, x, 147); + d4(n, u, 147); + d4(o, y, 147); + d4(p, t, 147); + d4(q, w, 147); + d_(r, j); + d_(s, k); + d_(v, l); + d_(x, m); + d_(u, n); + d_(y, o); + d_(t, p); + d_(w, q); + d_(j, w); + d_(k, r); + d_(l, s); + d_(k, w); + d_(m, v); + d_(n, x); + d_(o, u); + d_(m, w); + d_(p, y); + d_(q, t); + d_(n, w); + d4(r, r, 78); + d4(s, s, 78); + d4(v, v, 78); + d4(x, x, 78); + d4(u, u, 78); + d4(y, y, 78); + d4(t, t, 78); + d4(w, w, 78); + d_(j, r); + d_(k, s); + d_(l, v); + d_(m, x); + d_(n, u); + d_(o, y); + d_(p, t); + d_(q, w); + d_(j, S); + d3(j, 110840); + d_(k, T); + d3(k, 110840); + d_(l, U); + d3(l, 110840); + d_(m, V); + d3(m, 110840); + d_(n, W); + d3(n, 110840); + d_(o, X); + d3(o, 110840); + d_(p, Y); + d3(p, 110840); + d_(q, Z); + d3(q, 110840); + d_(o, p); + d_(l, k); + d_(o, j); + d_(p, l); + d_(m, j); + d_(p, m); + d_(m, q); + d_(m, n); + d_(q, o); + d_(m, k); + d_(n, o); + d_(l, q); + d_(k, o); + d1(u, q); + d1(t, k); + d1(s, o); + d1(w, l); + d1(v, p); + d_(u, n); + d_(t, l); + d_(s, m); + d_(w, n); + d_(v, j); + d1(x, u); + d1(r, t); + d1(y, u); + d0(t, s); + d0(u, v); + d_(y, r); + d$(x, v); + d$(r, s); + d_(v, s); + d$(y, v); + d1(v, m); + d_(v, j); + d$(w, v); + d_(u, w); + d_(t, w); + d1(w, q); + d_(w, k); + d1(v, o); + d1(s, w); + d_(v, p); + d0(s, v); + d$(w, v); + d_(r, w); + d_(u, y); + d_(t, x); + d_(s, y); + d_(r, x); + d_(s, x); + d1(v, l); + d1(w, n); + d1(x, k); + d1(y, q); + d$(v, m); + d$(w, j); + d$(x, o); + d0(y, p); + d_(u, v); + d_(t, w); + d_(s, x); + d_(r, y); + d1(v, u); + d_(v, t); + d$(u, s); + d1(x, r); + d_(x, u); + d1(y, v); + d$(y, x); + d_(y, t); + d1(w, s); + d_(w, r); + d_(u, t); + d$(w, u); + d_(w, r); + d_(s, w); + d1(t, x); + d_(t, w); + d$(t, r); + d_(s, t); + d_(x, t); + d$(x, y); + d_(x, v); + d1(v, p); + d1(r, o); + d1(t, y); + d_(t, x); + d$(t, p); + d_(p, o); + d$(p, x); + d$(o, y); + d_(p, o); + d_(o, t); + d_(v, j); + d_(r, m); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, j); + d_(j, m); + d$(j, s); + d$(m, w); + d_(j, m); + d_(m, t); + d_(p, v); + d_(j, v); + d_(o, r); + d_(m, r); + d1(v, q); + d1(r, k); + d_(v, n); + d_(r, l); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, n); + d_(n, l); + d$(n, s); + d$(l, w); + d_(n, l); + d_(l, t); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, q); + d_(q, k); + d$(q, x); + d$(k, y); + d_(q, k); + d_(k, u); + d_(q, v); + d_(n, v); + d_(k, r); + d_(l, r); + d_(q, j); + d_(k, p); + d_(n, q); + d_(p, j); + d_(j, k); + d_(k, o); + d_(o, l); + d_(n, o); + d_(l, m); + d_(m, o); + d_(p, m); + d4(r, j, 147); + d4(s, k, 147); + d4(t, n, 147); + d4(u, p, 147); + d4(v, m, 147); + d4(w, q, 147); + d4(x, l, 147); + d4(y, o, 147); + d_(j, r); + d_(k, s); + d_(n, t); + d_(p, u); + d_(m, v); + d_(q, w); + d_(l, x); + d_(o, y); + d_(r, o); + d_(s, j); + d_(t, k); + d_(s, o); + d_(u, n); + d_(v, p); + d_(w, m); + d_(u, o); + d_(x, q); + d_(y, l); + d_(v, o); + d4(j, j, 78); + d4(k, k, 78); + d4(n, n, 78); + d4(p, p, 78); + d4(m, m, 78); + d4(q, q, 78); + d4(l, l, 78); + d4(o, o, 78); + d_(r, j); + d_(s, k); + d_(t, n); + d_(u, p); + d_(v, m); + d_(w, q); + d_(x, l); + d_(y, o); + d_(r, _); + d3(r, 110840); + d_(s, $); + d3(s, 110840); + d_(t, aa); + d3(t, 110840); + d_(u, ab); + d3(u, 110840); + d_(v, ac); + d3(v, 110840); + d_(w, ad); + d3(w, 110840); + d_(x, ae); + d3(x, 110840); + d_(y, af); + d3(y, 110840); + d_(w, x); + d_(t, s); + d_(w, r); + d_(x, t); + d_(u, r); + d_(x, u); + d_(u, y); + d_(u, v); + d_(y, w); + d_(u, s); + d_(v, w); + d_(t, y); + d_(s, w); + d1(m, y); + d1(l, s); + d1(k, w); + d1(o, t); + d1(n, x); + d_(m, v); + d_(l, t); + d_(k, u); + d_(o, v); + d_(n, r); + d1(p, m); + d1(j, l); + d1(q, m); + d0(l, k); + d0(m, n); + d_(q, j); + d$(p, n); + d$(j, k); + d_(n, k); + d$(q, n); + d1(n, u); + d_(n, r); + d$(o, n); + d_(m, o); + d_(l, o); + d1(o, y); + d_(o, s); + d1(n, w); + d1(k, o); + d_(n, x); + d0(k, n); + d$(o, n); + d_(j, o); + d_(m, q); + d_(l, p); + d_(k, q); + d_(j, p); + d_(k, p); + d1(n, t); + d1(o, v); + d1(p, s); + d1(q, y); + d$(n, u); + d$(o, r); + d$(p, w); + d0(q, x); + d_(m, n); + d_(l, o); + d_(k, p); + d_(j, q); + d1(n, m); + d_(n, l); + d$(m, k); + d1(p, j); + d_(p, m); + d1(q, n); + d$(q, p); + d_(q, l); + d1(o, k); + d_(o, j); + d_(m, l); + d$(o, m); + d_(o, j); + d_(k, o); + d1(l, p); + d_(l, o); + d$(l, j); + d_(k, l); + d_(p, l); + d$(p, q); + d_(p, n); + d1(n, x); + d1(j, w); + d1(l, q); + d_(l, p); + d$(l, x); + d_(x, w); + d$(x, p); + d$(w, q); + d_(x, w); + d_(w, l); + d_(n, r); + d_(j, u); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, r); + d_(r, u); + d$(r, k); + d$(u, o); + d_(r, u); + d_(u, l); + d_(x, n); + d_(r, n); + d_(w, j); + d_(u, j); + d1(n, y); + d1(j, s); + d_(n, v); + d_(j, t); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, v); + d_(v, t); + d$(v, k); + d$(t, o); + d_(v, t); + d_(t, l); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, y); + d_(y, s); + d$(y, p); + d$(s, q); + d_(y, s); + d_(s, m); + d_(y, n); + d_(v, n); + d_(s, j); + d_(t, j); + d_(y, r); + d_(s, x); + d_(v, y); + d_(x, r); + d_(r, s); + d_(s, w); + d_(w, t); + d_(v, w); + d_(t, u); + d_(u, w); + d_(x, u); + d4(j, r, 147); + d4(k, s, 147); + d4(l, v, 147); + d4(m, x, 147); + d4(n, u, 147); + d4(o, y, 147); + d4(p, t, 147); + d4(q, w, 147); + d_(r, j); + d_(s, k); + d_(v, l); + d_(x, m); + d_(u, n); + d_(y, o); + d_(t, p); + d_(w, q); + d_(j, w); + d_(k, r); + d_(l, s); + d_(k, w); + d_(m, v); + d_(n, x); + d_(o, u); + d_(m, w); + d_(p, y); + d_(q, t); + d_(n, w); + d4(r, r, 78); + d4(s, s, 78); + d4(v, v, 78); + d4(x, x, 78); + d4(u, u, 78); + d4(y, y, 78); + d4(t, t, 78); + d4(w, w, 78); + d_(j, r); + d_(k, s); + d_(l, v); + d_(m, x); + d_(n, u); + d_(o, y); + d_(p, t); + d_(q, w); + d_(j, ag); + d3(j, 110840); + d_(k, ah); + d3(k, 110840); + d_(l, ai); + d3(l, 110840); + d_(m, aj); + d3(m, 110840); + d_(n, ak); + d3(n, 110840); + d_(o, al); + d3(o, 110840); + d_(p, am); + d3(p, 110840); + d_(q, an); + d3(q, 110840); + d_(o, p); + d_(l, k); + d_(o, j); + d_(p, l); + d_(m, j); + d_(p, m); + d_(m, q); + d_(m, n); + d_(q, o); + d_(m, k); + d_(n, o); + d_(l, q); + d_(k, o); + d1(u, q); + d1(t, k); + d1(s, o); + d1(w, l); + d1(v, p); + d_(u, n); + d_(t, l); + d_(s, m); + d_(w, n); + d_(v, j); + d1(x, u); + d1(r, t); + d1(y, u); + d0(t, s); + d0(u, v); + d_(y, r); + d$(x, v); + d$(r, s); + d_(v, s); + d$(y, v); + d1(v, m); + d_(v, j); + d$(w, v); + d_(u, w); + d_(t, w); + d1(w, q); + d_(w, k); + d1(v, o); + d1(s, w); + d_(v, p); + d0(s, v); + d$(w, v); + d_(r, w); + d_(u, y); + d_(t, x); + d_(s, y); + d_(r, x); + d_(s, x); + d1(v, l); + d1(w, n); + d1(x, k); + d1(y, q); + d$(v, m); + d$(w, j); + d$(x, o); + d0(y, p); + d_(u, v); + d_(t, w); + d_(s, x); + d_(r, y); + d1(v, u); + d_(v, t); + d$(u, s); + d1(x, r); + d_(x, u); + d1(y, v); + d$(y, x); + d_(y, t); + d1(w, s); + d_(w, r); + d_(u, t); + d$(w, u); + d_(w, r); + d_(s, w); + d1(t, x); + d_(t, w); + d$(t, r); + d_(s, t); + d_(x, t); + d$(x, y); + d_(x, v); + d1(v, p); + d1(r, o); + d1(t, y); + d_(t, x); + d$(t, p); + d_(p, o); + d$(p, x); + d$(o, y); + d_(p, o); + d_(o, t); + d_(v, j); + d_(r, m); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, j); + d_(j, m); + d$(j, s); + d$(m, w); + d_(j, m); + d_(m, t); + d_(p, v); + d_(j, v); + d_(o, r); + d_(m, r); + d1(v, q); + d1(r, k); + d_(v, n); + d_(r, l); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, n); + d_(n, l); + d$(n, s); + d$(l, w); + d_(n, l); + d_(l, t); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, q); + d_(q, k); + d$(q, x); + d$(k, y); + d_(q, k); + d_(k, u); + d_(q, v); + d_(n, v); + d_(k, r); + d_(l, r); + d_(q, j); + d_(k, p); + d_(n, q); + d_(p, j); + d_(j, k); + d_(k, o); + d_(o, l); + d_(n, o); + d_(l, m); + d_(m, o); + d_(p, m); + d4(r, j, 147); + d4(s, k, 147); + d4(t, n, 147); + d4(u, p, 147); + d4(v, m, 147); + d4(w, q, 147); + d4(x, l, 147); + d4(y, o, 147); + d_(j, r); + d_(k, s); + d_(n, t); + d_(p, u); + d_(m, v); + d_(q, w); + d_(l, x); + d_(o, y); + d_(r, o); + d_(s, j); + d_(t, k); + d_(s, o); + d_(u, n); + d_(v, p); + d_(w, m); + d_(u, o); + d_(x, q); + d_(y, l); + d_(v, o); + d4(j, j, 78); + d4(k, k, 78); + d4(n, n, 78); + d4(p, p, 78); + d4(m, m, 78); + d4(q, q, 78); + d4(l, l, 78); + d4(o, o, 78); + d_(r, j); + d_(s, k); + d_(t, n); + d_(u, p); + d_(v, m); + d_(w, q); + d_(x, l); + d_(y, o); + d_(r, ao); + d3(r, 110840); + d_(s, ap); + d3(s, 110840); + d_(t, aq); + d3(t, 110840); + d_(u, ar); + d3(u, 110840); + d_(v, as); + d3(v, 110840); + d_(w, at); + d3(w, 110840); + d_(x, au); + d3(x, 110840); + d_(y, av); + d3(y, 110840); + d_(w, x); + d_(t, s); + d_(w, r); + d_(x, t); + d_(u, r); + d_(x, u); + d_(u, y); + d_(u, v); + d_(y, w); + d_(u, s); + d_(v, w); + d_(t, y); + d_(s, w); + d1(m, y); + d1(l, s); + d1(k, w); + d1(o, t); + d1(n, x); + d_(m, v); + d_(l, t); + d_(k, u); + d_(o, v); + d_(n, r); + d1(p, m); + d1(j, l); + d1(q, m); + d0(l, k); + d0(m, n); + d_(q, j); + d$(p, n); + d$(j, k); + d_(n, k); + d$(q, n); + d1(n, u); + d_(n, r); + d$(o, n); + d_(m, o); + d_(l, o); + d1(o, y); + d_(o, s); + d1(n, w); + d1(k, o); + d_(n, x); + d0(k, n); + d$(o, n); + d_(j, o); + d_(m, q); + d_(l, p); + d_(k, q); + d_(j, p); + d_(k, p); + d1(n, t); + d1(o, v); + d1(p, s); + d1(q, y); + d$(n, u); + d$(o, r); + d$(p, w); + d0(q, x); + d_(m, n); + d_(l, o); + d_(k, p); + d_(j, q); + d1(n, m); + d_(n, l); + d$(m, k); + d1(p, j); + d_(p, m); + d1(q, n); + d$(q, p); + d_(q, l); + d1(o, k); + d_(o, j); + d_(m, l); + d$(o, m); + d_(o, j); + d_(k, o); + d1(l, p); + d_(l, o); + d$(l, j); + d_(k, l); + d_(p, l); + d$(p, q); + d_(p, n); + d1(n, x); + d1(j, w); + d1(l, q); + d_(l, p); + d$(l, x); + d_(x, w); + d$(x, p); + d$(w, q); + d_(x, w); + d_(w, l); + d_(n, r); + d_(j, u); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, r); + d_(r, u); + d$(r, k); + d$(u, o); + d_(r, u); + d_(u, l); + d_(x, n); + d_(r, n); + d_(w, j); + d_(u, j); + d1(n, y); + d1(j, s); + d_(n, v); + d_(j, t); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, v); + d_(v, t); + d$(v, k); + d$(t, o); + d_(v, t); + d_(t, l); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, y); + d_(y, s); + d$(y, p); + d$(s, q); + d_(y, s); + d_(s, m); + d_(y, n); + d_(v, n); + d_(s, j); + d_(t, j); + d_(y, r); + d_(s, x); + d_(v, y); + d_(x, r); + d_(r, s); + d_(s, w); + d_(w, t); + d_(v, w); + d_(t, u); + d_(u, w); + d_(x, u); + d4(j, r, 147); + d4(k, s, 147); + d4(l, v, 147); + d4(m, x, 147); + d4(n, u, 147); + d4(o, y, 147); + d4(p, t, 147); + d4(q, w, 147); + d_(r, j); + d_(s, k); + d_(v, l); + d_(x, m); + d_(u, n); + d_(y, o); + d_(t, p); + d_(w, q); + d_(j, w); + d_(k, r); + d_(l, s); + d_(k, w); + d_(m, v); + d_(n, x); + d_(o, u); + d_(m, w); + d_(p, y); + d_(q, t); + d_(n, w); + d4(r, r, 78); + d4(s, s, 78); + d4(v, v, 78); + d4(x, x, 78); + d4(u, u, 78); + d4(y, y, 78); + d4(t, t, 78); + d4(w, w, 78); + d_(j, r); + d_(k, s); + d_(l, v); + d_(m, x); + d_(n, u); + d_(o, y); + d_(p, t); + d_(q, w); + d_(j, aw); + d3(j, 110840); + d_(k, ax); + d3(k, 110840); + d_(l, ay); + d3(l, 110840); + d_(m, az); + d3(m, 110840); + d_(n, aA); + d3(n, 110840); + d_(o, aB); + d3(o, 110840); + d_(p, aC); + d3(p, 110840); + d_(q, aD); + d3(q, 110840); + d_(o, p); + d_(l, k); + d_(o, j); + d_(p, l); + d_(m, j); + d_(p, m); + d_(m, q); + d_(m, n); + d_(q, o); + d_(m, k); + d_(n, o); + d_(l, q); + d_(k, o); + d1(u, q); + d1(t, k); + d1(s, o); + d1(w, l); + d1(v, p); + d_(u, n); + d_(t, l); + d_(s, m); + d_(w, n); + d_(v, j); + d1(x, u); + d1(r, t); + d1(y, u); + d0(t, s); + d0(u, v); + d_(y, r); + d$(x, v); + d$(r, s); + d_(v, s); + d$(y, v); + d1(v, m); + d_(v, j); + d$(w, v); + d_(u, w); + d_(t, w); + d1(w, q); + d_(w, k); + d1(v, o); + d1(s, w); + d_(v, p); + d0(s, v); + d$(w, v); + d_(r, w); + d_(u, y); + d_(t, x); + d_(s, y); + d_(r, x); + d_(s, x); + d1(v, l); + d1(w, n); + d1(x, k); + d1(y, q); + d$(v, m); + d$(w, j); + d$(x, o); + d0(y, p); + d_(u, v); + d_(t, w); + d_(s, x); + d_(r, y); + d1(v, u); + d_(v, t); + d$(u, s); + d1(x, r); + d_(x, u); + d1(y, v); + d$(y, x); + d_(y, t); + d1(w, s); + d_(w, r); + d_(u, t); + d$(w, u); + d_(w, r); + d_(s, w); + d1(t, x); + d_(t, w); + d$(t, r); + d_(s, t); + d_(x, t); + d$(x, y); + d_(x, v); + d1(v, p); + d1(r, o); + d1(t, y); + d_(t, x); + d$(t, p); + d_(p, o); + d$(p, x); + d$(o, y); + d_(p, o); + d_(o, t); + d_(v, j); + d_(r, m); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, j); + d_(j, m); + d$(j, s); + d$(m, w); + d_(j, m); + d_(m, t); + d_(p, v); + d_(j, v); + d_(o, r); + d_(m, r); + d1(v, q); + d1(r, k); + d_(v, n); + d_(r, l); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, n); + d_(n, l); + d$(n, s); + d$(l, w); + d_(n, l); + d_(l, t); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, q); + d_(q, k); + d$(q, x); + d$(k, y); + d_(q, k); + d_(k, u); + d_(q, v); + d_(n, v); + d_(k, r); + d_(l, r); + d_(q, j); + d_(k, p); + d_(n, q); + d_(p, j); + d_(j, k); + d_(k, o); + d_(o, l); + d_(n, o); + d_(l, m); + d_(m, o); + d_(p, m); + d4(r, j, 147); + d4(s, k, 147); + d4(t, n, 147); + d4(u, p, 147); + d4(v, m, 147); + d4(w, q, 147); + d4(x, l, 147); + d4(y, o, 147); + d_(j, r); + d_(k, s); + d_(n, t); + d_(p, u); + d_(m, v); + d_(q, w); + d_(l, x); + d_(o, y); + d_(r, o); + d_(s, j); + d_(t, k); + d_(s, o); + d_(u, n); + d_(v, p); + d_(w, m); + d_(u, o); + d_(x, q); + d_(y, l); + d_(v, o); + d4(j, j, 78); + d4(k, k, 78); + d4(n, n, 78); + d4(p, p, 78); + d4(m, m, 78); + d4(q, q, 78); + d4(l, l, 78); + d4(o, o, 78); + d_(r, j); + d_(s, k); + d_(t, n); + d_(u, p); + d_(v, m); + d_(w, q); + d_(x, l); + d_(y, o); + d_(r, aE); + d3(r, 110840); + d_(s, aF); + d3(s, 110840); + d_(t, aG); + d3(t, 110840); + d_(u, aH); + d3(u, 110840); + d_(v, aI); + d3(v, 110840); + d_(w, aJ); + d3(w, 110840); + d_(x, aK); + d3(x, 110840); + d_(y, aL); + d3(y, 110840); + d_(w, x); + d_(t, s); + d_(w, r); + d_(x, t); + d_(u, r); + d_(x, u); + d_(u, y); + d_(u, v); + d_(y, w); + d_(u, s); + d_(v, w); + d_(t, y); + d_(s, w); + d1(m, y); + d1(l, s); + d1(k, w); + d1(o, t); + d1(n, x); + d_(m, v); + d_(l, t); + d_(k, u); + d_(o, v); + d_(n, r); + d1(p, m); + d1(j, l); + d1(q, m); + d0(l, k); + d0(m, n); + d_(q, j); + d$(p, n); + d$(j, k); + d_(n, k); + d$(q, n); + d1(n, u); + d_(n, r); + d$(o, n); + d_(m, o); + d_(l, o); + d1(o, y); + d_(o, s); + d1(n, w); + d1(k, o); + d_(n, x); + d0(k, n); + d$(o, n); + d_(j, o); + d_(m, q); + d_(l, p); + d_(k, q); + d_(j, p); + d_(k, p); + d1(n, t); + d1(o, v); + d1(p, s); + d1(q, y); + d$(n, u); + d$(o, r); + d$(p, w); + d0(q, x); + d_(m, n); + d_(l, o); + d_(k, p); + d_(j, q); + d1(n, m); + d_(n, l); + d$(m, k); + d1(p, j); + d_(p, m); + d1(q, n); + d$(q, p); + d_(q, l); + d1(o, k); + d_(o, j); + d_(m, l); + d$(o, m); + d_(o, j); + d_(k, o); + d1(l, p); + d_(l, o); + d$(l, j); + d_(k, l); + d_(p, l); + d$(p, q); + d_(p, n); + d1(n, x); + d1(j, w); + d1(l, q); + d_(l, p); + d$(l, x); + d_(x, w); + d$(x, p); + d$(w, q); + d_(x, w); + d_(w, l); + d_(n, r); + d_(j, u); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, r); + d_(r, u); + d$(r, k); + d$(u, o); + d_(r, u); + d_(u, l); + d_(x, n); + d_(r, n); + d_(w, j); + d_(u, j); + d1(n, y); + d1(j, s); + d_(n, v); + d_(j, t); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, v); + d_(v, t); + d$(v, k); + d$(t, o); + d_(v, t); + d_(t, l); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, y); + d_(y, s); + d$(y, p); + d$(s, q); + d_(y, s); + d_(s, m); + d_(y, n); + d_(v, n); + d_(s, j); + d_(t, j); + d_(y, r); + d_(s, x); + d_(v, y); + d_(x, r); + d_(r, s); + d_(s, w); + d_(w, t); + d_(v, w); + d_(t, u); + d_(u, w); + d_(x, u); + d4(j, r, 147); + d4(k, s, 147); + d4(l, v, 147); + d4(m, x, 147); + d4(n, u, 147); + d4(o, y, 147); + d4(p, t, 147); + d4(q, w, 147); + d_(r, j); + d_(s, k); + d_(v, l); + d_(x, m); + d_(u, n); + d_(y, o); + d_(t, p); + d_(w, q); + d_(j, w); + d_(k, r); + d_(l, s); + d_(k, w); + d_(m, v); + d_(n, x); + d_(o, u); + d_(m, w); + d_(p, y); + d_(q, t); + d_(n, w); + d4(r, r, 78); + d4(s, s, 78); + d4(v, v, 78); + d4(x, x, 78); + d4(u, u, 78); + d4(y, y, 78); + d4(t, t, 78); + d4(w, w, 78); + d_(j, r); + d_(k, s); + d_(l, v); + d_(m, x); + d_(n, u); + d_(o, y); + d_(p, t); + d_(q, w); + d_(j, aM); + d3(j, 110840); + d_(k, aN); + d3(k, 110840); + d_(l, aO); + d3(l, 110840); + d_(m, aP); + d3(m, 110840); + d_(n, aQ); + d3(n, 110840); + d_(o, aR); + d3(o, 110840); + d_(p, aS); + d3(p, 110840); + d_(q, aT); + d3(q, 110840); + d_(o, p); + d_(l, k); + d_(o, j); + d_(p, l); + d_(m, j); + d_(p, m); + d_(m, q); + d_(m, n); + d_(q, o); + d_(m, k); + d_(n, o); + d_(l, q); + d_(k, o); + d1(u, q); + d1(t, k); + d1(s, o); + d1(w, l); + d1(v, p); + d_(u, n); + d_(t, l); + d_(s, m); + d_(w, n); + d_(v, j); + d1(x, u); + d1(r, t); + d1(y, u); + d0(t, s); + d0(u, v); + d_(y, r); + d$(x, v); + d$(r, s); + d_(v, s); + d$(y, v); + d1(v, m); + d_(v, j); + d$(w, v); + d_(u, w); + d_(t, w); + d1(w, q); + d_(w, k); + d1(v, o); + d1(s, w); + d_(v, p); + d0(s, v); + d$(w, v); + d_(r, w); + d_(u, y); + d_(t, x); + d_(s, y); + d_(r, x); + d_(s, x); + d1(v, l); + d1(w, n); + d1(x, k); + d1(y, q); + d$(v, m); + d$(w, j); + d$(x, o); + d0(y, p); + d_(u, v); + d_(t, w); + d_(s, x); + d_(r, y); + d1(v, u); + d_(v, t); + d$(u, s); + d1(x, r); + d_(x, u); + d1(y, v); + d$(y, x); + d_(y, t); + d1(w, s); + d_(w, r); + d_(u, t); + d$(w, u); + d_(w, r); + d_(s, w); + d1(t, x); + d_(t, w); + d$(t, r); + d_(s, t); + d_(x, t); + d$(x, y); + d_(x, v); + d1(v, p); + d1(r, o); + d1(t, y); + d_(t, x); + d$(t, p); + d_(p, o); + d$(p, x); + d$(o, y); + d_(p, o); + d_(o, t); + d_(v, j); + d_(r, m); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, j); + d_(j, m); + d$(j, s); + d$(m, w); + d_(j, m); + d_(m, t); + d_(p, v); + d_(j, v); + d_(o, r); + d_(m, r); + d1(v, q); + d1(r, k); + d_(v, n); + d_(r, l); + d1(u, y); + d_(u, x); + d$(u, v); + d_(v, r); + d$(v, x); + d$(r, y); + d_(r, v); + d_(v, u); + d1(t, w); + d_(t, s); + d$(t, n); + d_(n, l); + d$(n, s); + d$(l, w); + d_(n, l); + d_(l, t); + d_(y, w); + d_(x, s); + d1(u, y); + d_(u, x); + d$(u, q); + d_(q, k); + d$(q, x); + d$(k, y); + d_(q, k); + d_(k, u); + d_(q, v); + d_(n, v); + d_(k, r); + d_(l, r); + d_(q, j); + d_(k, p); + d_(n, q); + d_(p, j); + d_(j, k); + d_(k, o); + d_(o, l); + d_(n, o); + d_(l, m); + d_(m, o); + d_(p, m); + d4(r, j, 147); + d4(s, k, 147); + d4(t, n, 147); + d4(u, p, 147); + d4(v, m, 147); + d4(w, q, 147); + d4(x, l, 147); + d4(y, o, 147); + d_(j, r); + d_(k, s); + d_(n, t); + d_(p, u); + d_(m, v); + d_(q, w); + d_(l, x); + d_(o, y); + d_(r, o); + d_(s, j); + d_(t, k); + d_(s, o); + d_(u, n); + d_(v, p); + d_(w, m); + d_(u, o); + d_(x, q); + d_(y, l); + d_(v, o); + d4(j, j, 78); + d4(k, k, 78); + d4(n, n, 78); + d4(p, p, 78); + d4(m, m, 78); + d4(q, q, 78); + d4(l, l, 78); + d4(o, o, 78); + d_(r, j); + d_(s, k); + d_(t, n); + d_(u, p); + d_(v, m); + d_(w, q); + d_(x, l); + d_(y, o); + d_(r, aU); + d3(r, 110824); + d_(s, aV); + d3(s, 110824); + d_(t, aW); + d3(t, 110824); + d_(u, aX); + d3(u, 110824); + d_(v, aY); + d3(v, 110824); + d_(w, aZ); + d3(w, 110824); + d_(x, a_); + d3(x, 110824); + d_(y, a$); + d3(y, 110824); + d_(w, x); + d_(t, s); + d_(w, r); + d_(x, t); + d_(u, r); + d_(x, u); + d_(u, y); + d_(u, v); + d_(y, w); + d_(u, s); + d_(v, w); + d_(t, y); + d_(s, w); + d1(m, y); + d1(l, s); + d1(k, w); + d1(o, t); + d1(n, x); + d_(m, v); + d_(l, t); + d_(k, u); + d_(o, v); + d_(n, r); + d1(p, m); + d1(j, l); + d1(q, m); + d0(l, k); + d0(m, n); + d_(q, j); + d$(p, n); + d$(j, k); + d_(n, k); + d$(q, n); + d1(n, u); + d_(n, r); + d$(o, n); + d_(m, o); + d_(l, o); + d1(o, y); + d_(o, s); + d1(n, w); + d1(k, o); + d_(n, x); + d0(k, n); + d$(o, n); + d_(j, o); + d_(m, q); + d_(l, p); + d_(k, q); + d_(j, p); + d_(k, p); + d1(n, t); + d1(o, v); + d1(p, s); + d1(q, y); + d$(n, u); + d$(o, r); + d$(p, w); + d0(q, x); + d_(m, n); + d_(l, o); + d_(k, p); + d_(j, q); + d1(n, m); + d_(n, l); + d$(m, k); + d1(p, j); + d_(p, m); + d1(q, n); + d$(q, p); + d_(q, l); + d1(o, k); + d_(o, j); + d_(m, l); + d$(o, m); + d_(o, j); + d_(k, o); + d1(l, p); + d_(l, o); + d$(l, j); + d_(k, l); + d_(p, l); + d$(p, q); + d_(p, n); + d1(n, x); + d1(j, w); + d1(l, q); + d_(l, p); + d$(l, x); + d_(x, w); + d$(x, p); + d$(w, q); + d_(x, w); + d_(w, l); + d_(n, r); + d_(j, u); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, r); + d_(r, u); + d$(r, k); + d$(u, o); + d_(r, u); + d_(u, l); + d_(x, n); + d_(r, n); + d_(w, j); + d_(u, j); + d1(n, y); + d1(j, s); + d_(n, v); + d_(j, t); + d1(m, q); + d_(m, p); + d$(m, n); + d_(n, j); + d$(n, p); + d$(j, q); + d_(j, n); + d_(n, m); + d1(l, o); + d_(l, k); + d$(l, v); + d_(v, t); + d$(v, k); + d$(t, o); + d_(v, t); + d_(t, l); + d_(q, o); + d_(p, k); + d1(m, q); + d_(m, p); + d$(m, y); + d_(y, s); + d$(y, p); + d$(s, q); + d_(y, s); + d_(s, m); + d_(y, n); + d_(v, n); + d_(s, j); + d_(t, j); + d_(y, r); + d_(s, x); + d_(v, y); + d_(x, r); + d_(r, s); + d_(s, w); + d_(w, t); + d_(v, w); + d_(t, u); + d_(u, w); + d_(x, u); + d_(r, a0); + d_(s, a1); + d_(v, a2); + d_(x, a3); + d_(u, a4); + d_(y, a5); + d_(t, a6); + d_(w, a7); + d1(j, t); + d6(j, 1); + d_(j, w); + d$(j, 110952); + d_(w, j); + d7(j, 1); + d_(t, j); + d1(j, u); + d6(j, 1); + d_(j, y); + d$(j, 110952); + d_(y, j); + d7(j, 1); + d_(u, j); + d1(j, v); + d6(j, 1); + d_(j, x); + d$(j, 110952); + d_(x, j); + d7(j, 1); + d_(v, j); + d1(j, r); + d6(j, 1); + d_(j, s); + d$(j, 110952); + d_(s, j); + d7(j, 1); + d_(r, j); + d1(j, y); + d6(j, 2); + d_(j, w); + d$(j, 110936); + d_(w, j); + d7(j, 2); + d_(y, j); + d1(j, u); + d6(j, 2); + d_(j, t); + d$(j, 110936); + d_(t, j); + d7(j, 2); + d_(u, j); + d1(j, s); + d6(j, 2); + d_(j, x); + d$(j, 110936); + d_(x, j); + d7(j, 2); + d_(s, j); + d1(j, r); + d6(j, 2); + d_(j, v); + d$(j, 110936); + d_(v, j); + d7(j, 2); + d_(r, j); + d1(j, x); + d6(j, 4); + d_(j, w); + d$(j, 110920); + d_(w, j); + d7(j, 4); + d_(x, j); + d1(j, v); + d6(j, 4); + d_(j, t); + d$(j, 110920); + d_(t, j); + d7(j, 4); + d_(v, j); + d1(j, s); + d6(j, 4); + d_(j, y); + d$(j, 110920); + d_(y, j); + d7(j, 4); + d_(s, j); + d1(j, r); + d6(j, 4); + d_(j, u); + d$(j, 110920); + d_(u, j); + d7(j, 4); + d_(r, j); + d = 0; + if (b >>> 0 < d >>> 0 | b >>> 0 == d >>> 0 & e >>> 0 < 128 >>> 0) { + break; + } + dV(g, (dU(g) | 0) + 8 | 0); + c[bg >> 2] = c[a8 >> 2]; + c[bg + 4 >> 2] = c[a8 + 4 >> 2]; + c[bg + 8 >> 2] = c[a8 + 8 >> 2]; + c[bg + 12 >> 2] = c[a8 + 12 >> 2]; + d = bg + 16 | 0; + c[d >> 2] = c[a9 >> 2]; + c[d + 4 >> 2] = c[a9 + 4 >> 2]; + c[d + 8 >> 2] = c[a9 + 8 >> 2]; + c[d + 12 >> 2] = c[a9 + 12 >> 2]; + d = bg + 32 | 0; + c[d >> 2] = c[ba >> 2]; + c[d + 4 >> 2] = c[ba + 4 >> 2]; + c[d + 8 >> 2] = c[ba + 8 >> 2]; + c[d + 12 >> 2] = c[ba + 12 >> 2]; + d = bg + 48 | 0; + c[d >> 2] = c[bb >> 2]; + c[d + 4 >> 2] = c[bb + 4 >> 2]; + c[d + 8 >> 2] = c[bb + 8 >> 2]; + c[d + 12 >> 2] = c[bb + 12 >> 2]; + d = bg + 64 | 0; + c[d >> 2] = c[bc >> 2]; + c[d + 4 >> 2] = c[bc + 4 >> 2]; + c[d + 8 >> 2] = c[bc + 8 >> 2]; + c[d + 12 >> 2] = c[bc + 12 >> 2]; + d = bg + 80 | 0; + c[d >> 2] = c[bd >> 2]; + c[d + 4 >> 2] = c[bd + 4 >> 2]; + c[d + 8 >> 2] = c[bd + 8 >> 2]; + c[d + 12 >> 2] = c[bd + 12 >> 2]; + d = bg + 96 | 0; + c[d >> 2] = c[be >> 2]; + c[d + 4 >> 2] = c[be + 4 >> 2]; + c[d + 8 >> 2] = c[be + 8 >> 2]; + c[d + 12 >> 2] = c[be + 12 >> 2]; + d = bg + 112 | 0; + c[d >> 2] = c[bf >> 2]; + c[d + 4 >> 2] = c[bf + 4 >> 2]; + c[d + 8 >> 2] = c[bf + 8 >> 2]; + c[d + 12 >> 2] = c[bf + 12 >> 2]; + if ((e | 0) == 128 & (b | 0) == 0) { + bh = 578; + break; + } + d = fp(e, b, -128, -1) | 0; + bg = bg + 128 | 0; + b = H; + e = d; + } + if ((bh | 0) == 578) { + i = h; + return 0; + } + bh = f + 12 | 0; + f = fp(dU(bh) | 0, 0, e >>> 4 | b << 28, b >>> 4 | 0 << 28) | 0; + dV(bh, f); + f = A; + bh = r; + c[f >> 2] = c[bh >> 2]; + c[f + 4 >> 2] = c[bh + 4 >> 2]; + c[f + 8 >> 2] = c[bh + 8 >> 2]; + c[f + 12 >> 2] = c[bh + 12 >> 2]; + bh = A + 16 | 0; + r = s; + c[bh >> 2] = c[r >> 2]; + c[bh + 4 >> 2] = c[r + 4 >> 2]; + c[bh + 8 >> 2] = c[r + 8 >> 2]; + c[bh + 12 >> 2] = c[r + 12 >> 2]; + r = A + 32 | 0; + bh = v; + c[r >> 2] = c[bh >> 2]; + c[r + 4 >> 2] = c[bh + 4 >> 2]; + c[r + 8 >> 2] = c[bh + 8 >> 2]; + c[r + 12 >> 2] = c[bh + 12 >> 2]; + bh = A + 48 | 0; + r = x; + c[bh >> 2] = c[r >> 2]; + c[bh + 4 >> 2] = c[r + 4 >> 2]; + c[bh + 8 >> 2] = c[r + 8 >> 2]; + c[bh + 12 >> 2] = c[r + 12 >> 2]; + r = A + 64 | 0; + bh = u; + c[r >> 2] = c[bh >> 2]; + c[r + 4 >> 2] = c[bh + 4 >> 2]; + c[r + 8 >> 2] = c[bh + 8 >> 2]; + c[r + 12 >> 2] = c[bh + 12 >> 2]; + bh = A + 80 | 0; + r = y; + c[bh >> 2] = c[r >> 2]; + c[bh + 4 >> 2] = c[r + 4 >> 2]; + c[bh + 8 >> 2] = c[r + 8 >> 2]; + c[bh + 12 >> 2] = c[r + 12 >> 2]; + r = A + 96 | 0; + bh = t; + c[r >> 2] = c[bh >> 2]; + c[r + 4 >> 2] = c[bh + 4 >> 2]; + c[r + 8 >> 2] = c[bh + 8 >> 2]; + c[r + 12 >> 2] = c[bh + 12 >> 2]; + bh = A + 112 | 0; + A = w; + c[bh >> 2] = c[A >> 2]; + c[bh + 4 >> 2] = c[A + 4 >> 2]; + c[bh + 8 >> 2] = c[A + 8 >> 2]; + c[bh + 12 >> 2] = c[A + 12 >> 2]; + if ((e | 0) == 0 & (b | 0) == 0) { + i = h; + return 0; + } else { + bi = b; + bj = e; + bk = f; + bl = bg; + } + while (1) { + a[bl] = a[bk] | 0; + bg = fp(bj, bi, -1, -1) | 0; + f = H; + if ((bg | 0) == 0 & (f | 0) == 0) { + break; + } else { + bi = f; + bj = bg; + bk = bk + 1 | 0; + bl = bl + 1 | 0; + } + } + i = h; + return 0; +} +function dT(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0; + d = i; + i = i + 272 | 0; + e = d | 0; + f = d + 16 | 0; + g = d + 32 | 0; + h = d + 48 | 0; + j = d + 64 | 0; + k = d + 80 | 0; + l = d + 96 | 0; + m = d + 112 | 0; + n = d + 128 | 0; + o = d + 144 | 0; + p = d + 160 | 0; + q = d + 176 | 0; + r = d + 192 | 0; + s = d + 208 | 0; + t = d + 224 | 0; + u = d + 240 | 0; + v = d + 256 | 0; + w = e; + c[w >> 2] = c[b >> 2]; + c[w + 4 >> 2] = c[b + 4 >> 2]; + c[w + 8 >> 2] = c[b + 8 >> 2]; + c[w + 12 >> 2] = c[b + 12 >> 2]; + d3(e, 110888); + d1(f, e); + d1(g, e); + d1(h, e); + d1(j, e); + d1(k, e); + d1(l, e); + d1(m, e); + d1(v, l); + d6(v, 1); + d_(v, m); + d$(v, 110952); + d_(m, v); + d7(v, 1); + d_(l, v); + d1(v, j); + d6(v, 1); + d_(v, k); + d$(v, 110952); + d_(k, v); + d7(v, 1); + d_(j, v); + d1(v, g); + d6(v, 1); + d_(v, h); + d$(v, 110952); + d_(h, v); + d7(v, 1); + d_(g, v); + d1(v, e); + d6(v, 1); + d_(v, f); + d$(v, 110952); + d_(f, v); + d7(v, 1); + d_(e, v); + d1(v, k); + d6(v, 2); + d_(v, m); + d$(v, 110936); + d_(m, v); + d7(v, 2); + d_(k, v); + d1(v, j); + d6(v, 2); + d_(v, l); + d$(v, 110936); + d_(l, v); + d7(v, 2); + d_(j, v); + d1(v, f); + d6(v, 2); + d_(v, h); + d$(v, 110936); + d_(h, v); + d7(v, 2); + d_(f, v); + d1(v, e); + d6(v, 2); + d_(v, g); + d$(v, 110936); + d_(g, v); + d7(v, 2); + d_(e, v); + d1(v, h); + d6(v, 4); + d_(v, m); + d$(v, 110920); + d_(m, v); + d7(v, 4); + d_(h, v); + d1(v, g); + d6(v, 4); + d_(v, l); + d$(v, 110920); + d_(l, v); + d7(v, 4); + d_(g, v); + d1(v, f); + d6(v, 4); + d_(v, k); + d$(v, 110920); + d_(k, v); + d7(v, 4); + d_(f, v); + d1(v, e); + d6(v, 4); + d_(v, j); + d$(v, 110920); + d_(j, v); + d7(v, 4); + d_(e, v); + c[a >> 2] = c[w >> 2]; + c[a + 4 >> 2] = c[w + 4 >> 2]; + c[a + 8 >> 2] = c[w + 8 >> 2]; + c[a + 12 >> 2] = c[w + 12 >> 2]; + v = a + 16 | 0; + b = f; + c[v >> 2] = c[b >> 2]; + c[v + 4 >> 2] = c[b + 4 >> 2]; + c[v + 8 >> 2] = c[b + 8 >> 2]; + c[v + 12 >> 2] = c[b + 12 >> 2]; + x = a + 32 | 0; + y = g; + c[x >> 2] = c[y >> 2]; + c[x + 4 >> 2] = c[y + 4 >> 2]; + c[x + 8 >> 2] = c[y + 8 >> 2]; + c[x + 12 >> 2] = c[y + 12 >> 2]; + z = a + 48 | 0; + A = h; + c[z >> 2] = c[A >> 2]; + c[z + 4 >> 2] = c[A + 4 >> 2]; + c[z + 8 >> 2] = c[A + 8 >> 2]; + c[z + 12 >> 2] = c[A + 12 >> 2]; + B = a + 64 | 0; + C = j; + c[B >> 2] = c[C >> 2]; + c[B + 4 >> 2] = c[C + 4 >> 2]; + c[B + 8 >> 2] = c[C + 8 >> 2]; + c[B + 12 >> 2] = c[C + 12 >> 2]; + D = a + 80 | 0; + E = k; + c[D >> 2] = c[E >> 2]; + c[D + 4 >> 2] = c[E + 4 >> 2]; + c[D + 8 >> 2] = c[E + 8 >> 2]; + c[D + 12 >> 2] = c[E + 12 >> 2]; + F = a + 96 | 0; + G = l; + c[F >> 2] = c[G >> 2]; + c[F + 4 >> 2] = c[G + 4 >> 2]; + c[F + 8 >> 2] = c[G + 8 >> 2]; + c[F + 12 >> 2] = c[G + 12 >> 2]; + H = a + 112 | 0; + I = m; + c[H >> 2] = c[I >> 2]; + c[H + 4 >> 2] = c[I + 4 >> 2]; + c[H + 8 >> 2] = c[I + 8 >> 2]; + c[H + 12 >> 2] = c[I + 12 >> 2]; + d3(e, 110856); + d3(f, 110856); + d3(g, 110856); + d3(h, 110856); + d3(j, 110856); + d3(k, 110856); + d3(l, 110856); + d3(m, 110856); + d_(k, l); + d_(g, f); + d_(k, e); + d_(l, g); + d_(h, e); + d_(l, h); + d_(h, m); + d_(h, j); + d_(m, k); + d_(h, f); + d_(j, k); + d_(g, m); + d_(f, k); + d1(q, m); + d1(p, f); + d1(o, k); + d1(s, g); + d1(r, l); + d_(q, j); + d_(p, g); + d_(o, h); + d_(s, j); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, h); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, m); + d_(s, f); + d1(r, k); + d1(o, s); + d_(r, l); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, g); + d1(s, j); + d1(t, f); + d1(u, m); + d$(r, h); + d$(s, e); + d$(t, k); + d0(u, l); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, l); + d1(n, k); + d1(p, u); + d_(p, t); + d$(p, l); + d_(l, k); + d$(l, t); + d$(k, u); + d_(l, k); + d_(k, p); + d_(r, e); + d_(n, h); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, h); + d$(e, o); + d$(h, s); + d_(e, h); + d_(h, p); + d_(l, r); + d_(e, r); + d_(k, n); + d_(h, n); + d1(r, m); + d1(n, f); + d_(r, j); + d_(n, g); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, j); + d_(j, g); + d$(j, o); + d$(g, s); + d_(j, g); + d_(g, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, m); + d_(m, f); + d$(m, t); + d$(f, u); + d_(m, f); + d_(f, q); + d_(m, r); + d_(j, r); + d_(f, n); + d_(g, n); + d_(m, e); + d_(f, l); + d_(j, m); + d_(l, e); + d_(e, f); + d_(f, k); + d_(k, g); + d_(j, k); + d_(g, h); + d_(h, k); + d_(l, h); + d8(e); + d3(e, 110904); + d3(f, 110904); + d3(j, 110904); + d3(l, 110904); + d3(h, 110904); + d3(m, 110904); + d3(g, 110904); + d3(k, 110904); + d3(e, 110904); + J = n; + c[J >> 2] = c[a >> 2]; + c[J + 4 >> 2] = c[a + 4 >> 2]; + c[J + 8 >> 2] = c[a + 8 >> 2]; + c[J + 12 >> 2] = c[a + 12 >> 2]; + K = o; + c[K >> 2] = c[v >> 2]; + c[K + 4 >> 2] = c[v + 4 >> 2]; + c[K + 8 >> 2] = c[v + 8 >> 2]; + c[K + 12 >> 2] = c[v + 12 >> 2]; + v = p; + c[v >> 2] = c[x >> 2]; + c[v + 4 >> 2] = c[x + 4 >> 2]; + c[v + 8 >> 2] = c[x + 8 >> 2]; + c[v + 12 >> 2] = c[x + 12 >> 2]; + x = q; + c[x >> 2] = c[z >> 2]; + c[x + 4 >> 2] = c[z + 4 >> 2]; + c[x + 8 >> 2] = c[z + 8 >> 2]; + c[x + 12 >> 2] = c[z + 12 >> 2]; + z = r; + c[z >> 2] = c[B >> 2]; + c[z + 4 >> 2] = c[B + 4 >> 2]; + c[z + 8 >> 2] = c[B + 8 >> 2]; + c[z + 12 >> 2] = c[B + 12 >> 2]; + B = s; + c[B >> 2] = c[D >> 2]; + c[B + 4 >> 2] = c[D + 4 >> 2]; + c[B + 8 >> 2] = c[D + 8 >> 2]; + c[B + 12 >> 2] = c[D + 12 >> 2]; + D = t; + c[D >> 2] = c[F >> 2]; + c[D + 4 >> 2] = c[F + 4 >> 2]; + c[D + 8 >> 2] = c[F + 8 >> 2]; + c[D + 12 >> 2] = c[F + 12 >> 2]; + F = u; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + c[F + 8 >> 2] = c[H + 8 >> 2]; + c[F + 12 >> 2] = c[H + 12 >> 2]; + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + H = a + 128 | 0; + c[H >> 2] = c[w >> 2]; + c[H + 4 >> 2] = c[w + 4 >> 2]; + c[H + 8 >> 2] = c[w + 8 >> 2]; + c[H + 12 >> 2] = c[w + 12 >> 2]; + L = a + 144 | 0; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = c[b + 4 >> 2]; + c[L + 8 >> 2] = c[b + 8 >> 2]; + c[L + 12 >> 2] = c[b + 12 >> 2]; + M = a + 160 | 0; + c[M >> 2] = c[C >> 2]; + c[M + 4 >> 2] = c[C + 4 >> 2]; + c[M + 8 >> 2] = c[C + 8 >> 2]; + c[M + 12 >> 2] = c[C + 12 >> 2]; + N = a + 176 | 0; + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + O = a + 192 | 0; + c[O >> 2] = c[A >> 2]; + c[O + 4 >> 2] = c[A + 4 >> 2]; + c[O + 8 >> 2] = c[A + 8 >> 2]; + c[O + 12 >> 2] = c[A + 12 >> 2]; + P = a + 208 | 0; + c[P >> 2] = c[I >> 2]; + c[P + 4 >> 2] = c[I + 4 >> 2]; + c[P + 8 >> 2] = c[I + 8 >> 2]; + c[P + 12 >> 2] = c[I + 12 >> 2]; + Q = a + 224 | 0; + c[Q >> 2] = c[y >> 2]; + c[Q + 4 >> 2] = c[y + 4 >> 2]; + c[Q + 8 >> 2] = c[y + 8 >> 2]; + c[Q + 12 >> 2] = c[y + 12 >> 2]; + R = a + 240 | 0; + c[R >> 2] = c[E >> 2]; + c[R + 4 >> 2] = c[E + 4 >> 2]; + c[R + 8 >> 2] = c[E + 8 >> 2]; + c[R + 12 >> 2] = c[E + 12 >> 2]; + d2(e); + d2(f); + d2(m); + d2(g); + d3(e, 110856); + d3(f, 110856); + d3(j, 110856); + d3(l, 110856); + d3(h, 110856); + d3(m, 110856); + d3(g, 110856); + d3(k, 110856); + d_(m, g); + d_(j, f); + d_(m, e); + d_(g, j); + d_(l, e); + d_(g, l); + d_(l, k); + d_(l, h); + d_(k, m); + d_(l, f); + d_(h, m); + d_(j, k); + d_(f, m); + d1(q, k); + d1(p, f); + d1(o, m); + d1(s, j); + d1(r, g); + d_(q, h); + d_(p, j); + d_(o, l); + d_(s, h); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, l); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, k); + d_(s, f); + d1(r, m); + d1(o, s); + d_(r, g); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, j); + d1(s, h); + d1(t, f); + d1(u, k); + d$(r, l); + d$(s, e); + d$(t, m); + d0(u, g); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, g); + d1(n, m); + d1(p, u); + d_(p, t); + d$(p, g); + d_(g, m); + d$(g, t); + d$(m, u); + d_(g, m); + d_(m, p); + d_(r, e); + d_(n, l); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, l); + d$(e, o); + d$(l, s); + d_(e, l); + d_(l, p); + d_(g, r); + d_(e, r); + d_(m, n); + d_(l, n); + d1(r, k); + d1(n, f); + d_(r, h); + d_(n, j); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, h); + d_(h, j); + d$(h, o); + d$(j, s); + d_(h, j); + d_(j, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, k); + d_(k, f); + d$(k, t); + d$(f, u); + d_(k, f); + d_(f, q); + d_(k, r); + d_(h, r); + d_(f, n); + d_(j, n); + d_(k, e); + d_(f, g); + d_(h, k); + d_(g, e); + d_(e, f); + d_(f, m); + d_(m, j); + d_(h, m); + d_(j, l); + d_(l, m); + d_(g, l); + d8(f); + d3(e, 110904); + d3(f, 110904); + d3(h, 110904); + d3(g, 110904); + d3(l, 110904); + d3(k, 110904); + d3(j, 110904); + d3(m, 110904); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + c[K >> 2] = c[L >> 2]; + c[K + 4 >> 2] = c[L + 4 >> 2]; + c[K + 8 >> 2] = c[L + 8 >> 2]; + c[K + 12 >> 2] = c[L + 12 >> 2]; + c[v >> 2] = c[M >> 2]; + c[v + 4 >> 2] = c[M + 4 >> 2]; + c[v + 8 >> 2] = c[M + 8 >> 2]; + c[v + 12 >> 2] = c[M + 12 >> 2]; + c[x >> 2] = c[N >> 2]; + c[x + 4 >> 2] = c[N + 4 >> 2]; + c[x + 8 >> 2] = c[N + 8 >> 2]; + c[x + 12 >> 2] = c[N + 12 >> 2]; + c[z >> 2] = c[O >> 2]; + c[z + 4 >> 2] = c[O + 4 >> 2]; + c[z + 8 >> 2] = c[O + 8 >> 2]; + c[z + 12 >> 2] = c[O + 12 >> 2]; + c[B >> 2] = c[P >> 2]; + c[B + 4 >> 2] = c[P + 4 >> 2]; + c[B + 8 >> 2] = c[P + 8 >> 2]; + c[B + 12 >> 2] = c[P + 12 >> 2]; + c[D >> 2] = c[Q >> 2]; + c[D + 4 >> 2] = c[Q + 4 >> 2]; + c[D + 8 >> 2] = c[Q + 8 >> 2]; + c[D + 12 >> 2] = c[Q + 12 >> 2]; + c[F >> 2] = c[R >> 2]; + c[F + 4 >> 2] = c[R + 4 >> 2]; + c[F + 8 >> 2] = c[R + 8 >> 2]; + c[F + 12 >> 2] = c[R + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + R = a + 256 | 0; + c[R >> 2] = c[w >> 2]; + c[R + 4 >> 2] = c[w + 4 >> 2]; + c[R + 8 >> 2] = c[w + 8 >> 2]; + c[R + 12 >> 2] = c[w + 12 >> 2]; + Q = a + 272 | 0; + c[Q >> 2] = c[b >> 2]; + c[Q + 4 >> 2] = c[b + 4 >> 2]; + c[Q + 8 >> 2] = c[b + 8 >> 2]; + c[Q + 12 >> 2] = c[b + 12 >> 2]; + P = a + 288 | 0; + c[P >> 2] = c[A >> 2]; + c[P + 4 >> 2] = c[A + 4 >> 2]; + c[P + 8 >> 2] = c[A + 8 >> 2]; + c[P + 12 >> 2] = c[A + 12 >> 2]; + O = a + 304 | 0; + c[O >> 2] = c[y >> 2]; + c[O + 4 >> 2] = c[y + 4 >> 2]; + c[O + 8 >> 2] = c[y + 8 >> 2]; + c[O + 12 >> 2] = c[y + 12 >> 2]; + N = a + 320 | 0; + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + M = a + 336 | 0; + c[M >> 2] = c[E >> 2]; + c[M + 4 >> 2] = c[E + 4 >> 2]; + c[M + 8 >> 2] = c[E + 8 >> 2]; + c[M + 12 >> 2] = c[E + 12 >> 2]; + L = a + 352 | 0; + c[L >> 2] = c[C >> 2]; + c[L + 4 >> 2] = c[C + 4 >> 2]; + c[L + 8 >> 2] = c[C + 8 >> 2]; + c[L + 12 >> 2] = c[C + 12 >> 2]; + H = a + 368 | 0; + c[H >> 2] = c[I >> 2]; + c[H + 4 >> 2] = c[I + 4 >> 2]; + c[H + 8 >> 2] = c[I + 8 >> 2]; + c[H + 12 >> 2] = c[I + 12 >> 2]; + d2(e); + d2(f); + d2(k); + d2(j); + d3(e, 110856); + d3(f, 110856); + d3(h, 110856); + d3(g, 110856); + d3(l, 110856); + d3(k, 110856); + d3(j, 110856); + d3(m, 110856); + d_(k, j); + d_(h, f); + d_(k, e); + d_(j, h); + d_(g, e); + d_(j, g); + d_(g, m); + d_(g, l); + d_(m, k); + d_(g, f); + d_(l, k); + d_(h, m); + d_(f, k); + d1(q, m); + d1(p, f); + d1(o, k); + d1(s, h); + d1(r, j); + d_(q, l); + d_(p, h); + d_(o, g); + d_(s, l); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, g); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, m); + d_(s, f); + d1(r, k); + d1(o, s); + d_(r, j); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, h); + d1(s, l); + d1(t, f); + d1(u, m); + d$(r, g); + d$(s, e); + d$(t, k); + d0(u, j); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, j); + d1(n, k); + d1(p, u); + d_(p, t); + d$(p, j); + d_(j, k); + d$(j, t); + d$(k, u); + d_(j, k); + d_(k, p); + d_(r, e); + d_(n, g); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, g); + d$(e, o); + d$(g, s); + d_(e, g); + d_(g, p); + d_(j, r); + d_(e, r); + d_(k, n); + d_(g, n); + d1(r, m); + d1(n, f); + d_(r, l); + d_(n, h); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, l); + d_(l, h); + d$(l, o); + d$(h, s); + d_(l, h); + d_(h, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, m); + d_(m, f); + d$(m, t); + d$(f, u); + d_(m, f); + d_(f, q); + d_(m, r); + d_(l, r); + d_(f, n); + d_(h, n); + d_(m, e); + d_(f, j); + d_(l, m); + d_(j, e); + d_(e, f); + d_(f, k); + d_(k, h); + d_(l, k); + d_(h, g); + d_(g, k); + d_(j, g); + d8(l); + d3(e, 110904); + d3(f, 110904); + d3(l, 110904); + d3(j, 110904); + d3(g, 110904); + d3(m, 110904); + d3(h, 110904); + d3(k, 110904); + c[J >> 2] = c[R >> 2]; + c[J + 4 >> 2] = c[R + 4 >> 2]; + c[J + 8 >> 2] = c[R + 8 >> 2]; + c[J + 12 >> 2] = c[R + 12 >> 2]; + c[K >> 2] = c[Q >> 2]; + c[K + 4 >> 2] = c[Q + 4 >> 2]; + c[K + 8 >> 2] = c[Q + 8 >> 2]; + c[K + 12 >> 2] = c[Q + 12 >> 2]; + c[v >> 2] = c[P >> 2]; + c[v + 4 >> 2] = c[P + 4 >> 2]; + c[v + 8 >> 2] = c[P + 8 >> 2]; + c[v + 12 >> 2] = c[P + 12 >> 2]; + c[x >> 2] = c[O >> 2]; + c[x + 4 >> 2] = c[O + 4 >> 2]; + c[x + 8 >> 2] = c[O + 8 >> 2]; + c[x + 12 >> 2] = c[O + 12 >> 2]; + c[z >> 2] = c[N >> 2]; + c[z + 4 >> 2] = c[N + 4 >> 2]; + c[z + 8 >> 2] = c[N + 8 >> 2]; + c[z + 12 >> 2] = c[N + 12 >> 2]; + c[B >> 2] = c[M >> 2]; + c[B + 4 >> 2] = c[M + 4 >> 2]; + c[B + 8 >> 2] = c[M + 8 >> 2]; + c[B + 12 >> 2] = c[M + 12 >> 2]; + c[D >> 2] = c[L >> 2]; + c[D + 4 >> 2] = c[L + 4 >> 2]; + c[D + 8 >> 2] = c[L + 8 >> 2]; + c[D + 12 >> 2] = c[L + 12 >> 2]; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + c[F + 8 >> 2] = c[H + 8 >> 2]; + c[F + 12 >> 2] = c[H + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + H = a + 384 | 0; + c[H >> 2] = c[w >> 2]; + c[H + 4 >> 2] = c[w + 4 >> 2]; + c[H + 8 >> 2] = c[w + 8 >> 2]; + c[H + 12 >> 2] = c[w + 12 >> 2]; + L = a + 400 | 0; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = c[b + 4 >> 2]; + c[L + 8 >> 2] = c[b + 8 >> 2]; + c[L + 12 >> 2] = c[b + 12 >> 2]; + M = a + 416 | 0; + c[M >> 2] = c[G >> 2]; + c[M + 4 >> 2] = c[G + 4 >> 2]; + c[M + 8 >> 2] = c[G + 8 >> 2]; + c[M + 12 >> 2] = c[G + 12 >> 2]; + N = a + 432 | 0; + c[N >> 2] = c[C >> 2]; + c[N + 4 >> 2] = c[C + 4 >> 2]; + c[N + 8 >> 2] = c[C + 8 >> 2]; + c[N + 12 >> 2] = c[C + 12 >> 2]; + O = a + 448 | 0; + c[O >> 2] = c[y >> 2]; + c[O + 4 >> 2] = c[y + 4 >> 2]; + c[O + 8 >> 2] = c[y + 8 >> 2]; + c[O + 12 >> 2] = c[y + 12 >> 2]; + P = a + 464 | 0; + c[P >> 2] = c[I >> 2]; + c[P + 4 >> 2] = c[I + 4 >> 2]; + c[P + 8 >> 2] = c[I + 8 >> 2]; + c[P + 12 >> 2] = c[I + 12 >> 2]; + Q = a + 480 | 0; + c[Q >> 2] = c[A >> 2]; + c[Q + 4 >> 2] = c[A + 4 >> 2]; + c[Q + 8 >> 2] = c[A + 8 >> 2]; + c[Q + 12 >> 2] = c[A + 12 >> 2]; + R = a + 496 | 0; + c[R >> 2] = c[E >> 2]; + c[R + 4 >> 2] = c[E + 4 >> 2]; + c[R + 8 >> 2] = c[E + 8 >> 2]; + c[R + 12 >> 2] = c[E + 12 >> 2]; + d2(e); + d2(f); + d2(m); + d2(h); + d3(e, 110856); + d3(f, 110856); + d3(l, 110856); + d3(j, 110856); + d3(g, 110856); + d3(m, 110856); + d3(h, 110856); + d3(k, 110856); + d_(m, h); + d_(l, f); + d_(m, e); + d_(h, l); + d_(j, e); + d_(h, j); + d_(j, k); + d_(j, g); + d_(k, m); + d_(j, f); + d_(g, m); + d_(l, k); + d_(f, m); + d1(q, k); + d1(p, f); + d1(o, m); + d1(s, l); + d1(r, h); + d_(q, g); + d_(p, l); + d_(o, j); + d_(s, g); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, j); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, k); + d_(s, f); + d1(r, m); + d1(o, s); + d_(r, h); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, l); + d1(s, g); + d1(t, f); + d1(u, k); + d$(r, j); + d$(s, e); + d$(t, m); + d0(u, h); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, h); + d1(n, m); + d1(p, u); + d_(p, t); + d$(p, h); + d_(h, m); + d$(h, t); + d$(m, u); + d_(h, m); + d_(m, p); + d_(r, e); + d_(n, j); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, j); + d$(e, o); + d$(j, s); + d_(e, j); + d_(j, p); + d_(h, r); + d_(e, r); + d_(m, n); + d_(j, n); + d1(r, k); + d1(n, f); + d_(r, g); + d_(n, l); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, g); + d_(g, l); + d$(g, o); + d$(l, s); + d_(g, l); + d_(l, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, k); + d_(k, f); + d$(k, t); + d$(f, u); + d_(k, f); + d_(f, q); + d_(k, r); + d_(g, r); + d_(f, n); + d_(l, n); + d_(k, e); + d_(f, h); + d_(g, k); + d_(h, e); + d_(e, f); + d_(f, m); + d_(m, l); + d_(g, m); + d_(l, j); + d_(j, m); + d_(h, j); + d8(h); + d3(e, 110904); + d3(f, 110904); + d3(g, 110904); + d3(h, 110904); + d3(j, 110904); + d3(k, 110904); + d3(l, 110904); + d3(m, 110904); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + c[K >> 2] = c[L >> 2]; + c[K + 4 >> 2] = c[L + 4 >> 2]; + c[K + 8 >> 2] = c[L + 8 >> 2]; + c[K + 12 >> 2] = c[L + 12 >> 2]; + c[v >> 2] = c[M >> 2]; + c[v + 4 >> 2] = c[M + 4 >> 2]; + c[v + 8 >> 2] = c[M + 8 >> 2]; + c[v + 12 >> 2] = c[M + 12 >> 2]; + c[x >> 2] = c[N >> 2]; + c[x + 4 >> 2] = c[N + 4 >> 2]; + c[x + 8 >> 2] = c[N + 8 >> 2]; + c[x + 12 >> 2] = c[N + 12 >> 2]; + c[z >> 2] = c[O >> 2]; + c[z + 4 >> 2] = c[O + 4 >> 2]; + c[z + 8 >> 2] = c[O + 8 >> 2]; + c[z + 12 >> 2] = c[O + 12 >> 2]; + c[B >> 2] = c[P >> 2]; + c[B + 4 >> 2] = c[P + 4 >> 2]; + c[B + 8 >> 2] = c[P + 8 >> 2]; + c[B + 12 >> 2] = c[P + 12 >> 2]; + c[D >> 2] = c[Q >> 2]; + c[D + 4 >> 2] = c[Q + 4 >> 2]; + c[D + 8 >> 2] = c[Q + 8 >> 2]; + c[D + 12 >> 2] = c[Q + 12 >> 2]; + c[F >> 2] = c[R >> 2]; + c[F + 4 >> 2] = c[R + 4 >> 2]; + c[F + 8 >> 2] = c[R + 8 >> 2]; + c[F + 12 >> 2] = c[R + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + R = a + 512 | 0; + c[R >> 2] = c[w >> 2]; + c[R + 4 >> 2] = c[w + 4 >> 2]; + c[R + 8 >> 2] = c[w + 8 >> 2]; + c[R + 12 >> 2] = c[w + 12 >> 2]; + Q = a + 528 | 0; + c[Q >> 2] = c[b >> 2]; + c[Q + 4 >> 2] = c[b + 4 >> 2]; + c[Q + 8 >> 2] = c[b + 8 >> 2]; + c[Q + 12 >> 2] = c[b + 12 >> 2]; + P = a + 544 | 0; + c[P >> 2] = c[y >> 2]; + c[P + 4 >> 2] = c[y + 4 >> 2]; + c[P + 8 >> 2] = c[y + 8 >> 2]; + c[P + 12 >> 2] = c[y + 12 >> 2]; + O = a + 560 | 0; + c[O >> 2] = c[A >> 2]; + c[O + 4 >> 2] = c[A + 4 >> 2]; + c[O + 8 >> 2] = c[A + 8 >> 2]; + c[O + 12 >> 2] = c[A + 12 >> 2]; + N = a + 576 | 0; + c[N >> 2] = c[C >> 2]; + c[N + 4 >> 2] = c[C + 4 >> 2]; + c[N + 8 >> 2] = c[C + 8 >> 2]; + c[N + 12 >> 2] = c[C + 12 >> 2]; + M = a + 592 | 0; + c[M >> 2] = c[E >> 2]; + c[M + 4 >> 2] = c[E + 4 >> 2]; + c[M + 8 >> 2] = c[E + 8 >> 2]; + c[M + 12 >> 2] = c[E + 12 >> 2]; + L = a + 608 | 0; + c[L >> 2] = c[G >> 2]; + c[L + 4 >> 2] = c[G + 4 >> 2]; + c[L + 8 >> 2] = c[G + 8 >> 2]; + c[L + 12 >> 2] = c[G + 12 >> 2]; + H = a + 624 | 0; + c[H >> 2] = c[I >> 2]; + c[H + 4 >> 2] = c[I + 4 >> 2]; + c[H + 8 >> 2] = c[I + 8 >> 2]; + c[H + 12 >> 2] = c[I + 12 >> 2]; + d2(e); + d2(f); + d2(k); + d2(l); + d3(e, 110856); + d3(f, 110856); + d3(g, 110856); + d3(h, 110856); + d3(j, 110856); + d3(k, 110856); + d3(l, 110856); + d3(m, 110856); + d_(k, l); + d_(g, f); + d_(k, e); + d_(l, g); + d_(h, e); + d_(l, h); + d_(h, m); + d_(h, j); + d_(m, k); + d_(h, f); + d_(j, k); + d_(g, m); + d_(f, k); + d1(q, m); + d1(p, f); + d1(o, k); + d1(s, g); + d1(r, l); + d_(q, j); + d_(p, g); + d_(o, h); + d_(s, j); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, h); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, m); + d_(s, f); + d1(r, k); + d1(o, s); + d_(r, l); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, g); + d1(s, j); + d1(t, f); + d1(u, m); + d$(r, h); + d$(s, e); + d$(t, k); + d0(u, l); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, l); + d1(n, k); + d1(p, u); + d_(p, t); + d$(p, l); + d_(l, k); + d$(l, t); + d$(k, u); + d_(l, k); + d_(k, p); + d_(r, e); + d_(n, h); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, h); + d$(e, o); + d$(h, s); + d_(e, h); + d_(h, p); + d_(l, r); + d_(e, r); + d_(k, n); + d_(h, n); + d1(r, m); + d1(n, f); + d_(r, j); + d_(n, g); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, j); + d_(j, g); + d$(j, o); + d$(g, s); + d_(j, g); + d_(g, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, m); + d_(m, f); + d$(m, t); + d$(f, u); + d_(m, f); + d_(f, q); + d_(m, r); + d_(j, r); + d_(f, n); + d_(g, n); + d_(m, e); + d_(f, l); + d_(j, m); + d_(l, e); + d_(e, f); + d_(f, k); + d_(k, g); + d_(j, k); + d_(g, h); + d_(h, k); + d_(l, h); + d8(h); + d3(e, 110904); + d3(f, 110904); + d3(j, 110904); + d3(l, 110904); + d3(h, 110904); + d3(m, 110904); + d3(g, 110904); + d3(k, 110904); + c[J >> 2] = c[R >> 2]; + c[J + 4 >> 2] = c[R + 4 >> 2]; + c[J + 8 >> 2] = c[R + 8 >> 2]; + c[J + 12 >> 2] = c[R + 12 >> 2]; + c[K >> 2] = c[Q >> 2]; + c[K + 4 >> 2] = c[Q + 4 >> 2]; + c[K + 8 >> 2] = c[Q + 8 >> 2]; + c[K + 12 >> 2] = c[Q + 12 >> 2]; + c[v >> 2] = c[P >> 2]; + c[v + 4 >> 2] = c[P + 4 >> 2]; + c[v + 8 >> 2] = c[P + 8 >> 2]; + c[v + 12 >> 2] = c[P + 12 >> 2]; + c[x >> 2] = c[O >> 2]; + c[x + 4 >> 2] = c[O + 4 >> 2]; + c[x + 8 >> 2] = c[O + 8 >> 2]; + c[x + 12 >> 2] = c[O + 12 >> 2]; + c[z >> 2] = c[N >> 2]; + c[z + 4 >> 2] = c[N + 4 >> 2]; + c[z + 8 >> 2] = c[N + 8 >> 2]; + c[z + 12 >> 2] = c[N + 12 >> 2]; + c[B >> 2] = c[M >> 2]; + c[B + 4 >> 2] = c[M + 4 >> 2]; + c[B + 8 >> 2] = c[M + 8 >> 2]; + c[B + 12 >> 2] = c[M + 12 >> 2]; + c[D >> 2] = c[L >> 2]; + c[D + 4 >> 2] = c[L + 4 >> 2]; + c[D + 8 >> 2] = c[L + 8 >> 2]; + c[D + 12 >> 2] = c[L + 12 >> 2]; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + c[F + 8 >> 2] = c[H + 8 >> 2]; + c[F + 12 >> 2] = c[H + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + H = a + 640 | 0; + c[H >> 2] = c[w >> 2]; + c[H + 4 >> 2] = c[w + 4 >> 2]; + c[H + 8 >> 2] = c[w + 8 >> 2]; + c[H + 12 >> 2] = c[w + 12 >> 2]; + L = a + 656 | 0; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = c[b + 4 >> 2]; + c[L + 8 >> 2] = c[b + 8 >> 2]; + c[L + 12 >> 2] = c[b + 12 >> 2]; + M = a + 672 | 0; + c[M >> 2] = c[C >> 2]; + c[M + 4 >> 2] = c[C + 4 >> 2]; + c[M + 8 >> 2] = c[C + 8 >> 2]; + c[M + 12 >> 2] = c[C + 12 >> 2]; + N = a + 688 | 0; + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + O = a + 704 | 0; + c[O >> 2] = c[A >> 2]; + c[O + 4 >> 2] = c[A + 4 >> 2]; + c[O + 8 >> 2] = c[A + 8 >> 2]; + c[O + 12 >> 2] = c[A + 12 >> 2]; + P = a + 720 | 0; + c[P >> 2] = c[I >> 2]; + c[P + 4 >> 2] = c[I + 4 >> 2]; + c[P + 8 >> 2] = c[I + 8 >> 2]; + c[P + 12 >> 2] = c[I + 12 >> 2]; + Q = a + 736 | 0; + c[Q >> 2] = c[y >> 2]; + c[Q + 4 >> 2] = c[y + 4 >> 2]; + c[Q + 8 >> 2] = c[y + 8 >> 2]; + c[Q + 12 >> 2] = c[y + 12 >> 2]; + R = a + 752 | 0; + c[R >> 2] = c[E >> 2]; + c[R + 4 >> 2] = c[E + 4 >> 2]; + c[R + 8 >> 2] = c[E + 8 >> 2]; + c[R + 12 >> 2] = c[E + 12 >> 2]; + d2(e); + d2(f); + d2(m); + d2(g); + d3(e, 110856); + d3(f, 110856); + d3(j, 110856); + d3(l, 110856); + d3(h, 110856); + d3(m, 110856); + d3(g, 110856); + d3(k, 110856); + d_(m, g); + d_(j, f); + d_(m, e); + d_(g, j); + d_(l, e); + d_(g, l); + d_(l, k); + d_(l, h); + d_(k, m); + d_(l, f); + d_(h, m); + d_(j, k); + d_(f, m); + d1(q, k); + d1(p, f); + d1(o, m); + d1(s, j); + d1(r, g); + d_(q, h); + d_(p, j); + d_(o, l); + d_(s, h); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, l); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, k); + d_(s, f); + d1(r, m); + d1(o, s); + d_(r, g); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, j); + d1(s, h); + d1(t, f); + d1(u, k); + d$(r, l); + d$(s, e); + d$(t, m); + d0(u, g); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, g); + d1(n, m); + d1(p, u); + d_(p, t); + d$(p, g); + d_(g, m); + d$(g, t); + d$(m, u); + d_(g, m); + d_(m, p); + d_(r, e); + d_(n, l); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, l); + d$(e, o); + d$(l, s); + d_(e, l); + d_(l, p); + d_(g, r); + d_(e, r); + d_(m, n); + d_(l, n); + d1(r, k); + d1(n, f); + d_(r, h); + d_(n, j); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, h); + d_(h, j); + d$(h, o); + d$(j, s); + d_(h, j); + d_(j, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, k); + d_(k, f); + d$(k, t); + d$(f, u); + d_(k, f); + d_(f, q); + d_(k, r); + d_(h, r); + d_(f, n); + d_(j, n); + d_(k, e); + d_(f, g); + d_(h, k); + d_(g, e); + d_(e, f); + d_(f, m); + d_(m, j); + d_(h, m); + d_(j, l); + d_(l, m); + d_(g, l); + d8(k); + d3(e, 110904); + d3(f, 110904); + d3(h, 110904); + d3(g, 110904); + d3(l, 110904); + d3(k, 110904); + d3(j, 110904); + d3(m, 110904); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + c[K >> 2] = c[L >> 2]; + c[K + 4 >> 2] = c[L + 4 >> 2]; + c[K + 8 >> 2] = c[L + 8 >> 2]; + c[K + 12 >> 2] = c[L + 12 >> 2]; + c[v >> 2] = c[M >> 2]; + c[v + 4 >> 2] = c[M + 4 >> 2]; + c[v + 8 >> 2] = c[M + 8 >> 2]; + c[v + 12 >> 2] = c[M + 12 >> 2]; + c[x >> 2] = c[N >> 2]; + c[x + 4 >> 2] = c[N + 4 >> 2]; + c[x + 8 >> 2] = c[N + 8 >> 2]; + c[x + 12 >> 2] = c[N + 12 >> 2]; + c[z >> 2] = c[O >> 2]; + c[z + 4 >> 2] = c[O + 4 >> 2]; + c[z + 8 >> 2] = c[O + 8 >> 2]; + c[z + 12 >> 2] = c[O + 12 >> 2]; + c[B >> 2] = c[P >> 2]; + c[B + 4 >> 2] = c[P + 4 >> 2]; + c[B + 8 >> 2] = c[P + 8 >> 2]; + c[B + 12 >> 2] = c[P + 12 >> 2]; + c[D >> 2] = c[Q >> 2]; + c[D + 4 >> 2] = c[Q + 4 >> 2]; + c[D + 8 >> 2] = c[Q + 8 >> 2]; + c[D + 12 >> 2] = c[Q + 12 >> 2]; + c[F >> 2] = c[R >> 2]; + c[F + 4 >> 2] = c[R + 4 >> 2]; + c[F + 8 >> 2] = c[R + 8 >> 2]; + c[F + 12 >> 2] = c[R + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + R = a + 768 | 0; + c[R >> 2] = c[w >> 2]; + c[R + 4 >> 2] = c[w + 4 >> 2]; + c[R + 8 >> 2] = c[w + 8 >> 2]; + c[R + 12 >> 2] = c[w + 12 >> 2]; + Q = a + 784 | 0; + c[Q >> 2] = c[b >> 2]; + c[Q + 4 >> 2] = c[b + 4 >> 2]; + c[Q + 8 >> 2] = c[b + 8 >> 2]; + c[Q + 12 >> 2] = c[b + 12 >> 2]; + P = a + 800 | 0; + c[P >> 2] = c[A >> 2]; + c[P + 4 >> 2] = c[A + 4 >> 2]; + c[P + 8 >> 2] = c[A + 8 >> 2]; + c[P + 12 >> 2] = c[A + 12 >> 2]; + O = a + 816 | 0; + c[O >> 2] = c[y >> 2]; + c[O + 4 >> 2] = c[y + 4 >> 2]; + c[O + 8 >> 2] = c[y + 8 >> 2]; + c[O + 12 >> 2] = c[y + 12 >> 2]; + N = a + 832 | 0; + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + M = a + 848 | 0; + c[M >> 2] = c[E >> 2]; + c[M + 4 >> 2] = c[E + 4 >> 2]; + c[M + 8 >> 2] = c[E + 8 >> 2]; + c[M + 12 >> 2] = c[E + 12 >> 2]; + L = a + 864 | 0; + c[L >> 2] = c[C >> 2]; + c[L + 4 >> 2] = c[C + 4 >> 2]; + c[L + 8 >> 2] = c[C + 8 >> 2]; + c[L + 12 >> 2] = c[C + 12 >> 2]; + H = a + 880 | 0; + c[H >> 2] = c[I >> 2]; + c[H + 4 >> 2] = c[I + 4 >> 2]; + c[H + 8 >> 2] = c[I + 8 >> 2]; + c[H + 12 >> 2] = c[I + 12 >> 2]; + d2(e); + d2(f); + d2(k); + d2(j); + d3(e, 110856); + d3(f, 110856); + d3(h, 110856); + d3(g, 110856); + d3(l, 110856); + d3(k, 110856); + d3(j, 110856); + d3(m, 110856); + d_(k, j); + d_(h, f); + d_(k, e); + d_(j, h); + d_(g, e); + d_(j, g); + d_(g, m); + d_(g, l); + d_(m, k); + d_(g, f); + d_(l, k); + d_(h, m); + d_(f, k); + d1(q, m); + d1(p, f); + d1(o, k); + d1(s, h); + d1(r, j); + d_(q, l); + d_(p, h); + d_(o, g); + d_(s, l); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, g); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, m); + d_(s, f); + d1(r, k); + d1(o, s); + d_(r, j); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, h); + d1(s, l); + d1(t, f); + d1(u, m); + d$(r, g); + d$(s, e); + d$(t, k); + d0(u, j); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, j); + d1(n, k); + d1(p, u); + d_(p, t); + d$(p, j); + d_(j, k); + d$(j, t); + d$(k, u); + d_(j, k); + d_(k, p); + d_(r, e); + d_(n, g); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, g); + d$(e, o); + d$(g, s); + d_(e, g); + d_(g, p); + d_(j, r); + d_(e, r); + d_(k, n); + d_(g, n); + d1(r, m); + d1(n, f); + d_(r, l); + d_(n, h); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, l); + d_(l, h); + d$(l, o); + d$(h, s); + d_(l, h); + d_(h, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, m); + d_(m, f); + d$(m, t); + d$(f, u); + d_(m, f); + d_(f, q); + d_(m, r); + d_(l, r); + d_(f, n); + d_(h, n); + d_(m, e); + d_(f, j); + d_(l, m); + d_(j, e); + d_(e, f); + d_(f, k); + d_(k, h); + d_(l, k); + d_(h, g); + d_(g, k); + d_(j, g); + d8(h); + d3(e, 110904); + d3(f, 110904); + d3(l, 110904); + d3(j, 110904); + d3(g, 110904); + d3(m, 110904); + d3(h, 110904); + d3(k, 110904); + c[J >> 2] = c[R >> 2]; + c[J + 4 >> 2] = c[R + 4 >> 2]; + c[J + 8 >> 2] = c[R + 8 >> 2]; + c[J + 12 >> 2] = c[R + 12 >> 2]; + c[K >> 2] = c[Q >> 2]; + c[K + 4 >> 2] = c[Q + 4 >> 2]; + c[K + 8 >> 2] = c[Q + 8 >> 2]; + c[K + 12 >> 2] = c[Q + 12 >> 2]; + c[v >> 2] = c[P >> 2]; + c[v + 4 >> 2] = c[P + 4 >> 2]; + c[v + 8 >> 2] = c[P + 8 >> 2]; + c[v + 12 >> 2] = c[P + 12 >> 2]; + c[x >> 2] = c[O >> 2]; + c[x + 4 >> 2] = c[O + 4 >> 2]; + c[x + 8 >> 2] = c[O + 8 >> 2]; + c[x + 12 >> 2] = c[O + 12 >> 2]; + c[z >> 2] = c[N >> 2]; + c[z + 4 >> 2] = c[N + 4 >> 2]; + c[z + 8 >> 2] = c[N + 8 >> 2]; + c[z + 12 >> 2] = c[N + 12 >> 2]; + c[B >> 2] = c[M >> 2]; + c[B + 4 >> 2] = c[M + 4 >> 2]; + c[B + 8 >> 2] = c[M + 8 >> 2]; + c[B + 12 >> 2] = c[M + 12 >> 2]; + c[D >> 2] = c[L >> 2]; + c[D + 4 >> 2] = c[L + 4 >> 2]; + c[D + 8 >> 2] = c[L + 8 >> 2]; + c[D + 12 >> 2] = c[L + 12 >> 2]; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + c[F + 8 >> 2] = c[H + 8 >> 2]; + c[F + 12 >> 2] = c[H + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(l, p); + d_(j, q); + d_(g, r); + d_(m, s); + d_(h, t); + d_(k, u); + H = a + 896 | 0; + c[H >> 2] = c[w >> 2]; + c[H + 4 >> 2] = c[w + 4 >> 2]; + c[H + 8 >> 2] = c[w + 8 >> 2]; + c[H + 12 >> 2] = c[w + 12 >> 2]; + L = a + 912 | 0; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = c[b + 4 >> 2]; + c[L + 8 >> 2] = c[b + 8 >> 2]; + c[L + 12 >> 2] = c[b + 12 >> 2]; + M = a + 928 | 0; + c[M >> 2] = c[G >> 2]; + c[M + 4 >> 2] = c[G + 4 >> 2]; + c[M + 8 >> 2] = c[G + 8 >> 2]; + c[M + 12 >> 2] = c[G + 12 >> 2]; + N = a + 944 | 0; + c[N >> 2] = c[C >> 2]; + c[N + 4 >> 2] = c[C + 4 >> 2]; + c[N + 8 >> 2] = c[C + 8 >> 2]; + c[N + 12 >> 2] = c[C + 12 >> 2]; + O = a + 960 | 0; + c[O >> 2] = c[y >> 2]; + c[O + 4 >> 2] = c[y + 4 >> 2]; + c[O + 8 >> 2] = c[y + 8 >> 2]; + c[O + 12 >> 2] = c[y + 12 >> 2]; + P = a + 976 | 0; + c[P >> 2] = c[I >> 2]; + c[P + 4 >> 2] = c[I + 4 >> 2]; + c[P + 8 >> 2] = c[I + 8 >> 2]; + c[P + 12 >> 2] = c[I + 12 >> 2]; + Q = a + 992 | 0; + c[Q >> 2] = c[A >> 2]; + c[Q + 4 >> 2] = c[A + 4 >> 2]; + c[Q + 8 >> 2] = c[A + 8 >> 2]; + c[Q + 12 >> 2] = c[A + 12 >> 2]; + R = a + 1008 | 0; + c[R >> 2] = c[E >> 2]; + c[R + 4 >> 2] = c[E + 4 >> 2]; + c[R + 8 >> 2] = c[E + 8 >> 2]; + c[R + 12 >> 2] = c[E + 12 >> 2]; + d2(e); + d2(f); + d2(m); + d2(h); + d3(e, 110856); + d3(f, 110856); + d3(l, 110856); + d3(j, 110856); + d3(g, 110856); + d3(m, 110856); + d3(h, 110856); + d3(k, 110856); + d_(m, h); + d_(l, f); + d_(m, e); + d_(h, l); + d_(j, e); + d_(h, j); + d_(j, k); + d_(j, g); + d_(k, m); + d_(j, f); + d_(g, m); + d_(l, k); + d_(f, m); + d1(q, k); + d1(p, f); + d1(o, m); + d1(s, l); + d1(r, h); + d_(q, g); + d_(p, l); + d_(o, j); + d_(s, g); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, j); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, k); + d_(s, f); + d1(r, m); + d1(o, s); + d_(r, h); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, l); + d1(s, g); + d1(t, f); + d1(u, k); + d$(r, j); + d$(s, e); + d$(t, m); + d0(u, h); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, h); + d1(n, m); + d1(p, u); + d_(p, t); + d$(p, h); + d_(h, m); + d$(h, t); + d$(m, u); + d_(h, m); + d_(m, p); + d_(r, e); + d_(n, j); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, j); + d$(e, o); + d$(j, s); + d_(e, j); + d_(j, p); + d_(h, r); + d_(e, r); + d_(m, n); + d_(j, n); + d1(r, k); + d1(n, f); + d_(r, g); + d_(n, l); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, g); + d_(g, l); + d$(g, o); + d$(l, s); + d_(g, l); + d_(l, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, k); + d_(k, f); + d$(k, t); + d$(f, u); + d_(k, f); + d_(f, q); + d_(k, r); + d_(g, r); + d_(f, n); + d_(l, n); + d_(k, e); + d_(f, h); + d_(g, k); + d_(h, e); + d_(e, f); + d_(f, m); + d_(m, l); + d_(g, m); + d_(l, j); + d_(j, m); + d_(h, j); + d8(m); + d3(e, 110904); + d3(f, 110904); + d3(g, 110904); + d3(h, 110904); + d3(j, 110904); + d3(k, 110904); + d3(l, 110904); + d3(m, 110904); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + c[K >> 2] = c[L >> 2]; + c[K + 4 >> 2] = c[L + 4 >> 2]; + c[K + 8 >> 2] = c[L + 8 >> 2]; + c[K + 12 >> 2] = c[L + 12 >> 2]; + c[v >> 2] = c[M >> 2]; + c[v + 4 >> 2] = c[M + 4 >> 2]; + c[v + 8 >> 2] = c[M + 8 >> 2]; + c[v + 12 >> 2] = c[M + 12 >> 2]; + c[x >> 2] = c[N >> 2]; + c[x + 4 >> 2] = c[N + 4 >> 2]; + c[x + 8 >> 2] = c[N + 8 >> 2]; + c[x + 12 >> 2] = c[N + 12 >> 2]; + c[z >> 2] = c[O >> 2]; + c[z + 4 >> 2] = c[O + 4 >> 2]; + c[z + 8 >> 2] = c[O + 8 >> 2]; + c[z + 12 >> 2] = c[O + 12 >> 2]; + c[B >> 2] = c[P >> 2]; + c[B + 4 >> 2] = c[P + 4 >> 2]; + c[B + 8 >> 2] = c[P + 8 >> 2]; + c[B + 12 >> 2] = c[P + 12 >> 2]; + c[D >> 2] = c[Q >> 2]; + c[D + 4 >> 2] = c[Q + 4 >> 2]; + c[D + 8 >> 2] = c[Q + 8 >> 2]; + c[D + 12 >> 2] = c[Q + 12 >> 2]; + c[F >> 2] = c[R >> 2]; + c[F + 4 >> 2] = c[R + 4 >> 2]; + c[F + 8 >> 2] = c[R + 8 >> 2]; + c[F + 12 >> 2] = c[R + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(g, p); + d_(h, q); + d_(j, r); + d_(k, s); + d_(l, t); + d_(m, u); + R = a + 1024 | 0; + c[R >> 2] = c[w >> 2]; + c[R + 4 >> 2] = c[w + 4 >> 2]; + c[R + 8 >> 2] = c[w + 8 >> 2]; + c[R + 12 >> 2] = c[w + 12 >> 2]; + Q = a + 1040 | 0; + c[Q >> 2] = c[b >> 2]; + c[Q + 4 >> 2] = c[b + 4 >> 2]; + c[Q + 8 >> 2] = c[b + 8 >> 2]; + c[Q + 12 >> 2] = c[b + 12 >> 2]; + P = a + 1056 | 0; + c[P >> 2] = c[y >> 2]; + c[P + 4 >> 2] = c[y + 4 >> 2]; + c[P + 8 >> 2] = c[y + 8 >> 2]; + c[P + 12 >> 2] = c[y + 12 >> 2]; + O = a + 1072 | 0; + c[O >> 2] = c[A >> 2]; + c[O + 4 >> 2] = c[A + 4 >> 2]; + c[O + 8 >> 2] = c[A + 8 >> 2]; + c[O + 12 >> 2] = c[A + 12 >> 2]; + N = a + 1088 | 0; + c[N >> 2] = c[C >> 2]; + c[N + 4 >> 2] = c[C + 4 >> 2]; + c[N + 8 >> 2] = c[C + 8 >> 2]; + c[N + 12 >> 2] = c[C + 12 >> 2]; + M = a + 1104 | 0; + c[M >> 2] = c[E >> 2]; + c[M + 4 >> 2] = c[E + 4 >> 2]; + c[M + 8 >> 2] = c[E + 8 >> 2]; + c[M + 12 >> 2] = c[E + 12 >> 2]; + L = a + 1120 | 0; + c[L >> 2] = c[G >> 2]; + c[L + 4 >> 2] = c[G + 4 >> 2]; + c[L + 8 >> 2] = c[G + 8 >> 2]; + c[L + 12 >> 2] = c[G + 12 >> 2]; + H = a + 1136 | 0; + c[H >> 2] = c[I >> 2]; + c[H + 4 >> 2] = c[I + 4 >> 2]; + c[H + 8 >> 2] = c[I + 8 >> 2]; + c[H + 12 >> 2] = c[I + 12 >> 2]; + d2(e); + d2(f); + d2(k); + d2(l); + d3(e, 110856); + d3(f, 110856); + d3(g, 110856); + d3(h, 110856); + d3(j, 110856); + d3(k, 110856); + d3(l, 110856); + d3(m, 110856); + d_(k, l); + d_(g, f); + d_(k, e); + d_(l, g); + d_(h, e); + d_(l, h); + d_(h, m); + d_(h, j); + d_(m, k); + d_(h, f); + d_(j, k); + d_(g, m); + d_(f, k); + d1(q, m); + d1(p, f); + d1(o, k); + d1(s, g); + d1(r, l); + d_(q, j); + d_(p, g); + d_(o, h); + d_(s, j); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, h); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, m); + d_(s, f); + d1(r, k); + d1(o, s); + d_(r, l); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, g); + d1(s, j); + d1(t, f); + d1(u, m); + d$(r, h); + d$(s, e); + d$(t, k); + d0(u, l); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, l); + d1(n, k); + d1(p, u); + d_(p, t); + d$(p, l); + d_(l, k); + d$(l, t); + d$(k, u); + d_(l, k); + d_(k, p); + d_(r, e); + d_(n, h); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, h); + d$(e, o); + d$(h, s); + d_(e, h); + d_(h, p); + d_(l, r); + d_(e, r); + d_(k, n); + d_(h, n); + d1(r, m); + d1(n, f); + d_(r, j); + d_(n, g); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, j); + d_(j, g); + d$(j, o); + d$(g, s); + d_(j, g); + d_(g, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, m); + d_(m, f); + d$(m, t); + d$(f, u); + d_(m, f); + d_(f, q); + d_(m, r); + d_(j, r); + d_(f, n); + d_(g, n); + d_(m, e); + d_(f, l); + d_(j, m); + d_(l, e); + d_(e, f); + d_(f, k); + d_(k, g); + d_(j, k); + d_(g, h); + d_(h, k); + d_(l, h); + d8(e); + d8(f); + d8(l); + d8(h); + d3(e, 110904); + d3(f, 110904); + d3(j, 110904); + d3(l, 110904); + d3(h, 110904); + d3(m, 110904); + d3(g, 110904); + d3(k, 110904); + c[J >> 2] = c[R >> 2]; + c[J + 4 >> 2] = c[R + 4 >> 2]; + c[J + 8 >> 2] = c[R + 8 >> 2]; + c[J + 12 >> 2] = c[R + 12 >> 2]; + c[K >> 2] = c[Q >> 2]; + c[K + 4 >> 2] = c[Q + 4 >> 2]; + c[K + 8 >> 2] = c[Q + 8 >> 2]; + c[K + 12 >> 2] = c[Q + 12 >> 2]; + c[v >> 2] = c[P >> 2]; + c[v + 4 >> 2] = c[P + 4 >> 2]; + c[v + 8 >> 2] = c[P + 8 >> 2]; + c[v + 12 >> 2] = c[P + 12 >> 2]; + c[x >> 2] = c[O >> 2]; + c[x + 4 >> 2] = c[O + 4 >> 2]; + c[x + 8 >> 2] = c[O + 8 >> 2]; + c[x + 12 >> 2] = c[O + 12 >> 2]; + c[z >> 2] = c[N >> 2]; + c[z + 4 >> 2] = c[N + 4 >> 2]; + c[z + 8 >> 2] = c[N + 8 >> 2]; + c[z + 12 >> 2] = c[N + 12 >> 2]; + c[B >> 2] = c[M >> 2]; + c[B + 4 >> 2] = c[M + 4 >> 2]; + c[B + 8 >> 2] = c[M + 8 >> 2]; + c[B + 12 >> 2] = c[M + 12 >> 2]; + c[D >> 2] = c[L >> 2]; + c[D + 4 >> 2] = c[L + 4 >> 2]; + c[D + 8 >> 2] = c[L + 8 >> 2]; + c[D + 12 >> 2] = c[L + 12 >> 2]; + c[F >> 2] = c[H >> 2]; + c[F + 4 >> 2] = c[H + 4 >> 2]; + c[F + 8 >> 2] = c[H + 8 >> 2]; + c[F + 12 >> 2] = c[H + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(j, p); + d_(l, q); + d_(h, r); + d_(m, s); + d_(g, t); + d_(k, u); + H = a + 1152 | 0; + c[H >> 2] = c[w >> 2]; + c[H + 4 >> 2] = c[w + 4 >> 2]; + c[H + 8 >> 2] = c[w + 8 >> 2]; + c[H + 12 >> 2] = c[w + 12 >> 2]; + L = a + 1168 | 0; + c[L >> 2] = c[b >> 2]; + c[L + 4 >> 2] = c[b + 4 >> 2]; + c[L + 8 >> 2] = c[b + 8 >> 2]; + c[L + 12 >> 2] = c[b + 12 >> 2]; + M = a + 1184 | 0; + c[M >> 2] = c[C >> 2]; + c[M + 4 >> 2] = c[C + 4 >> 2]; + c[M + 8 >> 2] = c[C + 8 >> 2]; + c[M + 12 >> 2] = c[C + 12 >> 2]; + N = a + 1200 | 0; + c[N >> 2] = c[G >> 2]; + c[N + 4 >> 2] = c[G + 4 >> 2]; + c[N + 8 >> 2] = c[G + 8 >> 2]; + c[N + 12 >> 2] = c[G + 12 >> 2]; + O = a + 1216 | 0; + c[O >> 2] = c[A >> 2]; + c[O + 4 >> 2] = c[A + 4 >> 2]; + c[O + 8 >> 2] = c[A + 8 >> 2]; + c[O + 12 >> 2] = c[A + 12 >> 2]; + P = a + 1232 | 0; + c[P >> 2] = c[I >> 2]; + c[P + 4 >> 2] = c[I + 4 >> 2]; + c[P + 8 >> 2] = c[I + 8 >> 2]; + c[P + 12 >> 2] = c[I + 12 >> 2]; + Q = a + 1248 | 0; + c[Q >> 2] = c[y >> 2]; + c[Q + 4 >> 2] = c[y + 4 >> 2]; + c[Q + 8 >> 2] = c[y + 8 >> 2]; + c[Q + 12 >> 2] = c[y + 12 >> 2]; + R = a + 1264 | 0; + c[R >> 2] = c[E >> 2]; + c[R + 4 >> 2] = c[E + 4 >> 2]; + c[R + 8 >> 2] = c[E + 8 >> 2]; + c[R + 12 >> 2] = c[E + 12 >> 2]; + d2(e); + d2(f); + d2(m); + d2(g); + d3(e, 110856); + d3(f, 110856); + d3(j, 110856); + d3(l, 110856); + d3(h, 110856); + d3(m, 110856); + d3(g, 110856); + d3(k, 110856); + d_(m, g); + d_(j, f); + d_(m, e); + d_(g, j); + d_(l, e); + d_(g, l); + d_(l, k); + d_(l, h); + d_(k, m); + d_(l, f); + d_(h, m); + d_(j, k); + d_(f, m); + d1(q, k); + d1(p, f); + d1(o, m); + d1(s, j); + d1(r, g); + d_(q, h); + d_(p, j); + d_(o, l); + d_(s, h); + d_(r, e); + d1(t, q); + d1(n, p); + d1(u, q); + d0(p, o); + d0(q, r); + d_(u, n); + d$(t, r); + d$(n, o); + d_(r, o); + d$(u, r); + d1(r, l); + d_(r, e); + d$(s, r); + d_(q, s); + d_(p, s); + d1(s, k); + d_(s, f); + d1(r, m); + d1(o, s); + d_(r, g); + d0(o, r); + d$(s, r); + d_(n, s); + d_(q, u); + d_(p, t); + d_(o, u); + d_(n, t); + d_(o, t); + d1(r, j); + d1(s, h); + d1(t, f); + d1(u, k); + d$(r, l); + d$(s, e); + d$(t, m); + d0(u, g); + d_(q, r); + d_(p, s); + d_(o, t); + d_(n, u); + d1(r, q); + d_(r, p); + d$(q, o); + d1(t, n); + d_(t, q); + d1(u, r); + d$(u, t); + d_(u, p); + d1(s, o); + d_(s, n); + d_(q, p); + d$(s, q); + d_(s, n); + d_(o, s); + d1(p, t); + d_(p, s); + d$(p, n); + d_(o, p); + d_(t, p); + d$(t, u); + d_(t, r); + d1(r, g); + d1(n, m); + d1(p, u); + d_(p, t); + d$(p, g); + d_(g, m); + d$(g, t); + d$(m, u); + d_(g, m); + d_(m, p); + d_(r, e); + d_(n, l); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, e); + d_(e, l); + d$(e, o); + d$(l, s); + d_(e, l); + d_(l, p); + d_(g, r); + d_(e, r); + d_(m, n); + d_(l, n); + d1(r, k); + d1(n, f); + d_(r, h); + d_(n, j); + d1(q, u); + d_(q, t); + d$(q, r); + d_(r, n); + d$(r, t); + d$(n, u); + d_(n, r); + d_(r, q); + d1(p, s); + d_(p, o); + d$(p, h); + d_(h, j); + d$(h, o); + d$(j, s); + d_(h, j); + d_(j, p); + d_(u, s); + d_(t, o); + d1(q, u); + d_(q, t); + d$(q, k); + d_(k, f); + d$(k, t); + d$(f, u); + d_(k, f); + d_(f, q); + d_(k, r); + d_(h, r); + d_(f, n); + d_(j, n); + d_(k, e); + d_(f, g); + d_(h, k); + d_(g, e); + d_(e, f); + d_(f, m); + d_(m, j); + d_(h, m); + d_(j, l); + d_(l, m); + d_(g, l); + d8(f); + d8(h); + d8(l); + d8(k); + d3(e, 110904); + d3(f, 110904); + d3(h, 110904); + d3(g, 110904); + d3(l, 110904); + d3(k, 110904); + d3(j, 110904); + d3(m, 110904); + c[J >> 2] = c[H >> 2]; + c[J + 4 >> 2] = c[H + 4 >> 2]; + c[J + 8 >> 2] = c[H + 8 >> 2]; + c[J + 12 >> 2] = c[H + 12 >> 2]; + c[K >> 2] = c[L >> 2]; + c[K + 4 >> 2] = c[L + 4 >> 2]; + c[K + 8 >> 2] = c[L + 8 >> 2]; + c[K + 12 >> 2] = c[L + 12 >> 2]; + c[v >> 2] = c[M >> 2]; + c[v + 4 >> 2] = c[M + 4 >> 2]; + c[v + 8 >> 2] = c[M + 8 >> 2]; + c[v + 12 >> 2] = c[M + 12 >> 2]; + c[x >> 2] = c[N >> 2]; + c[x + 4 >> 2] = c[N + 4 >> 2]; + c[x + 8 >> 2] = c[N + 8 >> 2]; + c[x + 12 >> 2] = c[N + 12 >> 2]; + c[z >> 2] = c[O >> 2]; + c[z + 4 >> 2] = c[O + 4 >> 2]; + c[z + 8 >> 2] = c[O + 8 >> 2]; + c[z + 12 >> 2] = c[O + 12 >> 2]; + c[B >> 2] = c[P >> 2]; + c[B + 4 >> 2] = c[P + 4 >> 2]; + c[B + 8 >> 2] = c[P + 8 >> 2]; + c[B + 12 >> 2] = c[P + 12 >> 2]; + c[D >> 2] = c[Q >> 2]; + c[D + 4 >> 2] = c[Q + 4 >> 2]; + c[D + 8 >> 2] = c[Q + 8 >> 2]; + c[D + 12 >> 2] = c[Q + 12 >> 2]; + c[F >> 2] = c[R >> 2]; + c[F + 4 >> 2] = c[R + 4 >> 2]; + c[F + 8 >> 2] = c[R + 8 >> 2]; + c[F + 12 >> 2] = c[R + 12 >> 2]; + d2(n); + d2(o); + d2(s); + d2(t); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d5(n, 8); + d5(o, 8); + d5(p, 8); + d5(q, 8); + d5(r, 8); + d5(s, 8); + d5(t, 8); + d5(u, 8); + d_(e, n); + d_(f, o); + d_(h, p); + d_(g, q); + d_(l, r); + d_(k, s); + d_(j, t); + d_(m, u); + d3(e, 110888); + d3(f, 110888); + d3(j, 110888); + d3(l, 110888); + d3(h, 110888); + d3(m, 110888); + d3(g, 110888); + d3(k, 110888); + k = a + 1280 | 0; + c[k >> 2] = c[w >> 2]; + c[k + 4 >> 2] = c[w + 4 >> 2]; + c[k + 8 >> 2] = c[w + 8 >> 2]; + c[k + 12 >> 2] = c[w + 12 >> 2]; + w = a + 1296 | 0; + c[w >> 2] = c[b >> 2]; + c[w + 4 >> 2] = c[b + 4 >> 2]; + c[w + 8 >> 2] = c[b + 8 >> 2]; + c[w + 12 >> 2] = c[b + 12 >> 2]; + b = a + 1312 | 0; + c[b >> 2] = c[A >> 2]; + c[b + 4 >> 2] = c[A + 4 >> 2]; + c[b + 8 >> 2] = c[A + 8 >> 2]; + c[b + 12 >> 2] = c[A + 12 >> 2]; + A = a + 1328 | 0; + c[A >> 2] = c[y >> 2]; + c[A + 4 >> 2] = c[y + 4 >> 2]; + c[A + 8 >> 2] = c[y + 8 >> 2]; + c[A + 12 >> 2] = c[y + 12 >> 2]; + y = a + 1344 | 0; + c[y >> 2] = c[G >> 2]; + c[y + 4 >> 2] = c[G + 4 >> 2]; + c[y + 8 >> 2] = c[G + 8 >> 2]; + c[y + 12 >> 2] = c[G + 12 >> 2]; + G = a + 1360 | 0; + c[G >> 2] = c[E >> 2]; + c[G + 4 >> 2] = c[E + 4 >> 2]; + c[G + 8 >> 2] = c[E + 8 >> 2]; + c[G + 12 >> 2] = c[E + 12 >> 2]; + E = a + 1376 | 0; + c[E >> 2] = c[C >> 2]; + c[E + 4 >> 2] = c[C + 4 >> 2]; + c[E + 8 >> 2] = c[C + 8 >> 2]; + c[E + 12 >> 2] = c[C + 12 >> 2]; + C = a + 1392 | 0; + c[C >> 2] = c[I >> 2]; + c[C + 4 >> 2] = c[I + 4 >> 2]; + c[C + 8 >> 2] = c[I + 8 >> 2]; + c[C + 12 >> 2] = c[I + 12 >> 2]; + i = d; + return 0; +} +function dU(a) { + a = a | 0; + return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; +} +function dV(b, c) { + b = b | 0; + c = c | 0; + a[b + 3 | 0] = c & 255; + a[b + 2 | 0] = c >>> 8 & 255; + a[b + 1 | 0] = c >>> 16 & 255; + a[b] = c >>> 24 & 255; + return; +} +function dW(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function dX(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function dY(a) { + a = a | 0; + var b = 0, c = 0, e = 0; + b = d[a + 1 | 0] | 0; + c = d[a + 2 | 0] | 0; + e = d[a + 3 | 0] | 0; + return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | ((d[a + 7 | 0] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; +} +function dZ(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + a[b] = c & 255; + a[b + 1 | 0] = (c >>> 8 | d << 24) & 255; + a[b + 2 | 0] = (c >>> 16 | d << 16) & 255; + a[b + 3 | 0] = (c >>> 24 | d << 8) & 255; + a[b + 4 | 0] = d & 255; + a[b + 5 | 0] = (d >>> 8 | 0 << 24) & 255; + a[b + 6 | 0] = (d >>> 16 | 0 << 16) & 255; + a[b + 7 | 0] = (d >>> 24 | 0 << 8) & 255; + return; +} +function d_(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = b | 0; + e = a | 0; + f = c[e + 4 >> 2] ^ c[d + 4 >> 2]; + c[e >> 2] = c[e >> 2] ^ c[d >> 2]; + c[e + 4 >> 2] = f; + f = b + 8 | 0; + b = a + 8 | 0; + a = c[b + 4 >> 2] ^ c[f + 4 >> 2]; + c[b >> 2] = c[b >> 2] ^ c[f >> 2]; + c[b + 4 >> 2] = a; + return; +} +function d$(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = b | 0; + e = a | 0; + f = c[e + 4 >> 2] & c[d + 4 >> 2]; + c[e >> 2] = c[e >> 2] & c[d >> 2]; + c[e + 4 >> 2] = f; + f = b + 8 | 0; + b = a + 8 | 0; + a = c[b + 4 >> 2] & c[f + 4 >> 2]; + c[b >> 2] = c[b >> 2] & c[f >> 2]; + c[b + 4 >> 2] = a; + return; +} +function d0(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = b | 0; + e = a | 0; + f = c[e + 4 >> 2] | c[d + 4 >> 2]; + c[e >> 2] = c[e >> 2] | c[d >> 2]; + c[e + 4 >> 2] = f; + f = b + 8 | 0; + b = a + 8 | 0; + a = c[b + 4 >> 2] | c[f + 4 >> 2]; + c[b >> 2] = c[b >> 2] | c[f >> 2]; + c[b + 4 >> 2] = a; + return; +} +function d1(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = b | 0; + e = c[d + 4 >> 2] | 0; + f = a | 0; + c[f >> 2] = c[d >> 2]; + c[f + 4 >> 2] = e; + e = b + 8 | 0; + b = c[e + 4 >> 2] | 0; + f = a + 8 | 0; + c[f >> 2] = c[e >> 2]; + c[f + 4 >> 2] = b; + return; +} +function d2(a) { + a = a | 0; + var b = 0, d = 0; + b = a | 0; + d = ~c[b + 4 >> 2]; + c[b >> 2] = ~c[b >> 2]; + c[b + 4 >> 2] = d; + d = a + 8 | 0; + a = ~c[d + 4 >> 2]; + c[d >> 2] = ~c[d >> 2]; + c[d + 4 >> 2] = a; + return; +} +function d3(b, c) { + b = b | 0; + c = c | 0; + var e = 0, f = 0, g = 0, h = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + d1(f, b); + g = b; + h = f; + a[g] = a[h + (d[c] | 0) | 0] | 0; + a[g + 1 | 0] = a[h + (d[c + 1 | 0] | 0) | 0] | 0; + a[g + 2 | 0] = a[h + (d[c + 2 | 0] | 0) | 0] | 0; + a[g + 3 | 0] = a[h + (d[c + 3 | 0] | 0) | 0] | 0; + a[g + 4 | 0] = a[h + (d[c + 4 | 0] | 0) | 0] | 0; + a[g + 5 | 0] = a[h + (d[c + 5 | 0] | 0) | 0] | 0; + a[g + 6 | 0] = a[h + (d[c + 6 | 0] | 0) | 0] | 0; + a[g + 7 | 0] = a[h + (d[c + 7 | 0] | 0) | 0] | 0; + a[b + 8 | 0] = a[h + (d[c + 8 | 0] | 0) | 0] | 0; + a[g + 9 | 0] = a[h + (d[c + 9 | 0] | 0) | 0] | 0; + a[g + 10 | 0] = a[h + (d[c + 10 | 0] | 0) | 0] | 0; + a[g + 11 | 0] = a[h + (d[c + 11 | 0] | 0) | 0] | 0; + a[g + 12 | 0] = a[h + (d[c + 12 | 0] | 0) | 0] | 0; + a[g + 13 | 0] = a[h + (d[c + 13 | 0] | 0) | 0] | 0; + a[g + 14 | 0] = a[h + (d[c + 14 | 0] | 0) | 0] | 0; + a[g + 15 | 0] = a[h + (d[c + 15 | 0] | 0) | 0] | 0; + i = e; + return; +} +function d4(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + g = f; + h = b; + c[g >> 2] = c[h + ((d & 3) << 2) >> 2]; + c[g + 4 >> 2] = c[h + ((d >>> 2 & 3) << 2) >> 2]; + c[f + 8 >> 2] = c[h + ((d >>> 4 & 3) << 2) >> 2]; + c[g + 12 >> 2] = c[h + ((d >>> 6 & 3) << 2) >> 2]; + d1(a, f); + i = e; + return; +} +function d5(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0; + c = a; + dX(c, (dW(c) | 0) >>> (b >>> 0)); + d = c + 4 | 0; + dX(d, (dW(d) | 0) >>> (b >>> 0)); + d = a + 8 | 0; + dX(d, (dW(d) | 0) >>> (b >>> 0)); + d = c + 12 | 0; + dX(d, (dW(d) | 0) >>> (b >>> 0)); + return; +} +function d6(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = a; + d = dY(c) | 0; + e = b; + b = fs(d | 0, H | 0, e | 0) | 0; + d = H; + dZ(c, b, d); + d = a + 8 | 0; + a = dY(d) | 0; + b = fs(a | 0, H | 0, e | 0) | 0; + e = H; + dZ(d, b, e); + return; +} +function d7(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = a; + d = dY(c) | 0; + e = b; + b = fr(d | 0, H | 0, e | 0) | 0; + d = H; + dZ(c, b, d); + d = a + 8 | 0; + a = dY(d) | 0; + b = fr(a | 0, H | 0, e | 0) | 0; + e = H; + dZ(d, b, e); + return; +} +function d8(a) { + a = a | 0; + var b = 0; + b = a + 12 | 0; + dX(b, ~(dW(b) | 0)); + return; +} +function d9(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = a + 12 | 0; + dX(c, (dW(c) | 0) + b | 0); + return; +} +function ea(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 1408 | 0; + g = f | 0; + dT(g, e) | 0; + dS(a, b, c, d, g) | 0; + i = f; + return 0; +} +function eb(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = i; + i = i + 1408 | 0; + h = g | 0; + dT(h, f) | 0; + ec(a, b, c, d, e, h) | 0; + i = g; + return 0; +} +function ec(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0, bm = 0, bn = 0; + j = i; + i = i + 400 | 0; + k = j | 0; + l = j + 16 | 0; + m = j + 32 | 0; + n = j + 48 | 0; + o = j + 64 | 0; + p = j + 80 | 0; + q = j + 96 | 0; + r = j + 112 | 0; + s = j + 128 | 0; + t = j + 144 | 0; + u = j + 160 | 0; + v = j + 176 | 0; + w = j + 192 | 0; + x = j + 208 | 0; + y = j + 224 | 0; + z = j + 240 | 0; + A = j + 256 | 0; + B = j + 272 | 0; + d1(A, g); + g = A; + A = k; + C = h; + D = h + 16 | 0; + E = h + 32 | 0; + F = h + 48 | 0; + G = h + 64 | 0; + I = h + 80 | 0; + J = h + 96 | 0; + K = h + 112 | 0; + L = h + 128 | 0; + M = h + 144 | 0; + N = h + 160 | 0; + O = h + 176 | 0; + P = h + 192 | 0; + Q = h + 208 | 0; + R = h + 224 | 0; + S = h + 240 | 0; + T = h + 256 | 0; + U = h + 272 | 0; + V = h + 288 | 0; + W = h + 304 | 0; + X = h + 320 | 0; + Y = h + 336 | 0; + Z = h + 352 | 0; + _ = h + 368 | 0; + $ = h + 384 | 0; + aa = h + 400 | 0; + ab = h + 416 | 0; + ac = h + 432 | 0; + ad = h + 448 | 0; + ae = h + 464 | 0; + af = h + 480 | 0; + ag = h + 496 | 0; + ah = h + 512 | 0; + ai = h + 528 | 0; + aj = h + 544 | 0; + ak = h + 560 | 0; + al = h + 576 | 0; + am = h + 592 | 0; + an = h + 608 | 0; + ao = h + 624 | 0; + ap = h + 640 | 0; + aq = h + 656 | 0; + ar = h + 672 | 0; + as = h + 688 | 0; + at = h + 704 | 0; + au = h + 720 | 0; + av = h + 736 | 0; + aw = h + 752 | 0; + ax = h + 768 | 0; + ay = h + 784 | 0; + az = h + 800 | 0; + aA = h + 816 | 0; + aB = h + 832 | 0; + aC = h + 848 | 0; + aD = h + 864 | 0; + aE = h + 880 | 0; + aF = h + 896 | 0; + aG = h + 912 | 0; + aH = h + 928 | 0; + aI = h + 944 | 0; + aJ = h + 960 | 0; + aK = h + 976 | 0; + aL = h + 992 | 0; + aM = h + 1008 | 0; + aN = h + 1024 | 0; + aO = h + 1040 | 0; + aP = h + 1056 | 0; + aQ = h + 1072 | 0; + aR = h + 1088 | 0; + aS = h + 1104 | 0; + aT = h + 1120 | 0; + aU = h + 1136 | 0; + aV = h + 1152 | 0; + aW = h + 1168 | 0; + aX = h + 1184 | 0; + aY = h + 1200 | 0; + aZ = h + 1216 | 0; + a_ = h + 1232 | 0; + a$ = h + 1248 | 0; + a0 = h + 1264 | 0; + a1 = h + 1280 | 0; + a2 = h + 1296 | 0; + a3 = h + 1312 | 0; + a4 = h + 1328 | 0; + a5 = h + 1344 | 0; + a6 = h + 1360 | 0; + a7 = h + 1376 | 0; + a8 = h + 1392 | 0; + h = g + 12 | 0; + a9 = s; + ba = t; + bb = w; + bc = y; + bd = v; + be = z; + bf = u; + bg = x; + bh = b; + b = d; + d = f; + f = e; + while (1) { + c[A >> 2] = c[g >> 2]; + c[A + 4 >> 2] = c[g + 4 >> 2]; + c[A + 8 >> 2] = c[g + 8 >> 2]; + c[A + 12 >> 2] = c[g + 12 >> 2]; + d1(l, k); + d3(l, 110808); + d1(m, l); + d1(n, l); + d1(o, l); + d1(p, l); + d1(q, l); + d1(r, l); + d9(l, 1); + d9(m, 2); + d9(n, 3); + d9(o, 4); + d9(p, 5); + d9(q, 6); + d9(r, 7); + d3(k, 110888); + d3(l, 110872); + d3(m, 110872); + d3(n, 110872); + d3(o, 110872); + d3(p, 110872); + d3(q, 110872); + d3(r, 110872); + d1(s, q); + d6(s, 1); + d_(s, r); + d$(s, 110952); + d_(r, s); + d7(s, 1); + d_(q, s); + d1(s, o); + d6(s, 1); + d_(s, p); + d$(s, 110952); + d_(p, s); + d7(s, 1); + d_(o, s); + d1(s, m); + d6(s, 1); + d_(s, n); + d$(s, 110952); + d_(n, s); + d7(s, 1); + d_(m, s); + d1(s, k); + d6(s, 1); + d_(s, l); + d$(s, 110952); + d_(l, s); + d7(s, 1); + d_(k, s); + d1(s, p); + d6(s, 2); + d_(s, r); + d$(s, 110936); + d_(r, s); + d7(s, 2); + d_(p, s); + d1(s, o); + d6(s, 2); + d_(s, q); + d$(s, 110936); + d_(q, s); + d7(s, 2); + d_(o, s); + d1(s, l); + d6(s, 2); + d_(s, n); + d$(s, 110936); + d_(n, s); + d7(s, 2); + d_(l, s); + d1(s, k); + d6(s, 2); + d_(s, m); + d$(s, 110936); + d_(m, s); + d7(s, 2); + d_(k, s); + d1(s, n); + d6(s, 4); + d_(s, r); + d$(s, 110920); + d_(r, s); + d7(s, 4); + d_(n, s); + d1(s, m); + d6(s, 4); + d_(s, q); + d$(s, 110920); + d_(q, s); + d7(s, 4); + d_(m, s); + d1(s, l); + d6(s, 4); + d_(s, p); + d$(s, 110920); + d_(p, s); + d7(s, 4); + d_(l, s); + d1(s, k); + d6(s, 4); + d_(s, o); + d$(s, 110920); + d_(o, s); + d7(s, 4); + d_(k, s); + d_(k, C); + d3(k, 110840); + d_(l, D); + d3(l, 110840); + d_(m, E); + d3(m, 110840); + d_(n, F); + d3(n, 110840); + d_(o, G); + d3(o, 110840); + d_(p, I); + d3(p, 110840); + d_(q, J); + d3(q, 110840); + d_(r, K); + d3(r, 110840); + d_(p, q); + d_(m, l); + d_(p, k); + d_(q, m); + d_(n, k); + d_(q, n); + d_(n, r); + d_(n, o); + d_(r, p); + d_(n, l); + d_(o, p); + d_(m, r); + d_(l, p); + d1(v, r); + d1(u, l); + d1(t, p); + d1(x, m); + d1(w, q); + d_(v, o); + d_(u, m); + d_(t, n); + d_(x, o); + d_(w, k); + d1(y, v); + d1(s, u); + d1(z, v); + d0(u, t); + d0(v, w); + d_(z, s); + d$(y, w); + d$(s, t); + d_(w, t); + d$(z, w); + d1(w, n); + d_(w, k); + d$(x, w); + d_(v, x); + d_(u, x); + d1(x, r); + d_(x, l); + d1(w, p); + d1(t, x); + d_(w, q); + d0(t, w); + d$(x, w); + d_(s, x); + d_(v, z); + d_(u, y); + d_(t, z); + d_(s, y); + d_(t, y); + d1(w, m); + d1(x, o); + d1(y, l); + d1(z, r); + d$(w, n); + d$(x, k); + d$(y, p); + d0(z, q); + d_(v, w); + d_(u, x); + d_(t, y); + d_(s, z); + d1(w, v); + d_(w, u); + d$(v, t); + d1(y, s); + d_(y, v); + d1(z, w); + d$(z, y); + d_(z, u); + d1(x, t); + d_(x, s); + d_(v, u); + d$(x, v); + d_(x, s); + d_(t, x); + d1(u, y); + d_(u, x); + d$(u, s); + d_(t, u); + d_(y, u); + d$(y, z); + d_(y, w); + d1(w, q); + d1(s, p); + d1(u, z); + d_(u, y); + d$(u, q); + d_(q, p); + d$(q, y); + d$(p, z); + d_(q, p); + d_(p, u); + d_(w, k); + d_(s, n); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, k); + d_(k, n); + d$(k, t); + d$(n, x); + d_(k, n); + d_(n, u); + d_(q, w); + d_(k, w); + d_(p, s); + d_(n, s); + d1(w, r); + d1(s, l); + d_(w, o); + d_(s, m); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, o); + d_(o, m); + d$(o, t); + d$(m, x); + d_(o, m); + d_(m, u); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, r); + d_(r, l); + d$(r, y); + d$(l, z); + d_(r, l); + d_(l, v); + d_(r, w); + d_(o, w); + d_(l, s); + d_(m, s); + d_(r, k); + d_(l, q); + d_(o, r); + d_(q, k); + d_(k, l); + d_(l, p); + d_(p, m); + d_(o, p); + d_(m, n); + d_(n, p); + d_(q, n); + d4(s, k, 147); + d4(t, l, 147); + d4(u, o, 147); + d4(v, q, 147); + d4(w, n, 147); + d4(x, r, 147); + d4(y, m, 147); + d4(z, p, 147); + d_(k, s); + d_(l, t); + d_(o, u); + d_(q, v); + d_(n, w); + d_(r, x); + d_(m, y); + d_(p, z); + d_(s, p); + d_(t, k); + d_(u, l); + d_(t, p); + d_(v, o); + d_(w, q); + d_(x, n); + d_(v, p); + d_(y, r); + d_(z, m); + d_(w, p); + d4(k, k, 78); + d4(l, l, 78); + d4(o, o, 78); + d4(q, q, 78); + d4(n, n, 78); + d4(r, r, 78); + d4(m, m, 78); + d4(p, p, 78); + d_(s, k); + d_(t, l); + d_(u, o); + d_(v, q); + d_(w, n); + d_(x, r); + d_(y, m); + d_(z, p); + d_(s, L); + d3(s, 110840); + d_(t, M); + d3(t, 110840); + d_(u, N); + d3(u, 110840); + d_(v, O); + d3(v, 110840); + d_(w, P); + d3(w, 110840); + d_(x, Q); + d3(x, 110840); + d_(y, R); + d3(y, 110840); + d_(z, S); + d3(z, 110840); + d_(x, y); + d_(u, t); + d_(x, s); + d_(y, u); + d_(v, s); + d_(y, v); + d_(v, z); + d_(v, w); + d_(z, x); + d_(v, t); + d_(w, x); + d_(u, z); + d_(t, x); + d1(n, z); + d1(m, t); + d1(l, x); + d1(p, u); + d1(o, y); + d_(n, w); + d_(m, u); + d_(l, v); + d_(p, w); + d_(o, s); + d1(q, n); + d1(k, m); + d1(r, n); + d0(m, l); + d0(n, o); + d_(r, k); + d$(q, o); + d$(k, l); + d_(o, l); + d$(r, o); + d1(o, v); + d_(o, s); + d$(p, o); + d_(n, p); + d_(m, p); + d1(p, z); + d_(p, t); + d1(o, x); + d1(l, p); + d_(o, y); + d0(l, o); + d$(p, o); + d_(k, p); + d_(n, r); + d_(m, q); + d_(l, r); + d_(k, q); + d_(l, q); + d1(o, u); + d1(p, w); + d1(q, t); + d1(r, z); + d$(o, v); + d$(p, s); + d$(q, x); + d0(r, y); + d_(n, o); + d_(m, p); + d_(l, q); + d_(k, r); + d1(o, n); + d_(o, m); + d$(n, l); + d1(q, k); + d_(q, n); + d1(r, o); + d$(r, q); + d_(r, m); + d1(p, l); + d_(p, k); + d_(n, m); + d$(p, n); + d_(p, k); + d_(l, p); + d1(m, q); + d_(m, p); + d$(m, k); + d_(l, m); + d_(q, m); + d$(q, r); + d_(q, o); + d1(o, y); + d1(k, x); + d1(m, r); + d_(m, q); + d$(m, y); + d_(y, x); + d$(y, q); + d$(x, r); + d_(y, x); + d_(x, m); + d_(o, s); + d_(k, v); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, s); + d_(s, v); + d$(s, l); + d$(v, p); + d_(s, v); + d_(v, m); + d_(y, o); + d_(s, o); + d_(x, k); + d_(v, k); + d1(o, z); + d1(k, t); + d_(o, w); + d_(k, u); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, w); + d_(w, u); + d$(w, l); + d$(u, p); + d_(w, u); + d_(u, m); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, z); + d_(z, t); + d$(z, q); + d$(t, r); + d_(z, t); + d_(t, n); + d_(z, o); + d_(w, o); + d_(t, k); + d_(u, k); + d_(z, s); + d_(t, y); + d_(w, z); + d_(y, s); + d_(s, t); + d_(t, x); + d_(x, u); + d_(w, x); + d_(u, v); + d_(v, x); + d_(y, v); + d4(k, s, 147); + d4(l, t, 147); + d4(m, w, 147); + d4(n, y, 147); + d4(o, v, 147); + d4(p, z, 147); + d4(q, u, 147); + d4(r, x, 147); + d_(s, k); + d_(t, l); + d_(w, m); + d_(y, n); + d_(v, o); + d_(z, p); + d_(u, q); + d_(x, r); + d_(k, x); + d_(l, s); + d_(m, t); + d_(l, x); + d_(n, w); + d_(o, y); + d_(p, v); + d_(n, x); + d_(q, z); + d_(r, u); + d_(o, x); + d4(s, s, 78); + d4(t, t, 78); + d4(w, w, 78); + d4(y, y, 78); + d4(v, v, 78); + d4(z, z, 78); + d4(u, u, 78); + d4(x, x, 78); + d_(k, s); + d_(l, t); + d_(m, w); + d_(n, y); + d_(o, v); + d_(p, z); + d_(q, u); + d_(r, x); + d_(k, T); + d3(k, 110840); + d_(l, U); + d3(l, 110840); + d_(m, V); + d3(m, 110840); + d_(n, W); + d3(n, 110840); + d_(o, X); + d3(o, 110840); + d_(p, Y); + d3(p, 110840); + d_(q, Z); + d3(q, 110840); + d_(r, _); + d3(r, 110840); + d_(p, q); + d_(m, l); + d_(p, k); + d_(q, m); + d_(n, k); + d_(q, n); + d_(n, r); + d_(n, o); + d_(r, p); + d_(n, l); + d_(o, p); + d_(m, r); + d_(l, p); + d1(v, r); + d1(u, l); + d1(t, p); + d1(x, m); + d1(w, q); + d_(v, o); + d_(u, m); + d_(t, n); + d_(x, o); + d_(w, k); + d1(y, v); + d1(s, u); + d1(z, v); + d0(u, t); + d0(v, w); + d_(z, s); + d$(y, w); + d$(s, t); + d_(w, t); + d$(z, w); + d1(w, n); + d_(w, k); + d$(x, w); + d_(v, x); + d_(u, x); + d1(x, r); + d_(x, l); + d1(w, p); + d1(t, x); + d_(w, q); + d0(t, w); + d$(x, w); + d_(s, x); + d_(v, z); + d_(u, y); + d_(t, z); + d_(s, y); + d_(t, y); + d1(w, m); + d1(x, o); + d1(y, l); + d1(z, r); + d$(w, n); + d$(x, k); + d$(y, p); + d0(z, q); + d_(v, w); + d_(u, x); + d_(t, y); + d_(s, z); + d1(w, v); + d_(w, u); + d$(v, t); + d1(y, s); + d_(y, v); + d1(z, w); + d$(z, y); + d_(z, u); + d1(x, t); + d_(x, s); + d_(v, u); + d$(x, v); + d_(x, s); + d_(t, x); + d1(u, y); + d_(u, x); + d$(u, s); + d_(t, u); + d_(y, u); + d$(y, z); + d_(y, w); + d1(w, q); + d1(s, p); + d1(u, z); + d_(u, y); + d$(u, q); + d_(q, p); + d$(q, y); + d$(p, z); + d_(q, p); + d_(p, u); + d_(w, k); + d_(s, n); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, k); + d_(k, n); + d$(k, t); + d$(n, x); + d_(k, n); + d_(n, u); + d_(q, w); + d_(k, w); + d_(p, s); + d_(n, s); + d1(w, r); + d1(s, l); + d_(w, o); + d_(s, m); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, o); + d_(o, m); + d$(o, t); + d$(m, x); + d_(o, m); + d_(m, u); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, r); + d_(r, l); + d$(r, y); + d$(l, z); + d_(r, l); + d_(l, v); + d_(r, w); + d_(o, w); + d_(l, s); + d_(m, s); + d_(r, k); + d_(l, q); + d_(o, r); + d_(q, k); + d_(k, l); + d_(l, p); + d_(p, m); + d_(o, p); + d_(m, n); + d_(n, p); + d_(q, n); + d4(s, k, 147); + d4(t, l, 147); + d4(u, o, 147); + d4(v, q, 147); + d4(w, n, 147); + d4(x, r, 147); + d4(y, m, 147); + d4(z, p, 147); + d_(k, s); + d_(l, t); + d_(o, u); + d_(q, v); + d_(n, w); + d_(r, x); + d_(m, y); + d_(p, z); + d_(s, p); + d_(t, k); + d_(u, l); + d_(t, p); + d_(v, o); + d_(w, q); + d_(x, n); + d_(v, p); + d_(y, r); + d_(z, m); + d_(w, p); + d4(k, k, 78); + d4(l, l, 78); + d4(o, o, 78); + d4(q, q, 78); + d4(n, n, 78); + d4(r, r, 78); + d4(m, m, 78); + d4(p, p, 78); + d_(s, k); + d_(t, l); + d_(u, o); + d_(v, q); + d_(w, n); + d_(x, r); + d_(y, m); + d_(z, p); + d_(s, $); + d3(s, 110840); + d_(t, aa); + d3(t, 110840); + d_(u, ab); + d3(u, 110840); + d_(v, ac); + d3(v, 110840); + d_(w, ad); + d3(w, 110840); + d_(x, ae); + d3(x, 110840); + d_(y, af); + d3(y, 110840); + d_(z, ag); + d3(z, 110840); + d_(x, y); + d_(u, t); + d_(x, s); + d_(y, u); + d_(v, s); + d_(y, v); + d_(v, z); + d_(v, w); + d_(z, x); + d_(v, t); + d_(w, x); + d_(u, z); + d_(t, x); + d1(n, z); + d1(m, t); + d1(l, x); + d1(p, u); + d1(o, y); + d_(n, w); + d_(m, u); + d_(l, v); + d_(p, w); + d_(o, s); + d1(q, n); + d1(k, m); + d1(r, n); + d0(m, l); + d0(n, o); + d_(r, k); + d$(q, o); + d$(k, l); + d_(o, l); + d$(r, o); + d1(o, v); + d_(o, s); + d$(p, o); + d_(n, p); + d_(m, p); + d1(p, z); + d_(p, t); + d1(o, x); + d1(l, p); + d_(o, y); + d0(l, o); + d$(p, o); + d_(k, p); + d_(n, r); + d_(m, q); + d_(l, r); + d_(k, q); + d_(l, q); + d1(o, u); + d1(p, w); + d1(q, t); + d1(r, z); + d$(o, v); + d$(p, s); + d$(q, x); + d0(r, y); + d_(n, o); + d_(m, p); + d_(l, q); + d_(k, r); + d1(o, n); + d_(o, m); + d$(n, l); + d1(q, k); + d_(q, n); + d1(r, o); + d$(r, q); + d_(r, m); + d1(p, l); + d_(p, k); + d_(n, m); + d$(p, n); + d_(p, k); + d_(l, p); + d1(m, q); + d_(m, p); + d$(m, k); + d_(l, m); + d_(q, m); + d$(q, r); + d_(q, o); + d1(o, y); + d1(k, x); + d1(m, r); + d_(m, q); + d$(m, y); + d_(y, x); + d$(y, q); + d$(x, r); + d_(y, x); + d_(x, m); + d_(o, s); + d_(k, v); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, s); + d_(s, v); + d$(s, l); + d$(v, p); + d_(s, v); + d_(v, m); + d_(y, o); + d_(s, o); + d_(x, k); + d_(v, k); + d1(o, z); + d1(k, t); + d_(o, w); + d_(k, u); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, w); + d_(w, u); + d$(w, l); + d$(u, p); + d_(w, u); + d_(u, m); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, z); + d_(z, t); + d$(z, q); + d$(t, r); + d_(z, t); + d_(t, n); + d_(z, o); + d_(w, o); + d_(t, k); + d_(u, k); + d_(z, s); + d_(t, y); + d_(w, z); + d_(y, s); + d_(s, t); + d_(t, x); + d_(x, u); + d_(w, x); + d_(u, v); + d_(v, x); + d_(y, v); + d4(k, s, 147); + d4(l, t, 147); + d4(m, w, 147); + d4(n, y, 147); + d4(o, v, 147); + d4(p, z, 147); + d4(q, u, 147); + d4(r, x, 147); + d_(s, k); + d_(t, l); + d_(w, m); + d_(y, n); + d_(v, o); + d_(z, p); + d_(u, q); + d_(x, r); + d_(k, x); + d_(l, s); + d_(m, t); + d_(l, x); + d_(n, w); + d_(o, y); + d_(p, v); + d_(n, x); + d_(q, z); + d_(r, u); + d_(o, x); + d4(s, s, 78); + d4(t, t, 78); + d4(w, w, 78); + d4(y, y, 78); + d4(v, v, 78); + d4(z, z, 78); + d4(u, u, 78); + d4(x, x, 78); + d_(k, s); + d_(l, t); + d_(m, w); + d_(n, y); + d_(o, v); + d_(p, z); + d_(q, u); + d_(r, x); + d_(k, ah); + d3(k, 110840); + d_(l, ai); + d3(l, 110840); + d_(m, aj); + d3(m, 110840); + d_(n, ak); + d3(n, 110840); + d_(o, al); + d3(o, 110840); + d_(p, am); + d3(p, 110840); + d_(q, an); + d3(q, 110840); + d_(r, ao); + d3(r, 110840); + d_(p, q); + d_(m, l); + d_(p, k); + d_(q, m); + d_(n, k); + d_(q, n); + d_(n, r); + d_(n, o); + d_(r, p); + d_(n, l); + d_(o, p); + d_(m, r); + d_(l, p); + d1(v, r); + d1(u, l); + d1(t, p); + d1(x, m); + d1(w, q); + d_(v, o); + d_(u, m); + d_(t, n); + d_(x, o); + d_(w, k); + d1(y, v); + d1(s, u); + d1(z, v); + d0(u, t); + d0(v, w); + d_(z, s); + d$(y, w); + d$(s, t); + d_(w, t); + d$(z, w); + d1(w, n); + d_(w, k); + d$(x, w); + d_(v, x); + d_(u, x); + d1(x, r); + d_(x, l); + d1(w, p); + d1(t, x); + d_(w, q); + d0(t, w); + d$(x, w); + d_(s, x); + d_(v, z); + d_(u, y); + d_(t, z); + d_(s, y); + d_(t, y); + d1(w, m); + d1(x, o); + d1(y, l); + d1(z, r); + d$(w, n); + d$(x, k); + d$(y, p); + d0(z, q); + d_(v, w); + d_(u, x); + d_(t, y); + d_(s, z); + d1(w, v); + d_(w, u); + d$(v, t); + d1(y, s); + d_(y, v); + d1(z, w); + d$(z, y); + d_(z, u); + d1(x, t); + d_(x, s); + d_(v, u); + d$(x, v); + d_(x, s); + d_(t, x); + d1(u, y); + d_(u, x); + d$(u, s); + d_(t, u); + d_(y, u); + d$(y, z); + d_(y, w); + d1(w, q); + d1(s, p); + d1(u, z); + d_(u, y); + d$(u, q); + d_(q, p); + d$(q, y); + d$(p, z); + d_(q, p); + d_(p, u); + d_(w, k); + d_(s, n); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, k); + d_(k, n); + d$(k, t); + d$(n, x); + d_(k, n); + d_(n, u); + d_(q, w); + d_(k, w); + d_(p, s); + d_(n, s); + d1(w, r); + d1(s, l); + d_(w, o); + d_(s, m); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, o); + d_(o, m); + d$(o, t); + d$(m, x); + d_(o, m); + d_(m, u); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, r); + d_(r, l); + d$(r, y); + d$(l, z); + d_(r, l); + d_(l, v); + d_(r, w); + d_(o, w); + d_(l, s); + d_(m, s); + d_(r, k); + d_(l, q); + d_(o, r); + d_(q, k); + d_(k, l); + d_(l, p); + d_(p, m); + d_(o, p); + d_(m, n); + d_(n, p); + d_(q, n); + d4(s, k, 147); + d4(t, l, 147); + d4(u, o, 147); + d4(v, q, 147); + d4(w, n, 147); + d4(x, r, 147); + d4(y, m, 147); + d4(z, p, 147); + d_(k, s); + d_(l, t); + d_(o, u); + d_(q, v); + d_(n, w); + d_(r, x); + d_(m, y); + d_(p, z); + d_(s, p); + d_(t, k); + d_(u, l); + d_(t, p); + d_(v, o); + d_(w, q); + d_(x, n); + d_(v, p); + d_(y, r); + d_(z, m); + d_(w, p); + d4(k, k, 78); + d4(l, l, 78); + d4(o, o, 78); + d4(q, q, 78); + d4(n, n, 78); + d4(r, r, 78); + d4(m, m, 78); + d4(p, p, 78); + d_(s, k); + d_(t, l); + d_(u, o); + d_(v, q); + d_(w, n); + d_(x, r); + d_(y, m); + d_(z, p); + d_(s, ap); + d3(s, 110840); + d_(t, aq); + d3(t, 110840); + d_(u, ar); + d3(u, 110840); + d_(v, as); + d3(v, 110840); + d_(w, at); + d3(w, 110840); + d_(x, au); + d3(x, 110840); + d_(y, av); + d3(y, 110840); + d_(z, aw); + d3(z, 110840); + d_(x, y); + d_(u, t); + d_(x, s); + d_(y, u); + d_(v, s); + d_(y, v); + d_(v, z); + d_(v, w); + d_(z, x); + d_(v, t); + d_(w, x); + d_(u, z); + d_(t, x); + d1(n, z); + d1(m, t); + d1(l, x); + d1(p, u); + d1(o, y); + d_(n, w); + d_(m, u); + d_(l, v); + d_(p, w); + d_(o, s); + d1(q, n); + d1(k, m); + d1(r, n); + d0(m, l); + d0(n, o); + d_(r, k); + d$(q, o); + d$(k, l); + d_(o, l); + d$(r, o); + d1(o, v); + d_(o, s); + d$(p, o); + d_(n, p); + d_(m, p); + d1(p, z); + d_(p, t); + d1(o, x); + d1(l, p); + d_(o, y); + d0(l, o); + d$(p, o); + d_(k, p); + d_(n, r); + d_(m, q); + d_(l, r); + d_(k, q); + d_(l, q); + d1(o, u); + d1(p, w); + d1(q, t); + d1(r, z); + d$(o, v); + d$(p, s); + d$(q, x); + d0(r, y); + d_(n, o); + d_(m, p); + d_(l, q); + d_(k, r); + d1(o, n); + d_(o, m); + d$(n, l); + d1(q, k); + d_(q, n); + d1(r, o); + d$(r, q); + d_(r, m); + d1(p, l); + d_(p, k); + d_(n, m); + d$(p, n); + d_(p, k); + d_(l, p); + d1(m, q); + d_(m, p); + d$(m, k); + d_(l, m); + d_(q, m); + d$(q, r); + d_(q, o); + d1(o, y); + d1(k, x); + d1(m, r); + d_(m, q); + d$(m, y); + d_(y, x); + d$(y, q); + d$(x, r); + d_(y, x); + d_(x, m); + d_(o, s); + d_(k, v); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, s); + d_(s, v); + d$(s, l); + d$(v, p); + d_(s, v); + d_(v, m); + d_(y, o); + d_(s, o); + d_(x, k); + d_(v, k); + d1(o, z); + d1(k, t); + d_(o, w); + d_(k, u); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, w); + d_(w, u); + d$(w, l); + d$(u, p); + d_(w, u); + d_(u, m); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, z); + d_(z, t); + d$(z, q); + d$(t, r); + d_(z, t); + d_(t, n); + d_(z, o); + d_(w, o); + d_(t, k); + d_(u, k); + d_(z, s); + d_(t, y); + d_(w, z); + d_(y, s); + d_(s, t); + d_(t, x); + d_(x, u); + d_(w, x); + d_(u, v); + d_(v, x); + d_(y, v); + d4(k, s, 147); + d4(l, t, 147); + d4(m, w, 147); + d4(n, y, 147); + d4(o, v, 147); + d4(p, z, 147); + d4(q, u, 147); + d4(r, x, 147); + d_(s, k); + d_(t, l); + d_(w, m); + d_(y, n); + d_(v, o); + d_(z, p); + d_(u, q); + d_(x, r); + d_(k, x); + d_(l, s); + d_(m, t); + d_(l, x); + d_(n, w); + d_(o, y); + d_(p, v); + d_(n, x); + d_(q, z); + d_(r, u); + d_(o, x); + d4(s, s, 78); + d4(t, t, 78); + d4(w, w, 78); + d4(y, y, 78); + d4(v, v, 78); + d4(z, z, 78); + d4(u, u, 78); + d4(x, x, 78); + d_(k, s); + d_(l, t); + d_(m, w); + d_(n, y); + d_(o, v); + d_(p, z); + d_(q, u); + d_(r, x); + d_(k, ax); + d3(k, 110840); + d_(l, ay); + d3(l, 110840); + d_(m, az); + d3(m, 110840); + d_(n, aA); + d3(n, 110840); + d_(o, aB); + d3(o, 110840); + d_(p, aC); + d3(p, 110840); + d_(q, aD); + d3(q, 110840); + d_(r, aE); + d3(r, 110840); + d_(p, q); + d_(m, l); + d_(p, k); + d_(q, m); + d_(n, k); + d_(q, n); + d_(n, r); + d_(n, o); + d_(r, p); + d_(n, l); + d_(o, p); + d_(m, r); + d_(l, p); + d1(v, r); + d1(u, l); + d1(t, p); + d1(x, m); + d1(w, q); + d_(v, o); + d_(u, m); + d_(t, n); + d_(x, o); + d_(w, k); + d1(y, v); + d1(s, u); + d1(z, v); + d0(u, t); + d0(v, w); + d_(z, s); + d$(y, w); + d$(s, t); + d_(w, t); + d$(z, w); + d1(w, n); + d_(w, k); + d$(x, w); + d_(v, x); + d_(u, x); + d1(x, r); + d_(x, l); + d1(w, p); + d1(t, x); + d_(w, q); + d0(t, w); + d$(x, w); + d_(s, x); + d_(v, z); + d_(u, y); + d_(t, z); + d_(s, y); + d_(t, y); + d1(w, m); + d1(x, o); + d1(y, l); + d1(z, r); + d$(w, n); + d$(x, k); + d$(y, p); + d0(z, q); + d_(v, w); + d_(u, x); + d_(t, y); + d_(s, z); + d1(w, v); + d_(w, u); + d$(v, t); + d1(y, s); + d_(y, v); + d1(z, w); + d$(z, y); + d_(z, u); + d1(x, t); + d_(x, s); + d_(v, u); + d$(x, v); + d_(x, s); + d_(t, x); + d1(u, y); + d_(u, x); + d$(u, s); + d_(t, u); + d_(y, u); + d$(y, z); + d_(y, w); + d1(w, q); + d1(s, p); + d1(u, z); + d_(u, y); + d$(u, q); + d_(q, p); + d$(q, y); + d$(p, z); + d_(q, p); + d_(p, u); + d_(w, k); + d_(s, n); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, k); + d_(k, n); + d$(k, t); + d$(n, x); + d_(k, n); + d_(n, u); + d_(q, w); + d_(k, w); + d_(p, s); + d_(n, s); + d1(w, r); + d1(s, l); + d_(w, o); + d_(s, m); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, o); + d_(o, m); + d$(o, t); + d$(m, x); + d_(o, m); + d_(m, u); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, r); + d_(r, l); + d$(r, y); + d$(l, z); + d_(r, l); + d_(l, v); + d_(r, w); + d_(o, w); + d_(l, s); + d_(m, s); + d_(r, k); + d_(l, q); + d_(o, r); + d_(q, k); + d_(k, l); + d_(l, p); + d_(p, m); + d_(o, p); + d_(m, n); + d_(n, p); + d_(q, n); + d4(s, k, 147); + d4(t, l, 147); + d4(u, o, 147); + d4(v, q, 147); + d4(w, n, 147); + d4(x, r, 147); + d4(y, m, 147); + d4(z, p, 147); + d_(k, s); + d_(l, t); + d_(o, u); + d_(q, v); + d_(n, w); + d_(r, x); + d_(m, y); + d_(p, z); + d_(s, p); + d_(t, k); + d_(u, l); + d_(t, p); + d_(v, o); + d_(w, q); + d_(x, n); + d_(v, p); + d_(y, r); + d_(z, m); + d_(w, p); + d4(k, k, 78); + d4(l, l, 78); + d4(o, o, 78); + d4(q, q, 78); + d4(n, n, 78); + d4(r, r, 78); + d4(m, m, 78); + d4(p, p, 78); + d_(s, k); + d_(t, l); + d_(u, o); + d_(v, q); + d_(w, n); + d_(x, r); + d_(y, m); + d_(z, p); + d_(s, aF); + d3(s, 110840); + d_(t, aG); + d3(t, 110840); + d_(u, aH); + d3(u, 110840); + d_(v, aI); + d3(v, 110840); + d_(w, aJ); + d3(w, 110840); + d_(x, aK); + d3(x, 110840); + d_(y, aL); + d3(y, 110840); + d_(z, aM); + d3(z, 110840); + d_(x, y); + d_(u, t); + d_(x, s); + d_(y, u); + d_(v, s); + d_(y, v); + d_(v, z); + d_(v, w); + d_(z, x); + d_(v, t); + d_(w, x); + d_(u, z); + d_(t, x); + d1(n, z); + d1(m, t); + d1(l, x); + d1(p, u); + d1(o, y); + d_(n, w); + d_(m, u); + d_(l, v); + d_(p, w); + d_(o, s); + d1(q, n); + d1(k, m); + d1(r, n); + d0(m, l); + d0(n, o); + d_(r, k); + d$(q, o); + d$(k, l); + d_(o, l); + d$(r, o); + d1(o, v); + d_(o, s); + d$(p, o); + d_(n, p); + d_(m, p); + d1(p, z); + d_(p, t); + d1(o, x); + d1(l, p); + d_(o, y); + d0(l, o); + d$(p, o); + d_(k, p); + d_(n, r); + d_(m, q); + d_(l, r); + d_(k, q); + d_(l, q); + d1(o, u); + d1(p, w); + d1(q, t); + d1(r, z); + d$(o, v); + d$(p, s); + d$(q, x); + d0(r, y); + d_(n, o); + d_(m, p); + d_(l, q); + d_(k, r); + d1(o, n); + d_(o, m); + d$(n, l); + d1(q, k); + d_(q, n); + d1(r, o); + d$(r, q); + d_(r, m); + d1(p, l); + d_(p, k); + d_(n, m); + d$(p, n); + d_(p, k); + d_(l, p); + d1(m, q); + d_(m, p); + d$(m, k); + d_(l, m); + d_(q, m); + d$(q, r); + d_(q, o); + d1(o, y); + d1(k, x); + d1(m, r); + d_(m, q); + d$(m, y); + d_(y, x); + d$(y, q); + d$(x, r); + d_(y, x); + d_(x, m); + d_(o, s); + d_(k, v); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, s); + d_(s, v); + d$(s, l); + d$(v, p); + d_(s, v); + d_(v, m); + d_(y, o); + d_(s, o); + d_(x, k); + d_(v, k); + d1(o, z); + d1(k, t); + d_(o, w); + d_(k, u); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, w); + d_(w, u); + d$(w, l); + d$(u, p); + d_(w, u); + d_(u, m); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, z); + d_(z, t); + d$(z, q); + d$(t, r); + d_(z, t); + d_(t, n); + d_(z, o); + d_(w, o); + d_(t, k); + d_(u, k); + d_(z, s); + d_(t, y); + d_(w, z); + d_(y, s); + d_(s, t); + d_(t, x); + d_(x, u); + d_(w, x); + d_(u, v); + d_(v, x); + d_(y, v); + d4(k, s, 147); + d4(l, t, 147); + d4(m, w, 147); + d4(n, y, 147); + d4(o, v, 147); + d4(p, z, 147); + d4(q, u, 147); + d4(r, x, 147); + d_(s, k); + d_(t, l); + d_(w, m); + d_(y, n); + d_(v, o); + d_(z, p); + d_(u, q); + d_(x, r); + d_(k, x); + d_(l, s); + d_(m, t); + d_(l, x); + d_(n, w); + d_(o, y); + d_(p, v); + d_(n, x); + d_(q, z); + d_(r, u); + d_(o, x); + d4(s, s, 78); + d4(t, t, 78); + d4(w, w, 78); + d4(y, y, 78); + d4(v, v, 78); + d4(z, z, 78); + d4(u, u, 78); + d4(x, x, 78); + d_(k, s); + d_(l, t); + d_(m, w); + d_(n, y); + d_(o, v); + d_(p, z); + d_(q, u); + d_(r, x); + d_(k, aN); + d3(k, 110840); + d_(l, aO); + d3(l, 110840); + d_(m, aP); + d3(m, 110840); + d_(n, aQ); + d3(n, 110840); + d_(o, aR); + d3(o, 110840); + d_(p, aS); + d3(p, 110840); + d_(q, aT); + d3(q, 110840); + d_(r, aU); + d3(r, 110840); + d_(p, q); + d_(m, l); + d_(p, k); + d_(q, m); + d_(n, k); + d_(q, n); + d_(n, r); + d_(n, o); + d_(r, p); + d_(n, l); + d_(o, p); + d_(m, r); + d_(l, p); + d1(v, r); + d1(u, l); + d1(t, p); + d1(x, m); + d1(w, q); + d_(v, o); + d_(u, m); + d_(t, n); + d_(x, o); + d_(w, k); + d1(y, v); + d1(s, u); + d1(z, v); + d0(u, t); + d0(v, w); + d_(z, s); + d$(y, w); + d$(s, t); + d_(w, t); + d$(z, w); + d1(w, n); + d_(w, k); + d$(x, w); + d_(v, x); + d_(u, x); + d1(x, r); + d_(x, l); + d1(w, p); + d1(t, x); + d_(w, q); + d0(t, w); + d$(x, w); + d_(s, x); + d_(v, z); + d_(u, y); + d_(t, z); + d_(s, y); + d_(t, y); + d1(w, m); + d1(x, o); + d1(y, l); + d1(z, r); + d$(w, n); + d$(x, k); + d$(y, p); + d0(z, q); + d_(v, w); + d_(u, x); + d_(t, y); + d_(s, z); + d1(w, v); + d_(w, u); + d$(v, t); + d1(y, s); + d_(y, v); + d1(z, w); + d$(z, y); + d_(z, u); + d1(x, t); + d_(x, s); + d_(v, u); + d$(x, v); + d_(x, s); + d_(t, x); + d1(u, y); + d_(u, x); + d$(u, s); + d_(t, u); + d_(y, u); + d$(y, z); + d_(y, w); + d1(w, q); + d1(s, p); + d1(u, z); + d_(u, y); + d$(u, q); + d_(q, p); + d$(q, y); + d$(p, z); + d_(q, p); + d_(p, u); + d_(w, k); + d_(s, n); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, k); + d_(k, n); + d$(k, t); + d$(n, x); + d_(k, n); + d_(n, u); + d_(q, w); + d_(k, w); + d_(p, s); + d_(n, s); + d1(w, r); + d1(s, l); + d_(w, o); + d_(s, m); + d1(v, z); + d_(v, y); + d$(v, w); + d_(w, s); + d$(w, y); + d$(s, z); + d_(s, w); + d_(w, v); + d1(u, x); + d_(u, t); + d$(u, o); + d_(o, m); + d$(o, t); + d$(m, x); + d_(o, m); + d_(m, u); + d_(z, x); + d_(y, t); + d1(v, z); + d_(v, y); + d$(v, r); + d_(r, l); + d$(r, y); + d$(l, z); + d_(r, l); + d_(l, v); + d_(r, w); + d_(o, w); + d_(l, s); + d_(m, s); + d_(r, k); + d_(l, q); + d_(o, r); + d_(q, k); + d_(k, l); + d_(l, p); + d_(p, m); + d_(o, p); + d_(m, n); + d_(n, p); + d_(q, n); + d4(s, k, 147); + d4(t, l, 147); + d4(u, o, 147); + d4(v, q, 147); + d4(w, n, 147); + d4(x, r, 147); + d4(y, m, 147); + d4(z, p, 147); + d_(k, s); + d_(l, t); + d_(o, u); + d_(q, v); + d_(n, w); + d_(r, x); + d_(m, y); + d_(p, z); + d_(s, p); + d_(t, k); + d_(u, l); + d_(t, p); + d_(v, o); + d_(w, q); + d_(x, n); + d_(v, p); + d_(y, r); + d_(z, m); + d_(w, p); + d4(k, k, 78); + d4(l, l, 78); + d4(o, o, 78); + d4(q, q, 78); + d4(n, n, 78); + d4(r, r, 78); + d4(m, m, 78); + d4(p, p, 78); + d_(s, k); + d_(t, l); + d_(u, o); + d_(v, q); + d_(w, n); + d_(x, r); + d_(y, m); + d_(z, p); + d_(s, aV); + d3(s, 110824); + d_(t, aW); + d3(t, 110824); + d_(u, aX); + d3(u, 110824); + d_(v, aY); + d3(v, 110824); + d_(w, aZ); + d3(w, 110824); + d_(x, a_); + d3(x, 110824); + d_(y, a$); + d3(y, 110824); + d_(z, a0); + d3(z, 110824); + d_(x, y); + d_(u, t); + d_(x, s); + d_(y, u); + d_(v, s); + d_(y, v); + d_(v, z); + d_(v, w); + d_(z, x); + d_(v, t); + d_(w, x); + d_(u, z); + d_(t, x); + d1(n, z); + d1(m, t); + d1(l, x); + d1(p, u); + d1(o, y); + d_(n, w); + d_(m, u); + d_(l, v); + d_(p, w); + d_(o, s); + d1(q, n); + d1(k, m); + d1(r, n); + d0(m, l); + d0(n, o); + d_(r, k); + d$(q, o); + d$(k, l); + d_(o, l); + d$(r, o); + d1(o, v); + d_(o, s); + d$(p, o); + d_(n, p); + d_(m, p); + d1(p, z); + d_(p, t); + d1(o, x); + d1(l, p); + d_(o, y); + d0(l, o); + d$(p, o); + d_(k, p); + d_(n, r); + d_(m, q); + d_(l, r); + d_(k, q); + d_(l, q); + d1(o, u); + d1(p, w); + d1(q, t); + d1(r, z); + d$(o, v); + d$(p, s); + d$(q, x); + d0(r, y); + d_(n, o); + d_(m, p); + d_(l, q); + d_(k, r); + d1(o, n); + d_(o, m); + d$(n, l); + d1(q, k); + d_(q, n); + d1(r, o); + d$(r, q); + d_(r, m); + d1(p, l); + d_(p, k); + d_(n, m); + d$(p, n); + d_(p, k); + d_(l, p); + d1(m, q); + d_(m, p); + d$(m, k); + d_(l, m); + d_(q, m); + d$(q, r); + d_(q, o); + d1(o, y); + d1(k, x); + d1(m, r); + d_(m, q); + d$(m, y); + d_(y, x); + d$(y, q); + d$(x, r); + d_(y, x); + d_(x, m); + d_(o, s); + d_(k, v); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, s); + d_(s, v); + d$(s, l); + d$(v, p); + d_(s, v); + d_(v, m); + d_(y, o); + d_(s, o); + d_(x, k); + d_(v, k); + d1(o, z); + d1(k, t); + d_(o, w); + d_(k, u); + d1(n, r); + d_(n, q); + d$(n, o); + d_(o, k); + d$(o, q); + d$(k, r); + d_(k, o); + d_(o, n); + d1(m, p); + d_(m, l); + d$(m, w); + d_(w, u); + d$(w, l); + d$(u, p); + d_(w, u); + d_(u, m); + d_(r, p); + d_(q, l); + d1(n, r); + d_(n, q); + d$(n, z); + d_(z, t); + d$(z, q); + d$(t, r); + d_(z, t); + d_(t, n); + d_(z, o); + d_(w, o); + d_(t, k); + d_(u, k); + d_(z, s); + d_(t, y); + d_(w, z); + d_(y, s); + d_(s, t); + d_(t, x); + d_(x, u); + d_(w, x); + d_(u, v); + d_(v, x); + d_(y, v); + d_(s, a1); + d_(t, a2); + d_(w, a3); + d_(y, a4); + d_(v, a5); + d_(z, a6); + d_(u, a7); + d_(x, a8); + d1(k, u); + d6(k, 1); + d_(k, x); + d$(k, 110952); + d_(x, k); + d7(k, 1); + d_(u, k); + d1(k, v); + d6(k, 1); + d_(k, z); + d$(k, 110952); + d_(z, k); + d7(k, 1); + d_(v, k); + d1(k, w); + d6(k, 1); + d_(k, y); + d$(k, 110952); + d_(y, k); + d7(k, 1); + d_(w, k); + d1(k, s); + d6(k, 1); + d_(k, t); + d$(k, 110952); + d_(t, k); + d7(k, 1); + d_(s, k); + d1(k, z); + d6(k, 2); + d_(k, x); + d$(k, 110936); + d_(x, k); + d7(k, 2); + d_(z, k); + d1(k, v); + d6(k, 2); + d_(k, u); + d$(k, 110936); + d_(u, k); + d7(k, 2); + d_(v, k); + d1(k, t); + d6(k, 2); + d_(k, y); + d$(k, 110936); + d_(y, k); + d7(k, 2); + d_(t, k); + d1(k, s); + d6(k, 2); + d_(k, w); + d$(k, 110936); + d_(w, k); + d7(k, 2); + d_(s, k); + d1(k, y); + d6(k, 4); + d_(k, x); + d$(k, 110920); + d_(x, k); + d7(k, 4); + d_(y, k); + d1(k, w); + d6(k, 4); + d_(k, u); + d$(k, 110920); + d_(u, k); + d7(k, 4); + d_(w, k); + d1(k, t); + d6(k, 4); + d_(k, z); + d$(k, 110920); + d_(z, k); + d7(k, 4); + d_(t, k); + d1(k, s); + d6(k, 4); + d_(k, v); + d$(k, 110920); + d_(v, k); + d7(k, 4); + d_(s, k); + e = 0; + if (d >>> 0 < e >>> 0 | d >>> 0 == e >>> 0 & f >>> 0 < 128 >>> 0) { + break; + } + dV(h, (dU(h) | 0) + 8 | 0); + d_(s, b); + d_(t, b + 16 | 0); + d_(w, b + 32 | 0); + d_(y, b + 48 | 0); + d_(v, b + 64 | 0); + d_(z, b + 80 | 0); + d_(u, b + 96 | 0); + d_(x, b + 112 | 0); + c[bh >> 2] = c[a9 >> 2]; + c[bh + 4 >> 2] = c[a9 + 4 >> 2]; + c[bh + 8 >> 2] = c[a9 + 8 >> 2]; + c[bh + 12 >> 2] = c[a9 + 12 >> 2]; + e = bh + 16 | 0; + c[e >> 2] = c[ba >> 2]; + c[e + 4 >> 2] = c[ba + 4 >> 2]; + c[e + 8 >> 2] = c[ba + 8 >> 2]; + c[e + 12 >> 2] = c[ba + 12 >> 2]; + e = bh + 32 | 0; + c[e >> 2] = c[bb >> 2]; + c[e + 4 >> 2] = c[bb + 4 >> 2]; + c[e + 8 >> 2] = c[bb + 8 >> 2]; + c[e + 12 >> 2] = c[bb + 12 >> 2]; + e = bh + 48 | 0; + c[e >> 2] = c[bc >> 2]; + c[e + 4 >> 2] = c[bc + 4 >> 2]; + c[e + 8 >> 2] = c[bc + 8 >> 2]; + c[e + 12 >> 2] = c[bc + 12 >> 2]; + e = bh + 64 | 0; + c[e >> 2] = c[bd >> 2]; + c[e + 4 >> 2] = c[bd + 4 >> 2]; + c[e + 8 >> 2] = c[bd + 8 >> 2]; + c[e + 12 >> 2] = c[bd + 12 >> 2]; + e = bh + 80 | 0; + c[e >> 2] = c[be >> 2]; + c[e + 4 >> 2] = c[be + 4 >> 2]; + c[e + 8 >> 2] = c[be + 8 >> 2]; + c[e + 12 >> 2] = c[be + 12 >> 2]; + e = bh + 96 | 0; + c[e >> 2] = c[bf >> 2]; + c[e + 4 >> 2] = c[bf + 4 >> 2]; + c[e + 8 >> 2] = c[bf + 8 >> 2]; + c[e + 12 >> 2] = c[bf + 12 >> 2]; + e = bh + 112 | 0; + c[e >> 2] = c[bg >> 2]; + c[e + 4 >> 2] = c[bg + 4 >> 2]; + c[e + 8 >> 2] = c[bg + 8 >> 2]; + c[e + 12 >> 2] = c[bg + 12 >> 2]; + if ((f | 0) == 128 & (d | 0) == 0) { + bi = 29; + break; + } + e = fp(f, d, -128, -1) | 0; + bh = bh + 128 | 0; + b = b + 128 | 0; + d = H; + f = e; + } + if ((bi | 0) == 29) { + i = j; + return 0; + } + bi = g + 12 | 0; + g = fp(dU(bi) | 0, 0, f >>> 4 | d << 28, d >>> 4 | 0 << 28) | 0; + dV(bi, g); + g = B; + bi = s; + c[g >> 2] = c[bi >> 2]; + c[g + 4 >> 2] = c[bi + 4 >> 2]; + c[g + 8 >> 2] = c[bi + 8 >> 2]; + c[g + 12 >> 2] = c[bi + 12 >> 2]; + bi = B + 16 | 0; + s = t; + c[bi >> 2] = c[s >> 2]; + c[bi + 4 >> 2] = c[s + 4 >> 2]; + c[bi + 8 >> 2] = c[s + 8 >> 2]; + c[bi + 12 >> 2] = c[s + 12 >> 2]; + s = B + 32 | 0; + bi = w; + c[s >> 2] = c[bi >> 2]; + c[s + 4 >> 2] = c[bi + 4 >> 2]; + c[s + 8 >> 2] = c[bi + 8 >> 2]; + c[s + 12 >> 2] = c[bi + 12 >> 2]; + bi = B + 48 | 0; + s = y; + c[bi >> 2] = c[s >> 2]; + c[bi + 4 >> 2] = c[s + 4 >> 2]; + c[bi + 8 >> 2] = c[s + 8 >> 2]; + c[bi + 12 >> 2] = c[s + 12 >> 2]; + s = B + 64 | 0; + bi = v; + c[s >> 2] = c[bi >> 2]; + c[s + 4 >> 2] = c[bi + 4 >> 2]; + c[s + 8 >> 2] = c[bi + 8 >> 2]; + c[s + 12 >> 2] = c[bi + 12 >> 2]; + bi = B + 80 | 0; + s = z; + c[bi >> 2] = c[s >> 2]; + c[bi + 4 >> 2] = c[s + 4 >> 2]; + c[bi + 8 >> 2] = c[s + 8 >> 2]; + c[bi + 12 >> 2] = c[s + 12 >> 2]; + s = B + 96 | 0; + bi = u; + c[s >> 2] = c[bi >> 2]; + c[s + 4 >> 2] = c[bi + 4 >> 2]; + c[s + 8 >> 2] = c[bi + 8 >> 2]; + c[s + 12 >> 2] = c[bi + 12 >> 2]; + bi = B + 112 | 0; + B = x; + c[bi >> 2] = c[B >> 2]; + c[bi + 4 >> 2] = c[B + 4 >> 2]; + c[bi + 8 >> 2] = c[B + 8 >> 2]; + c[bi + 12 >> 2] = c[B + 12 >> 2]; + if ((f | 0) == 0 & (d | 0) == 0) { + i = j; + return 0; + } else { + bj = d; + bk = f; + bl = g; + bm = b; + bn = bh; + } + while (1) { + a[bn] = a[bm] ^ a[bl]; + bh = fp(bk, bj, -1, -1) | 0; + b = H; + if ((bh | 0) == 0 & (b | 0) == 0) { + break; + } else { + bj = b; + bk = bh; + bl = bl + 1 | 0; + bm = bm + 1 | 0; + bn = bn + 1 | 0; + } + } + i = j; + return 0; +} +function ed(b, c) { + b = b | 0; + c = c | 0; + return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; +} +function ee(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + j = i; + i = i + 16 | 0; + k = j | 0; + l = k; + m = i; + i = i + 64 | 0; + if ((e | 0) == 0 & (f | 0) == 0) { + i = j; + return 0; + } + n = k | 0; + o = g; + g = o | 0; + p = o + 4 | 0; + o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; + c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; + c[n + 4 >> 2] = o; + o = k + 8 | 0; + c[o >> 2] = 0; + c[o + 4 >> 2] = 0; + o = 0; + do { + if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { + n = k; + g = k + 8 | 0; + p = f; + q = e; + r = b; + do { + bH(r, n, h, 120) | 0; + s = (d[g] | 0) + 1 | 0; + a[g] = s & 255; + t = l + 9 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 10 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 11 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 12 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 13 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 14 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 15 | 0; + a[t] = (d[t] | 0) + (s >>> 8) & 255; + q = fp(q, p, -64, -1) | 0; + p = H; + r = r + 64 | 0; + s = 0; + } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); + if (!((q | 0) == 0 & (p | 0) == 0)) { + v = r; + w = p; + x = q; + break; + } + i = j; + return 0; + } else { + v = b; + w = f; + x = e; + } + } while (0); + bH(m | 0, k, h, 120) | 0; + h = 0; + do { + a[v + h | 0] = a[m + h | 0] | 0; + h = h + 1 | 0; + k = (h | 0) < 0 ? -1 : 0; + } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); + i = j; + return 0; +} +function ef(b, e, f, g, h, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; + k = i; + i = i + 16 | 0; + l = k | 0; + m = l; + n = i; + i = i + 64 | 0; + if ((f | 0) == 0 & (g | 0) == 0) { + i = k; + return 0; + } + o = l | 0; + p = h; + h = p | 0; + q = p + 4 | 0; + p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; + c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; + c[o + 4 >> 2] = p; + p = l + 8 | 0; + c[p >> 2] = 0; + c[p + 4 >> 2] = 0; + p = 0; + do { + if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { + o = n | 0; + h = l; + q = l + 8 | 0; + r = e; + s = g; + t = f; + u = b; + do { + bH(o, h, j, 104) | 0; + v = 0; + do { + a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; + v = v + 1 | 0; + } while ((v | 0) < 64); + v = (d[q] | 0) + 1 | 0; + a[q] = v & 255; + w = m + 9 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 10 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 11 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 12 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 13 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 14 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 15 | 0; + a[w] = (d[w] | 0) + (v >>> 8) & 255; + t = fp(t, s, -64, -1) | 0; + s = H; + u = u + 64 | 0; + r = r + 64 | 0; + v = 0; + } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); + if (!((t | 0) == 0 & (s | 0) == 0)) { + y = u; + z = s; + A = t; + B = r; + break; + } + i = k; + return 0; + } else { + y = b; + z = g; + A = f; + B = e; + } + } while (0); + bH(n | 0, l, j, 104) | 0; + j = 0; + do { + a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; + j = j + 1 | 0; + l = (j | 0) < 0 ? -1 : 0; + } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); + i = k; + return 0; +} +function eg(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + j = i; + i = i + 16 | 0; + k = j | 0; + l = k; + m = i; + i = i + 64 | 0; + if ((e | 0) == 0 & (f | 0) == 0) { + i = j; + return 0; + } + n = k | 0; + o = g; + g = o | 0; + p = o + 4 | 0; + o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; + c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; + c[n + 4 >> 2] = o; + o = k + 8 | 0; + c[o >> 2] = 0; + c[o + 4 >> 2] = 0; + o = 0; + do { + if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { + n = k; + g = k + 8 | 0; + p = f; + q = e; + r = b; + do { + bO(r, n, h, 88) | 0; + s = (d[g] | 0) + 1 | 0; + a[g] = s & 255; + t = l + 9 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 10 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 11 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 12 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 13 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 14 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 15 | 0; + a[t] = (d[t] | 0) + (s >>> 8) & 255; + q = fp(q, p, -64, -1) | 0; + p = H; + r = r + 64 | 0; + s = 0; + } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); + if (!((q | 0) == 0 & (p | 0) == 0)) { + v = r; + w = p; + x = q; + break; + } + i = j; + return 0; + } else { + v = b; + w = f; + x = e; + } + } while (0); + bO(m | 0, k, h, 88) | 0; + h = 0; + do { + a[v + h | 0] = a[m + h | 0] | 0; + h = h + 1 | 0; + k = (h | 0) < 0 ? -1 : 0; + } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); + i = j; + return 0; +} +function eh(b, e, f, g, h, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; + k = i; + i = i + 16 | 0; + l = k | 0; + m = l; + n = i; + i = i + 64 | 0; + if ((f | 0) == 0 & (g | 0) == 0) { + i = k; + return 0; + } + o = l | 0; + p = h; + h = p | 0; + q = p + 4 | 0; + p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; + c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; + c[o + 4 >> 2] = p; + p = l + 8 | 0; + c[p >> 2] = 0; + c[p + 4 >> 2] = 0; + p = 0; + do { + if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { + o = n | 0; + h = l; + q = l + 8 | 0; + r = e; + s = g; + t = f; + u = b; + do { + bO(o, h, j, 72) | 0; + v = 0; + do { + a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; + v = v + 1 | 0; + } while ((v | 0) < 64); + v = (d[q] | 0) + 1 | 0; + a[q] = v & 255; + w = m + 9 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 10 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 11 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 12 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 13 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 14 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 15 | 0; + a[w] = (d[w] | 0) + (v >>> 8) & 255; + t = fp(t, s, -64, -1) | 0; + s = H; + u = u + 64 | 0; + r = r + 64 | 0; + v = 0; + } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); + if (!((t | 0) == 0 & (s | 0) == 0)) { + y = u; + z = s; + A = t; + B = r; + break; + } + i = k; + return 0; + } else { + y = b; + z = g; + A = f; + B = e; + } + } while (0); + bO(n | 0, l, j, 72) | 0; + j = 0; + do { + a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; + j = j + 1 | 0; + l = (j | 0) < 0 ? -1 : 0; + } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); + i = k; + return 0; +} +function ei(b, e, f, g, h) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + j = i; + i = i + 16 | 0; + k = j | 0; + l = k; + m = i; + i = i + 64 | 0; + if ((e | 0) == 0 & (f | 0) == 0) { + i = j; + return 0; + } + n = k | 0; + o = g; + g = o | 0; + p = o + 4 | 0; + o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; + c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; + c[n + 4 >> 2] = o; + o = k + 8 | 0; + c[o >> 2] = 0; + c[o + 4 >> 2] = 0; + o = 0; + do { + if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { + n = k; + g = k + 8 | 0; + p = f; + q = e; + r = b; + do { + bP(r, n, h, 56) | 0; + s = (d[g] | 0) + 1 | 0; + a[g] = s & 255; + t = l + 9 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 10 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 11 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 12 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 13 | 0; + u = (d[t] | 0) + (s >>> 8) | 0; + a[t] = u & 255; + t = l + 14 | 0; + s = (d[t] | 0) + (u >>> 8) | 0; + a[t] = s & 255; + t = l + 15 | 0; + a[t] = (d[t] | 0) + (s >>> 8) & 255; + q = fp(q, p, -64, -1) | 0; + p = H; + r = r + 64 | 0; + s = 0; + } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); + if (!((q | 0) == 0 & (p | 0) == 0)) { + v = r; + w = p; + x = q; + break; + } + i = j; + return 0; + } else { + v = b; + w = f; + x = e; + } + } while (0); + bP(m | 0, k, h, 56) | 0; + h = 0; + do { + a[v + h | 0] = a[m + h | 0] | 0; + h = h + 1 | 0; + k = (h | 0) < 0 ? -1 : 0; + } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); + i = j; + return 0; +} +function ej(b, e, f, g, h, j) { + b = b | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; + k = i; + i = i + 16 | 0; + l = k | 0; + m = l; + n = i; + i = i + 64 | 0; + if ((f | 0) == 0 & (g | 0) == 0) { + i = k; + return 0; + } + o = l | 0; + p = h; + h = p | 0; + q = p + 4 | 0; + p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; + c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; + c[o + 4 >> 2] = p; + p = l + 8 | 0; + c[p >> 2] = 0; + c[p + 4 >> 2] = 0; + p = 0; + do { + if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { + o = n | 0; + h = l; + q = l + 8 | 0; + r = e; + s = g; + t = f; + u = b; + do { + bP(o, h, j, 40) | 0; + v = 0; + do { + a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; + v = v + 1 | 0; + } while ((v | 0) < 64); + v = (d[q] | 0) + 1 | 0; + a[q] = v & 255; + w = m + 9 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 10 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 11 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 12 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 13 | 0; + x = (d[w] | 0) + (v >>> 8) | 0; + a[w] = x & 255; + w = m + 14 | 0; + v = (d[w] | 0) + (x >>> 8) | 0; + a[w] = v & 255; + w = m + 15 | 0; + a[w] = (d[w] | 0) + (v >>> 8) & 255; + t = fp(t, s, -64, -1) | 0; + s = H; + u = u + 64 | 0; + r = r + 64 | 0; + v = 0; + } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); + if (!((t | 0) == 0 & (s | 0) == 0)) { + y = u; + z = s; + A = t; + B = r; + break; + } + i = k; + return 0; + } else { + y = b; + z = g; + A = f; + B = e; + } + } while (0); + bP(n | 0, l, j, 40) | 0; + j = 0; + do { + a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; + j = j + 1 | 0; + l = (j | 0) < 0 ? -1 : 0; + } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); + i = k; + return 0; +} +function ek(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 32 | 0; + g = f | 0; + bG(g, d, e, 24) | 0; + e = ee(a, b, c, d + 16 | 0, g) | 0; + i = f; + return e | 0; +} +function el(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0; + g = i; + i = i + 32 | 0; + h = g | 0; + bG(h, e, f, 8) | 0; + f = ef(a, b, c, d, e + 16 | 0, h) | 0; + i = g; + return f | 0; +} +function em(b, c) { + b = b | 0; + c = c | 0; + return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0] | a[c + 16 | 0] ^ a[b + 16 | 0] | a[c + 17 | 0] ^ a[b + 17 | 0] | a[c + 18 | 0] ^ a[b + 18 | 0] | a[c + 19 | 0] ^ a[b + 19 | 0] | a[c + 20 | 0] ^ a[b + 20 | 0] | a[c + 21 | 0] ^ a[b + 21 | 0] | a[c + 22 | 0] ^ a[b + 22 | 0] | a[c + 23 | 0] ^ a[b + 23 | 0] | a[c + 24 | 0] ^ a[b + 24 | 0] | a[c + 25 | 0] ^ a[b + 25 | 0] | a[c + 26 | 0] ^ a[b + 26 | 0] | a[c + 27 | 0] ^ a[b + 27 | 0] | a[c + 28 | 0] ^ a[b + 28 | 0] | a[c + 29 | 0] ^ a[b + 29 | 0] | a[c + 30 | 0] ^ a[b + 30 | 0] | a[c + 31 | 0] ^ a[b + 31 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; +} +function en(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, au = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; + do { + if (a >>> 0 < 245) { + if (a >>> 0 < 11) { + b = 16; + } else { + b = a + 11 & -8; + } + d = b >>> 3; + e = c[28038] | 0; + f = e >>> (d >>> 0); + if ((f & 3 | 0) != 0) { + g = (f & 1 ^ 1) + d | 0; + h = g << 1; + i = 112192 + (h << 2) | 0; + j = 112192 + (h + 2 << 2) | 0; + h = c[j >> 2] | 0; + k = h + 8 | 0; + l = c[k >> 2] | 0; + do { + if ((i | 0) == (l | 0)) { + c[28038] = e & ~(1 << g); + } else { + if (l >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + m = l + 12 | 0; + if ((c[m >> 2] | 0) == (h | 0)) { + c[m >> 2] = i; + c[j >> 2] = l; + break; + } else { + av(); + return 0; + } + } + } while (0); + l = g << 3; + c[h + 4 >> 2] = l | 3; + j = h + (l | 4) | 0; + c[j >> 2] = c[j >> 2] | 1; + n = k; + return n | 0; + } + if (b >>> 0 <= (c[28040] | 0) >>> 0) { + o = b; + break; + } + if ((f | 0) != 0) { + j = 2 << d; + l = f << d & (j | -j); + j = (l & -l) - 1 | 0; + l = j >>> 12 & 16; + i = j >>> (l >>> 0); + j = i >>> 5 & 8; + m = i >>> (j >>> 0); + i = m >>> 2 & 4; + p = m >>> (i >>> 0); + m = p >>> 1 & 2; + q = p >>> (m >>> 0); + p = q >>> 1 & 1; + r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; + p = r << 1; + q = 112192 + (p << 2) | 0; + m = 112192 + (p + 2 << 2) | 0; + p = c[m >> 2] | 0; + i = p + 8 | 0; + l = c[i >> 2] | 0; + do { + if ((q | 0) == (l | 0)) { + c[28038] = e & ~(1 << r); + } else { + if (l >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + j = l + 12 | 0; + if ((c[j >> 2] | 0) == (p | 0)) { + c[j >> 2] = q; + c[m >> 2] = l; + break; + } else { + av(); + return 0; + } + } + } while (0); + l = r << 3; + m = l - b | 0; + c[p + 4 >> 2] = b | 3; + q = p; + e = q + b | 0; + c[q + (b | 4) >> 2] = m | 1; + c[q + l >> 2] = m; + l = c[28040] | 0; + if ((l | 0) != 0) { + q = c[28043] | 0; + d = l >>> 3; + l = d << 1; + f = 112192 + (l << 2) | 0; + k = c[28038] | 0; + h = 1 << d; + do { + if ((k & h | 0) == 0) { + c[28038] = k | h; + s = f; + t = 112192 + (l + 2 << 2) | 0; + } else { + d = 112192 + (l + 2 << 2) | 0; + g = c[d >> 2] | 0; + if (g >>> 0 >= (c[28042] | 0) >>> 0) { + s = g; + t = d; + break; + } + av(); + return 0; + } + } while (0); + c[t >> 2] = q; + c[s + 12 >> 2] = q; + c[q + 8 >> 2] = s; + c[q + 12 >> 2] = f; + } + c[28040] = m; + c[28043] = e; + n = i; + return n | 0; + } + l = c[28039] | 0; + if ((l | 0) == 0) { + o = b; + break; + } + h = (l & -l) - 1 | 0; + l = h >>> 12 & 16; + k = h >>> (l >>> 0); + h = k >>> 5 & 8; + p = k >>> (h >>> 0); + k = p >>> 2 & 4; + r = p >>> (k >>> 0); + p = r >>> 1 & 2; + d = r >>> (p >>> 0); + r = d >>> 1 & 1; + g = c[112456 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; + r = g; + d = g; + p = (c[g + 4 >> 2] & -8) - b | 0; + while (1) { + g = c[r + 16 >> 2] | 0; + if ((g | 0) == 0) { + k = c[r + 20 >> 2] | 0; + if ((k | 0) == 0) { + break; + } else { + u = k; + } + } else { + u = g; + } + g = (c[u + 4 >> 2] & -8) - b | 0; + k = g >>> 0 < p >>> 0; + r = u; + d = k ? u : d; + p = k ? g : p; + } + r = d; + i = c[28042] | 0; + if (r >>> 0 < i >>> 0) { + av(); + return 0; + } + e = r + b | 0; + m = e; + if (r >>> 0 >= e >>> 0) { + av(); + return 0; + } + e = c[d + 24 >> 2] | 0; + f = c[d + 12 >> 2] | 0; + do { + if ((f | 0) == (d | 0)) { + q = d + 20 | 0; + g = c[q >> 2] | 0; + if ((g | 0) == 0) { + k = d + 16 | 0; + l = c[k >> 2] | 0; + if ((l | 0) == 0) { + v = 0; + break; + } else { + w = l; + x = k; + } + } else { + w = g; + x = q; + } + while (1) { + q = w + 20 | 0; + g = c[q >> 2] | 0; + if ((g | 0) != 0) { + w = g; + x = q; + continue; + } + q = w + 16 | 0; + g = c[q >> 2] | 0; + if ((g | 0) == 0) { + break; + } else { + w = g; + x = q; + } + } + if (x >>> 0 < i >>> 0) { + av(); + return 0; + } else { + c[x >> 2] = 0; + v = w; + break; + } + } else { + q = c[d + 8 >> 2] | 0; + if (q >>> 0 < i >>> 0) { + av(); + return 0; + } + g = q + 12 | 0; + if ((c[g >> 2] | 0) != (d | 0)) { + av(); + return 0; + } + k = f + 8 | 0; + if ((c[k >> 2] | 0) == (d | 0)) { + c[g >> 2] = f; + c[k >> 2] = q; + v = f; + break; + } else { + av(); + return 0; + } + } + } while (0); + L209 : do { + if ((e | 0) != 0) { + f = d + 28 | 0; + i = 112456 + (c[f >> 2] << 2) | 0; + do { + if ((d | 0) == (c[i >> 2] | 0)) { + c[i >> 2] = v; + if ((v | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[f >> 2]); + break L209; + } else { + if (e >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + q = e + 16 | 0; + if ((c[q >> 2] | 0) == (d | 0)) { + c[q >> 2] = v; + } else { + c[e + 20 >> 2] = v; + } + if ((v | 0) == 0) { + break L209; + } + } + } while (0); + if (v >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + c[v + 24 >> 2] = e; + f = c[d + 16 >> 2] | 0; + do { + if ((f | 0) != 0) { + if (f >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[v + 16 >> 2] = f; + c[f + 24 >> 2] = v; + break; + } + } + } while (0); + f = c[d + 20 >> 2] | 0; + if ((f | 0) == 0) { + break; + } + if (f >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[v + 20 >> 2] = f; + c[f + 24 >> 2] = v; + break; + } + } + } while (0); + if (p >>> 0 < 16) { + e = p + b | 0; + c[d + 4 >> 2] = e | 3; + f = r + (e + 4) | 0; + c[f >> 2] = c[f >> 2] | 1; + } else { + c[d + 4 >> 2] = b | 3; + c[r + (b | 4) >> 2] = p | 1; + c[r + (p + b) >> 2] = p; + f = c[28040] | 0; + if ((f | 0) != 0) { + e = c[28043] | 0; + i = f >>> 3; + f = i << 1; + q = 112192 + (f << 2) | 0; + k = c[28038] | 0; + g = 1 << i; + do { + if ((k & g | 0) == 0) { + c[28038] = k | g; + y = q; + z = 112192 + (f + 2 << 2) | 0; + } else { + i = 112192 + (f + 2 << 2) | 0; + l = c[i >> 2] | 0; + if (l >>> 0 >= (c[28042] | 0) >>> 0) { + y = l; + z = i; + break; + } + av(); + return 0; + } + } while (0); + c[z >> 2] = e; + c[y + 12 >> 2] = e; + c[e + 8 >> 2] = y; + c[e + 12 >> 2] = q; + } + c[28040] = p; + c[28043] = m; + } + f = d + 8 | 0; + if ((f | 0) == 0) { + o = b; + break; + } else { + n = f; + } + return n | 0; + } else { + if (a >>> 0 > 4294967231) { + o = -1; + break; + } + f = a + 11 | 0; + g = f & -8; + k = c[28039] | 0; + if ((k | 0) == 0) { + o = g; + break; + } + r = -g | 0; + i = f >>> 8; + do { + if ((i | 0) == 0) { + A = 0; + } else { + if (g >>> 0 > 16777215) { + A = 31; + break; + } + f = (i + 1048320 | 0) >>> 16 & 8; + l = i << f; + h = (l + 520192 | 0) >>> 16 & 4; + j = l << h; + l = (j + 245760 | 0) >>> 16 & 2; + B = 14 - (h | f | l) + (j << l >>> 15) | 0; + A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; + } + } while (0); + i = c[112456 + (A << 2) >> 2] | 0; + L257 : do { + if ((i | 0) == 0) { + C = 0; + D = r; + E = 0; + } else { + if ((A | 0) == 31) { + F = 0; + } else { + F = 25 - (A >>> 1) | 0; + } + d = 0; + m = r; + p = i; + q = g << F; + e = 0; + while (1) { + B = c[p + 4 >> 2] & -8; + l = B - g | 0; + if (l >>> 0 < m >>> 0) { + if ((B | 0) == (g | 0)) { + C = p; + D = l; + E = p; + break L257; + } else { + G = p; + H = l; + } + } else { + G = d; + H = m; + } + l = c[p + 20 >> 2] | 0; + B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; + j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; + if ((B | 0) == 0) { + C = G; + D = H; + E = j; + break; + } else { + d = G; + m = H; + p = B; + q = q << 1; + e = j; + } + } + } + } while (0); + if ((E | 0) == 0 & (C | 0) == 0) { + i = 2 << A; + r = k & (i | -i); + if ((r | 0) == 0) { + o = g; + break; + } + i = (r & -r) - 1 | 0; + r = i >>> 12 & 16; + e = i >>> (r >>> 0); + i = e >>> 5 & 8; + q = e >>> (i >>> 0); + e = q >>> 2 & 4; + p = q >>> (e >>> 0); + q = p >>> 1 & 2; + m = p >>> (q >>> 0); + p = m >>> 1 & 1; + I = c[112456 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; + } else { + I = E; + } + if ((I | 0) == 0) { + J = D; + K = C; + } else { + p = I; + m = D; + q = C; + while (1) { + e = (c[p + 4 >> 2] & -8) - g | 0; + r = e >>> 0 < m >>> 0; + i = r ? e : m; + e = r ? p : q; + r = c[p + 16 >> 2] | 0; + if ((r | 0) != 0) { + p = r; + m = i; + q = e; + continue; + } + r = c[p + 20 >> 2] | 0; + if ((r | 0) == 0) { + J = i; + K = e; + break; + } else { + p = r; + m = i; + q = e; + } + } + } + if ((K | 0) == 0) { + o = g; + break; + } + if (J >>> 0 >= ((c[28040] | 0) - g | 0) >>> 0) { + o = g; + break; + } + q = K; + m = c[28042] | 0; + if (q >>> 0 < m >>> 0) { + av(); + return 0; + } + p = q + g | 0; + k = p; + if (q >>> 0 >= p >>> 0) { + av(); + return 0; + } + e = c[K + 24 >> 2] | 0; + i = c[K + 12 >> 2] | 0; + do { + if ((i | 0) == (K | 0)) { + r = K + 20 | 0; + d = c[r >> 2] | 0; + if ((d | 0) == 0) { + j = K + 16 | 0; + B = c[j >> 2] | 0; + if ((B | 0) == 0) { + L = 0; + break; + } else { + M = B; + N = j; + } + } else { + M = d; + N = r; + } + while (1) { + r = M + 20 | 0; + d = c[r >> 2] | 0; + if ((d | 0) != 0) { + M = d; + N = r; + continue; + } + r = M + 16 | 0; + d = c[r >> 2] | 0; + if ((d | 0) == 0) { + break; + } else { + M = d; + N = r; + } + } + if (N >>> 0 < m >>> 0) { + av(); + return 0; + } else { + c[N >> 2] = 0; + L = M; + break; + } + } else { + r = c[K + 8 >> 2] | 0; + if (r >>> 0 < m >>> 0) { + av(); + return 0; + } + d = r + 12 | 0; + if ((c[d >> 2] | 0) != (K | 0)) { + av(); + return 0; + } + j = i + 8 | 0; + if ((c[j >> 2] | 0) == (K | 0)) { + c[d >> 2] = i; + c[j >> 2] = r; + L = i; + break; + } else { + av(); + return 0; + } + } + } while (0); + L307 : do { + if ((e | 0) != 0) { + i = K + 28 | 0; + m = 112456 + (c[i >> 2] << 2) | 0; + do { + if ((K | 0) == (c[m >> 2] | 0)) { + c[m >> 2] = L; + if ((L | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[i >> 2]); + break L307; + } else { + if (e >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + r = e + 16 | 0; + if ((c[r >> 2] | 0) == (K | 0)) { + c[r >> 2] = L; + } else { + c[e + 20 >> 2] = L; + } + if ((L | 0) == 0) { + break L307; + } + } + } while (0); + if (L >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + c[L + 24 >> 2] = e; + i = c[K + 16 >> 2] | 0; + do { + if ((i | 0) != 0) { + if (i >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[L + 16 >> 2] = i; + c[i + 24 >> 2] = L; + break; + } + } + } while (0); + i = c[K + 20 >> 2] | 0; + if ((i | 0) == 0) { + break; + } + if (i >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[L + 20 >> 2] = i; + c[i + 24 >> 2] = L; + break; + } + } + } while (0); + do { + if (J >>> 0 < 16) { + e = J + g | 0; + c[K + 4 >> 2] = e | 3; + i = q + (e + 4) | 0; + c[i >> 2] = c[i >> 2] | 1; + } else { + c[K + 4 >> 2] = g | 3; + c[q + (g | 4) >> 2] = J | 1; + c[q + (J + g) >> 2] = J; + i = J >>> 3; + if (J >>> 0 < 256) { + e = i << 1; + m = 112192 + (e << 2) | 0; + r = c[28038] | 0; + j = 1 << i; + do { + if ((r & j | 0) == 0) { + c[28038] = r | j; + O = m; + P = 112192 + (e + 2 << 2) | 0; + } else { + i = 112192 + (e + 2 << 2) | 0; + d = c[i >> 2] | 0; + if (d >>> 0 >= (c[28042] | 0) >>> 0) { + O = d; + P = i; + break; + } + av(); + return 0; + } + } while (0); + c[P >> 2] = k; + c[O + 12 >> 2] = k; + c[q + (g + 8) >> 2] = O; + c[q + (g + 12) >> 2] = m; + break; + } + e = p; + j = J >>> 8; + do { + if ((j | 0) == 0) { + Q = 0; + } else { + if (J >>> 0 > 16777215) { + Q = 31; + break; + } + r = (j + 1048320 | 0) >>> 16 & 8; + i = j << r; + d = (i + 520192 | 0) >>> 16 & 4; + B = i << d; + i = (B + 245760 | 0) >>> 16 & 2; + l = 14 - (d | r | i) + (B << i >>> 15) | 0; + Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; + } + } while (0); + j = 112456 + (Q << 2) | 0; + c[q + (g + 28) >> 2] = Q; + c[q + (g + 20) >> 2] = 0; + c[q + (g + 16) >> 2] = 0; + m = c[28039] | 0; + l = 1 << Q; + if ((m & l | 0) == 0) { + c[28039] = m | l; + c[j >> 2] = e; + c[q + (g + 24) >> 2] = j; + c[q + (g + 12) >> 2] = e; + c[q + (g + 8) >> 2] = e; + break; + } + if ((Q | 0) == 31) { + R = 0; + } else { + R = 25 - (Q >>> 1) | 0; + } + l = J << R; + m = c[j >> 2] | 0; + while (1) { + if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { + break; + } + S = m + 16 + (l >>> 31 << 2) | 0; + j = c[S >> 2] | 0; + if ((j | 0) == 0) { + T = 258; + break; + } else { + l = l << 1; + m = j; + } + } + if ((T | 0) == 258) { + if (S >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[S >> 2] = e; + c[q + (g + 24) >> 2] = m; + c[q + (g + 12) >> 2] = e; + c[q + (g + 8) >> 2] = e; + break; + } + } + l = m + 8 | 0; + j = c[l >> 2] | 0; + i = c[28042] | 0; + if (m >>> 0 < i >>> 0) { + av(); + return 0; + } + if (j >>> 0 < i >>> 0) { + av(); + return 0; + } else { + c[j + 12 >> 2] = e; + c[l >> 2] = e; + c[q + (g + 8) >> 2] = j; + c[q + (g + 12) >> 2] = m; + c[q + (g + 24) >> 2] = 0; + break; + } + } + } while (0); + q = K + 8 | 0; + if ((q | 0) == 0) { + o = g; + break; + } else { + n = q; + } + return n | 0; + } + } while (0); + K = c[28040] | 0; + if (o >>> 0 <= K >>> 0) { + S = K - o | 0; + J = c[28043] | 0; + if (S >>> 0 > 15) { + R = J; + c[28043] = R + o; + c[28040] = S; + c[R + (o + 4) >> 2] = S | 1; + c[R + K >> 2] = S; + c[J + 4 >> 2] = o | 3; + } else { + c[28040] = 0; + c[28043] = 0; + c[J + 4 >> 2] = K | 3; + S = J + (K + 4) | 0; + c[S >> 2] = c[S >> 2] | 1; + } + n = J + 8 | 0; + return n | 0; + } + J = c[28041] | 0; + if (o >>> 0 < J >>> 0) { + S = J - o | 0; + c[28041] = S; + J = c[28044] | 0; + K = J; + c[28044] = K + o; + c[K + (o + 4) >> 2] = S | 1; + c[J + 4 >> 2] = o | 3; + n = J + 8 | 0; + return n | 0; + } + do { + if ((c[28014] | 0) == 0) { + J = ar(8) | 0; + if ((J - 1 & J | 0) == 0) { + c[28016] = J; + c[28015] = J; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + return 0; + } + } + } while (0); + J = o + 48 | 0; + S = c[28016] | 0; + K = o + 47 | 0; + R = S + K | 0; + Q = -S | 0; + S = R & Q; + if (S >>> 0 <= o >>> 0) { + n = 0; + return n | 0; + } + O = c[28148] | 0; + do { + if ((O | 0) != 0) { + P = c[28146] | 0; + L = P + S | 0; + if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { + n = 0; + } else { + break; + } + return n | 0; + } + } while (0); + L399 : do { + if ((c[28149] & 4 | 0) == 0) { + O = c[28044] | 0; + L401 : do { + if ((O | 0) == 0) { + T = 288; + } else { + L = O; + P = 112600; + while (1) { + U = P | 0; + M = c[U >> 2] | 0; + if (M >>> 0 <= L >>> 0) { + V = P + 4 | 0; + if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { + break; + } + } + M = c[P + 8 >> 2] | 0; + if ((M | 0) == 0) { + T = 288; + break L401; + } else { + P = M; + } + } + if ((P | 0) == 0) { + T = 288; + break; + } + L = R - (c[28041] | 0) & Q; + if (L >>> 0 >= 2147483647) { + W = 0; + break; + } + m = aW(L | 0) | 0; + e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); + X = e ? m : -1; + Y = e ? L : 0; + Z = m; + _ = L; + T = 297; + } + } while (0); + do { + if ((T | 0) == 288) { + O = aW(0) | 0; + if ((O | 0) == -1) { + W = 0; + break; + } + g = O; + L = c[28015] | 0; + m = L - 1 | 0; + if ((m & g | 0) == 0) { + $ = S; + } else { + $ = S - g + (m + g & -L) | 0; + } + L = c[28146] | 0; + g = L + $ | 0; + if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { + W = 0; + break; + } + m = c[28148] | 0; + if ((m | 0) != 0) { + if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { + W = 0; + break; + } + } + m = aW($ | 0) | 0; + g = (m | 0) == (O | 0); + X = g ? O : -1; + Y = g ? $ : 0; + Z = m; + _ = $; + T = 297; + } + } while (0); + L421 : do { + if ((T | 0) == 297) { + m = -_ | 0; + if ((X | 0) != -1) { + aa = Y; + ab = X; + T = 308; + break L399; + } + do { + if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { + g = c[28016] | 0; + O = K - _ + g & -g; + if (O >>> 0 >= 2147483647) { + ac = _; + break; + } + if ((aW(O | 0) | 0) == -1) { + aW(m | 0) | 0; + W = Y; + break L421; + } else { + ac = O + _ | 0; + break; + } + } else { + ac = _; + } + } while (0); + if ((Z | 0) == -1) { + W = Y; + } else { + aa = ac; + ab = Z; + T = 308; + break L399; + } + } + } while (0); + c[28149] = c[28149] | 4; + ad = W; + T = 305; + } else { + ad = 0; + T = 305; + } + } while (0); + do { + if ((T | 0) == 305) { + if (S >>> 0 >= 2147483647) { + break; + } + W = aW(S | 0) | 0; + Z = aW(0) | 0; + if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { + break; + } + ac = Z - W | 0; + Z = ac >>> 0 > (o + 40 | 0) >>> 0; + Y = Z ? W : -1; + if ((Y | 0) != -1) { + aa = Z ? ac : ad; + ab = Y; + T = 308; + } + } + } while (0); + do { + if ((T | 0) == 308) { + ad = (c[28146] | 0) + aa | 0; + c[28146] = ad; + if (ad >>> 0 > (c[28147] | 0) >>> 0) { + c[28147] = ad; + } + ad = c[28044] | 0; + L441 : do { + if ((ad | 0) == 0) { + S = c[28042] | 0; + if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { + c[28042] = ab; + } + c[28150] = ab; + c[28151] = aa; + c[28153] = 0; + c[28047] = c[28014]; + c[28046] = -1; + S = 0; + do { + Y = S << 1; + ac = 112192 + (Y << 2) | 0; + c[112192 + (Y + 3 << 2) >> 2] = ac; + c[112192 + (Y + 2 << 2) >> 2] = ac; + S = S + 1 | 0; + } while (S >>> 0 < 32); + S = ab + 8 | 0; + if ((S & 7 | 0) == 0) { + ae = 0; + } else { + ae = -S & 7; + } + S = aa - 40 - ae | 0; + c[28044] = ab + ae; + c[28041] = S; + c[ab + (ae + 4) >> 2] = S | 1; + c[ab + (aa - 36) >> 2] = 40; + c[28045] = c[28018]; + } else { + S = 112600; + while (1) { + af = c[S >> 2] | 0; + ag = S + 4 | 0; + ah = c[ag >> 2] | 0; + if ((ab | 0) == (af + ah | 0)) { + T = 320; + break; + } + ac = c[S + 8 >> 2] | 0; + if ((ac | 0) == 0) { + break; + } else { + S = ac; + } + } + do { + if ((T | 0) == 320) { + if ((c[S + 12 >> 2] & 8 | 0) != 0) { + break; + } + ac = ad; + if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { + break; + } + c[ag >> 2] = ah + aa; + ac = c[28044] | 0; + Y = (c[28041] | 0) + aa | 0; + Z = ac; + W = ac + 8 | 0; + if ((W & 7 | 0) == 0) { + ai = 0; + } else { + ai = -W & 7; + } + W = Y - ai | 0; + c[28044] = Z + ai; + c[28041] = W; + c[Z + (ai + 4) >> 2] = W | 1; + c[Z + (Y + 4) >> 2] = 40; + c[28045] = c[28018]; + break L441; + } + } while (0); + if (ab >>> 0 < (c[28042] | 0) >>> 0) { + c[28042] = ab; + } + S = ab + aa | 0; + Y = 112600; + while (1) { + aj = Y | 0; + if ((c[aj >> 2] | 0) == (S | 0)) { + T = 330; + break; + } + Z = c[Y + 8 >> 2] | 0; + if ((Z | 0) == 0) { + break; + } else { + Y = Z; + } + } + do { + if ((T | 0) == 330) { + if ((c[Y + 12 >> 2] & 8 | 0) != 0) { + break; + } + c[aj >> 2] = ab; + S = Y + 4 | 0; + c[S >> 2] = (c[S >> 2] | 0) + aa; + S = ab + 8 | 0; + if ((S & 7 | 0) == 0) { + ak = 0; + } else { + ak = -S & 7; + } + S = ab + (aa + 8) | 0; + if ((S & 7 | 0) == 0) { + al = 0; + } else { + al = -S & 7; + } + S = ab + (al + aa) | 0; + Z = S; + W = ak + o | 0; + ac = ab + W | 0; + _ = ac; + K = S - (ab + ak) - o | 0; + c[ab + (ak + 4) >> 2] = o | 3; + do { + if ((Z | 0) == (c[28044] | 0)) { + J = (c[28041] | 0) + K | 0; + c[28041] = J; + c[28044] = _; + c[ab + (W + 4) >> 2] = J | 1; + } else { + if ((Z | 0) == (c[28043] | 0)) { + J = (c[28040] | 0) + K | 0; + c[28040] = J; + c[28043] = _; + c[ab + (W + 4) >> 2] = J | 1; + c[ab + (J + W) >> 2] = J; + break; + } + J = aa + 4 | 0; + X = c[ab + (J + al) >> 2] | 0; + if ((X & 3 | 0) == 1) { + $ = X & -8; + V = X >>> 3; + L486 : do { + if (X >>> 0 < 256) { + U = c[ab + ((al | 8) + aa) >> 2] | 0; + Q = c[ab + (aa + 12 + al) >> 2] | 0; + R = 112192 + (V << 1 << 2) | 0; + do { + if ((U | 0) != (R | 0)) { + if (U >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + if ((c[U + 12 >> 2] | 0) == (Z | 0)) { + break; + } + av(); + return 0; + } + } while (0); + if ((Q | 0) == (U | 0)) { + c[28038] = c[28038] & ~(1 << V); + break; + } + do { + if ((Q | 0) == (R | 0)) { + am = Q + 8 | 0; + } else { + if (Q >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + m = Q + 8 | 0; + if ((c[m >> 2] | 0) == (Z | 0)) { + am = m; + break; + } + av(); + return 0; + } + } while (0); + c[U + 12 >> 2] = Q; + c[am >> 2] = U; + } else { + R = S; + m = c[ab + ((al | 24) + aa) >> 2] | 0; + P = c[ab + (aa + 12 + al) >> 2] | 0; + do { + if ((P | 0) == (R | 0)) { + O = al | 16; + g = ab + (J + O) | 0; + L = c[g >> 2] | 0; + if ((L | 0) == 0) { + e = ab + (O + aa) | 0; + O = c[e >> 2] | 0; + if ((O | 0) == 0) { + an = 0; + break; + } else { + ao = O; + ap = e; + } + } else { + ao = L; + ap = g; + } + while (1) { + g = ao + 20 | 0; + L = c[g >> 2] | 0; + if ((L | 0) != 0) { + ao = L; + ap = g; + continue; + } + g = ao + 16 | 0; + L = c[g >> 2] | 0; + if ((L | 0) == 0) { + break; + } else { + ao = L; + ap = g; + } + } + if (ap >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[ap >> 2] = 0; + an = ao; + break; + } + } else { + g = c[ab + ((al | 8) + aa) >> 2] | 0; + if (g >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + L = g + 12 | 0; + if ((c[L >> 2] | 0) != (R | 0)) { + av(); + return 0; + } + e = P + 8 | 0; + if ((c[e >> 2] | 0) == (R | 0)) { + c[L >> 2] = P; + c[e >> 2] = g; + an = P; + break; + } else { + av(); + return 0; + } + } + } while (0); + if ((m | 0) == 0) { + break; + } + P = ab + (aa + 28 + al) | 0; + U = 112456 + (c[P >> 2] << 2) | 0; + do { + if ((R | 0) == (c[U >> 2] | 0)) { + c[U >> 2] = an; + if ((an | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[P >> 2]); + break L486; + } else { + if (m >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + Q = m + 16 | 0; + if ((c[Q >> 2] | 0) == (R | 0)) { + c[Q >> 2] = an; + } else { + c[m + 20 >> 2] = an; + } + if ((an | 0) == 0) { + break L486; + } + } + } while (0); + if (an >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + c[an + 24 >> 2] = m; + R = al | 16; + P = c[ab + (R + aa) >> 2] | 0; + do { + if ((P | 0) != 0) { + if (P >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[an + 16 >> 2] = P; + c[P + 24 >> 2] = an; + break; + } + } + } while (0); + P = c[ab + (J + R) >> 2] | 0; + if ((P | 0) == 0) { + break; + } + if (P >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[an + 20 >> 2] = P; + c[P + 24 >> 2] = an; + break; + } + } + } while (0); + aq = ab + (($ | al) + aa) | 0; + as = $ + K | 0; + } else { + aq = Z; + as = K; + } + J = aq + 4 | 0; + c[J >> 2] = c[J >> 2] & -2; + c[ab + (W + 4) >> 2] = as | 1; + c[ab + (as + W) >> 2] = as; + J = as >>> 3; + if (as >>> 0 < 256) { + V = J << 1; + X = 112192 + (V << 2) | 0; + P = c[28038] | 0; + m = 1 << J; + do { + if ((P & m | 0) == 0) { + c[28038] = P | m; + at = X; + au = 112192 + (V + 2 << 2) | 0; + } else { + J = 112192 + (V + 2 << 2) | 0; + U = c[J >> 2] | 0; + if (U >>> 0 >= (c[28042] | 0) >>> 0) { + at = U; + au = J; + break; + } + av(); + return 0; + } + } while (0); + c[au >> 2] = _; + c[at + 12 >> 2] = _; + c[ab + (W + 8) >> 2] = at; + c[ab + (W + 12) >> 2] = X; + break; + } + V = ac; + m = as >>> 8; + do { + if ((m | 0) == 0) { + aw = 0; + } else { + if (as >>> 0 > 16777215) { + aw = 31; + break; + } + P = (m + 1048320 | 0) >>> 16 & 8; + $ = m << P; + J = ($ + 520192 | 0) >>> 16 & 4; + U = $ << J; + $ = (U + 245760 | 0) >>> 16 & 2; + Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; + aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; + } + } while (0); + m = 112456 + (aw << 2) | 0; + c[ab + (W + 28) >> 2] = aw; + c[ab + (W + 20) >> 2] = 0; + c[ab + (W + 16) >> 2] = 0; + X = c[28039] | 0; + Q = 1 << aw; + if ((X & Q | 0) == 0) { + c[28039] = X | Q; + c[m >> 2] = V; + c[ab + (W + 24) >> 2] = m; + c[ab + (W + 12) >> 2] = V; + c[ab + (W + 8) >> 2] = V; + break; + } + if ((aw | 0) == 31) { + ax = 0; + } else { + ax = 25 - (aw >>> 1) | 0; + } + Q = as << ax; + X = c[m >> 2] | 0; + while (1) { + if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { + break; + } + ay = X + 16 + (Q >>> 31 << 2) | 0; + m = c[ay >> 2] | 0; + if ((m | 0) == 0) { + T = 403; + break; + } else { + Q = Q << 1; + X = m; + } + } + if ((T | 0) == 403) { + if (ay >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[ay >> 2] = V; + c[ab + (W + 24) >> 2] = X; + c[ab + (W + 12) >> 2] = V; + c[ab + (W + 8) >> 2] = V; + break; + } + } + Q = X + 8 | 0; + m = c[Q >> 2] | 0; + $ = c[28042] | 0; + if (X >>> 0 < $ >>> 0) { + av(); + return 0; + } + if (m >>> 0 < $ >>> 0) { + av(); + return 0; + } else { + c[m + 12 >> 2] = V; + c[Q >> 2] = V; + c[ab + (W + 8) >> 2] = m; + c[ab + (W + 12) >> 2] = X; + c[ab + (W + 24) >> 2] = 0; + break; + } + } + } while (0); + n = ab + (ak | 8) | 0; + return n | 0; + } + } while (0); + Y = ad; + W = 112600; + while (1) { + az = c[W >> 2] | 0; + if (az >>> 0 <= Y >>> 0) { + aA = c[W + 4 >> 2] | 0; + aB = az + aA | 0; + if (aB >>> 0 > Y >>> 0) { + break; + } + } + W = c[W + 8 >> 2] | 0; + } + W = az + (aA - 39) | 0; + if ((W & 7 | 0) == 0) { + aC = 0; + } else { + aC = -W & 7; + } + W = az + (aA - 47 + aC) | 0; + ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; + W = ac + 8 | 0; + _ = ab + 8 | 0; + if ((_ & 7 | 0) == 0) { + aD = 0; + } else { + aD = -_ & 7; + } + _ = aa - 40 - aD | 0; + c[28044] = ab + aD; + c[28041] = _; + c[ab + (aD + 4) >> 2] = _ | 1; + c[ab + (aa - 36) >> 2] = 40; + c[28045] = c[28018]; + c[ac + 4 >> 2] = 27; + c[W >> 2] = c[28150]; + c[W + 4 >> 2] = c[112604 >> 2]; + c[W + 8 >> 2] = c[112608 >> 2]; + c[W + 12 >> 2] = c[112612 >> 2]; + c[28150] = ab; + c[28151] = aa; + c[28153] = 0; + c[28152] = W; + W = ac + 28 | 0; + c[W >> 2] = 7; + if ((ac + 32 | 0) >>> 0 < aB >>> 0) { + _ = W; + while (1) { + W = _ + 4 | 0; + c[W >> 2] = 7; + if ((_ + 8 | 0) >>> 0 < aB >>> 0) { + _ = W; + } else { + break; + } + } + } + if ((ac | 0) == (Y | 0)) { + break; + } + _ = ac - ad | 0; + W = Y + (_ + 4) | 0; + c[W >> 2] = c[W >> 2] & -2; + c[ad + 4 >> 2] = _ | 1; + c[Y + _ >> 2] = _; + W = _ >>> 3; + if (_ >>> 0 < 256) { + K = W << 1; + Z = 112192 + (K << 2) | 0; + S = c[28038] | 0; + m = 1 << W; + do { + if ((S & m | 0) == 0) { + c[28038] = S | m; + aE = Z; + aF = 112192 + (K + 2 << 2) | 0; + } else { + W = 112192 + (K + 2 << 2) | 0; + Q = c[W >> 2] | 0; + if (Q >>> 0 >= (c[28042] | 0) >>> 0) { + aE = Q; + aF = W; + break; + } + av(); + return 0; + } + } while (0); + c[aF >> 2] = ad; + c[aE + 12 >> 2] = ad; + c[ad + 8 >> 2] = aE; + c[ad + 12 >> 2] = Z; + break; + } + K = ad; + m = _ >>> 8; + do { + if ((m | 0) == 0) { + aG = 0; + } else { + if (_ >>> 0 > 16777215) { + aG = 31; + break; + } + S = (m + 1048320 | 0) >>> 16 & 8; + Y = m << S; + ac = (Y + 520192 | 0) >>> 16 & 4; + W = Y << ac; + Y = (W + 245760 | 0) >>> 16 & 2; + Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; + aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; + } + } while (0); + m = 112456 + (aG << 2) | 0; + c[ad + 28 >> 2] = aG; + c[ad + 20 >> 2] = 0; + c[ad + 16 >> 2] = 0; + Z = c[28039] | 0; + Q = 1 << aG; + if ((Z & Q | 0) == 0) { + c[28039] = Z | Q; + c[m >> 2] = K; + c[ad + 24 >> 2] = m; + c[ad + 12 >> 2] = ad; + c[ad + 8 >> 2] = ad; + break; + } + if ((aG | 0) == 31) { + aH = 0; + } else { + aH = 25 - (aG >>> 1) | 0; + } + Q = _ << aH; + Z = c[m >> 2] | 0; + while (1) { + if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { + break; + } + aI = Z + 16 + (Q >>> 31 << 2) | 0; + m = c[aI >> 2] | 0; + if ((m | 0) == 0) { + T = 438; + break; + } else { + Q = Q << 1; + Z = m; + } + } + if ((T | 0) == 438) { + if (aI >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[aI >> 2] = K; + c[ad + 24 >> 2] = Z; + c[ad + 12 >> 2] = ad; + c[ad + 8 >> 2] = ad; + break; + } + } + Q = Z + 8 | 0; + _ = c[Q >> 2] | 0; + m = c[28042] | 0; + if (Z >>> 0 < m >>> 0) { + av(); + return 0; + } + if (_ >>> 0 < m >>> 0) { + av(); + return 0; + } else { + c[_ + 12 >> 2] = K; + c[Q >> 2] = K; + c[ad + 8 >> 2] = _; + c[ad + 12 >> 2] = Z; + c[ad + 24 >> 2] = 0; + break; + } + } + } while (0); + ad = c[28041] | 0; + if (ad >>> 0 <= o >>> 0) { + break; + } + _ = ad - o | 0; + c[28041] = _; + ad = c[28044] | 0; + Q = ad; + c[28044] = Q + o; + c[Q + (o + 4) >> 2] = _ | 1; + c[ad + 4 >> 2] = o | 3; + n = ad + 8 | 0; + return n | 0; + } + } while (0); + c[(aY() | 0) >> 2] = 12; + n = 0; + return n | 0; +} +function eo(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; + if ((a | 0) == 0) { + return; + } + b = a - 8 | 0; + d = b; + e = c[28042] | 0; + if (b >>> 0 < e >>> 0) { + av(); + } + f = c[a - 4 >> 2] | 0; + g = f & 3; + if ((g | 0) == 1) { + av(); + } + h = f & -8; + i = a + (h - 8) | 0; + j = i; + L658 : do { + if ((f & 1 | 0) == 0) { + k = c[b >> 2] | 0; + if ((g | 0) == 0) { + return; + } + l = -8 - k | 0; + m = a + l | 0; + n = m; + o = k + h | 0; + if (m >>> 0 < e >>> 0) { + av(); + } + if ((n | 0) == (c[28043] | 0)) { + p = a + (h - 4) | 0; + if ((c[p >> 2] & 3 | 0) != 3) { + q = n; + r = o; + break; + } + c[28040] = o; + c[p >> 2] = c[p >> 2] & -2; + c[a + (l + 4) >> 2] = o | 1; + c[i >> 2] = o; + return; + } + p = k >>> 3; + if (k >>> 0 < 256) { + k = c[a + (l + 8) >> 2] | 0; + s = c[a + (l + 12) >> 2] | 0; + t = 112192 + (p << 1 << 2) | 0; + do { + if ((k | 0) != (t | 0)) { + if (k >>> 0 < e >>> 0) { + av(); + } + if ((c[k + 12 >> 2] | 0) == (n | 0)) { + break; + } + av(); + } + } while (0); + if ((s | 0) == (k | 0)) { + c[28038] = c[28038] & ~(1 << p); + q = n; + r = o; + break; + } + do { + if ((s | 0) == (t | 0)) { + u = s + 8 | 0; + } else { + if (s >>> 0 < e >>> 0) { + av(); + } + v = s + 8 | 0; + if ((c[v >> 2] | 0) == (n | 0)) { + u = v; + break; + } + av(); + } + } while (0); + c[k + 12 >> 2] = s; + c[u >> 2] = k; + q = n; + r = o; + break; + } + t = m; + p = c[a + (l + 24) >> 2] | 0; + v = c[a + (l + 12) >> 2] | 0; + do { + if ((v | 0) == (t | 0)) { + w = a + (l + 20) | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + y = a + (l + 16) | 0; + z = c[y >> 2] | 0; + if ((z | 0) == 0) { + A = 0; + break; + } else { + B = z; + C = y; + } + } else { + B = x; + C = w; + } + while (1) { + w = B + 20 | 0; + x = c[w >> 2] | 0; + if ((x | 0) != 0) { + B = x; + C = w; + continue; + } + w = B + 16 | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + break; + } else { + B = x; + C = w; + } + } + if (C >>> 0 < e >>> 0) { + av(); + } else { + c[C >> 2] = 0; + A = B; + break; + } + } else { + w = c[a + (l + 8) >> 2] | 0; + if (w >>> 0 < e >>> 0) { + av(); + } + x = w + 12 | 0; + if ((c[x >> 2] | 0) != (t | 0)) { + av(); + } + y = v + 8 | 0; + if ((c[y >> 2] | 0) == (t | 0)) { + c[x >> 2] = v; + c[y >> 2] = w; + A = v; + break; + } else { + av(); + } + } + } while (0); + if ((p | 0) == 0) { + q = n; + r = o; + break; + } + v = a + (l + 28) | 0; + m = 112456 + (c[v >> 2] << 2) | 0; + do { + if ((t | 0) == (c[m >> 2] | 0)) { + c[m >> 2] = A; + if ((A | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[v >> 2]); + q = n; + r = o; + break L658; + } else { + if (p >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + k = p + 16 | 0; + if ((c[k >> 2] | 0) == (t | 0)) { + c[k >> 2] = A; + } else { + c[p + 20 >> 2] = A; + } + if ((A | 0) == 0) { + q = n; + r = o; + break L658; + } + } + } while (0); + if (A >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + c[A + 24 >> 2] = p; + t = c[a + (l + 16) >> 2] | 0; + do { + if ((t | 0) != 0) { + if (t >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[A + 16 >> 2] = t; + c[t + 24 >> 2] = A; + break; + } + } + } while (0); + t = c[a + (l + 20) >> 2] | 0; + if ((t | 0) == 0) { + q = n; + r = o; + break; + } + if (t >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[A + 20 >> 2] = t; + c[t + 24 >> 2] = A; + q = n; + r = o; + break; + } + } else { + q = d; + r = h; + } + } while (0); + d = q; + if (d >>> 0 >= i >>> 0) { + av(); + } + A = a + (h - 4) | 0; + e = c[A >> 2] | 0; + if ((e & 1 | 0) == 0) { + av(); + } + do { + if ((e & 2 | 0) == 0) { + if ((j | 0) == (c[28044] | 0)) { + B = (c[28041] | 0) + r | 0; + c[28041] = B; + c[28044] = q; + c[q + 4 >> 2] = B | 1; + if ((q | 0) == (c[28043] | 0)) { + c[28043] = 0; + c[28040] = 0; + } + if (B >>> 0 <= (c[28045] | 0) >>> 0) { + return; + } + eu(0) | 0; + return; + } + if ((j | 0) == (c[28043] | 0)) { + B = (c[28040] | 0) + r | 0; + c[28040] = B; + c[28043] = q; + c[q + 4 >> 2] = B | 1; + c[d + B >> 2] = B; + return; + } + B = (e & -8) + r | 0; + C = e >>> 3; + L764 : do { + if (e >>> 0 < 256) { + u = c[a + h >> 2] | 0; + g = c[a + (h | 4) >> 2] | 0; + b = 112192 + (C << 1 << 2) | 0; + do { + if ((u | 0) != (b | 0)) { + if (u >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + if ((c[u + 12 >> 2] | 0) == (j | 0)) { + break; + } + av(); + } + } while (0); + if ((g | 0) == (u | 0)) { + c[28038] = c[28038] & ~(1 << C); + break; + } + do { + if ((g | 0) == (b | 0)) { + D = g + 8 | 0; + } else { + if (g >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + f = g + 8 | 0; + if ((c[f >> 2] | 0) == (j | 0)) { + D = f; + break; + } + av(); + } + } while (0); + c[u + 12 >> 2] = g; + c[D >> 2] = u; + } else { + b = i; + f = c[a + (h + 16) >> 2] | 0; + t = c[a + (h | 4) >> 2] | 0; + do { + if ((t | 0) == (b | 0)) { + p = a + (h + 12) | 0; + v = c[p >> 2] | 0; + if ((v | 0) == 0) { + m = a + (h + 8) | 0; + k = c[m >> 2] | 0; + if ((k | 0) == 0) { + E = 0; + break; + } else { + F = k; + G = m; + } + } else { + F = v; + G = p; + } + while (1) { + p = F + 20 | 0; + v = c[p >> 2] | 0; + if ((v | 0) != 0) { + F = v; + G = p; + continue; + } + p = F + 16 | 0; + v = c[p >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + F = v; + G = p; + } + } + if (G >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[G >> 2] = 0; + E = F; + break; + } + } else { + p = c[a + h >> 2] | 0; + if (p >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + v = p + 12 | 0; + if ((c[v >> 2] | 0) != (b | 0)) { + av(); + } + m = t + 8 | 0; + if ((c[m >> 2] | 0) == (b | 0)) { + c[v >> 2] = t; + c[m >> 2] = p; + E = t; + break; + } else { + av(); + } + } + } while (0); + if ((f | 0) == 0) { + break; + } + t = a + (h + 20) | 0; + u = 112456 + (c[t >> 2] << 2) | 0; + do { + if ((b | 0) == (c[u >> 2] | 0)) { + c[u >> 2] = E; + if ((E | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[t >> 2]); + break L764; + } else { + if (f >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + g = f + 16 | 0; + if ((c[g >> 2] | 0) == (b | 0)) { + c[g >> 2] = E; + } else { + c[f + 20 >> 2] = E; + } + if ((E | 0) == 0) { + break L764; + } + } + } while (0); + if (E >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + c[E + 24 >> 2] = f; + b = c[a + (h + 8) >> 2] | 0; + do { + if ((b | 0) != 0) { + if (b >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[E + 16 >> 2] = b; + c[b + 24 >> 2] = E; + break; + } + } + } while (0); + b = c[a + (h + 12) >> 2] | 0; + if ((b | 0) == 0) { + break; + } + if (b >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[E + 20 >> 2] = b; + c[b + 24 >> 2] = E; + break; + } + } + } while (0); + c[q + 4 >> 2] = B | 1; + c[d + B >> 2] = B; + if ((q | 0) != (c[28043] | 0)) { + H = B; + break; + } + c[28040] = B; + return; + } else { + c[A >> 2] = e & -2; + c[q + 4 >> 2] = r | 1; + c[d + r >> 2] = r; + H = r; + } + } while (0); + r = H >>> 3; + if (H >>> 0 < 256) { + d = r << 1; + e = 112192 + (d << 2) | 0; + A = c[28038] | 0; + E = 1 << r; + do { + if ((A & E | 0) == 0) { + c[28038] = A | E; + I = e; + J = 112192 + (d + 2 << 2) | 0; + } else { + r = 112192 + (d + 2 << 2) | 0; + h = c[r >> 2] | 0; + if (h >>> 0 >= (c[28042] | 0) >>> 0) { + I = h; + J = r; + break; + } + av(); + } + } while (0); + c[J >> 2] = q; + c[I + 12 >> 2] = q; + c[q + 8 >> 2] = I; + c[q + 12 >> 2] = e; + return; + } + e = q; + I = H >>> 8; + do { + if ((I | 0) == 0) { + K = 0; + } else { + if (H >>> 0 > 16777215) { + K = 31; + break; + } + J = (I + 1048320 | 0) >>> 16 & 8; + d = I << J; + E = (d + 520192 | 0) >>> 16 & 4; + A = d << E; + d = (A + 245760 | 0) >>> 16 & 2; + r = 14 - (E | J | d) + (A << d >>> 15) | 0; + K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; + } + } while (0); + I = 112456 + (K << 2) | 0; + c[q + 28 >> 2] = K; + c[q + 20 >> 2] = 0; + c[q + 16 >> 2] = 0; + r = c[28039] | 0; + d = 1 << K; + do { + if ((r & d | 0) == 0) { + c[28039] = r | d; + c[I >> 2] = e; + c[q + 24 >> 2] = I; + c[q + 12 >> 2] = q; + c[q + 8 >> 2] = q; + } else { + if ((K | 0) == 31) { + L = 0; + } else { + L = 25 - (K >>> 1) | 0; + } + A = H << L; + J = c[I >> 2] | 0; + while (1) { + if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { + break; + } + M = J + 16 + (A >>> 31 << 2) | 0; + E = c[M >> 2] | 0; + if ((E | 0) == 0) { + N = 617; + break; + } else { + A = A << 1; + J = E; + } + } + if ((N | 0) == 617) { + if (M >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[M >> 2] = e; + c[q + 24 >> 2] = J; + c[q + 12 >> 2] = q; + c[q + 8 >> 2] = q; + break; + } + } + A = J + 8 | 0; + B = c[A >> 2] | 0; + E = c[28042] | 0; + if (J >>> 0 < E >>> 0) { + av(); + } + if (B >>> 0 < E >>> 0) { + av(); + } else { + c[B + 12 >> 2] = e; + c[A >> 2] = e; + c[q + 8 >> 2] = B; + c[q + 12 >> 2] = J; + c[q + 24 >> 2] = 0; + break; + } + } + } while (0); + q = (c[28046] | 0) - 1 | 0; + c[28046] = q; + if ((q | 0) == 0) { + O = 112608; + } else { + return; + } + while (1) { + q = c[O >> 2] | 0; + if ((q | 0) == 0) { + break; + } else { + O = q + 8 | 0; + } + } + c[28046] = -1; + return; +} +function ep(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + do { + if ((a | 0) == 0) { + d = 0; + } else { + e = ad(b, a) | 0; + if ((b | a) >>> 0 <= 65535) { + d = e; + break; + } + d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; + } + } while (0); + b = en(d) | 0; + if ((b | 0) == 0) { + return b | 0; + } + if ((c[b - 4 >> 2] & 3 | 0) == 0) { + return b | 0; + } + fm(b | 0, 0, d | 0); + return b | 0; +} +function eq(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if ((a | 0) == 0) { + d = en(b) | 0; + return d | 0; + } + if (b >>> 0 > 4294967231) { + c[(aY() | 0) >> 2] = 12; + d = 0; + return d | 0; + } + if (b >>> 0 < 11) { + e = 16; + } else { + e = b + 11 & -8; + } + f = ev(a - 8 | 0, e) | 0; + if ((f | 0) != 0) { + d = f + 8 | 0; + return d | 0; + } + f = en(b) | 0; + if ((f | 0) == 0) { + d = 0; + return d | 0; + } + e = c[a - 4 >> 2] | 0; + g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; + e = g >>> 0 < b >>> 0 ? g : b; + fn(f | 0, a | 0, e) | 0; + eo(a); + d = f; + return d | 0; +} +function er(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + if ((a | 0) == 0) { + return 0; + } + if (b >>> 0 > 4294967231) { + c[(aY() | 0) >> 2] = 12; + return 0; + } + if (b >>> 0 < 11) { + d = 16; + } else { + d = b + 11 & -8; + } + b = a - 8 | 0; + return ((ev(b, d) | 0) == (b | 0) ? a : 0) | 0; +} +function es(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + if (a >>> 0 < 9) { + c = en(b) | 0; + return c | 0; + } else { + c = et(a, b) | 0; + return c | 0; + } + return 0; +} +function et(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + d = a >>> 0 < 16 ? 16 : a; + if ((d - 1 & d | 0) == 0) { + e = d; + } else { + a = 16; + while (1) { + if (a >>> 0 < d >>> 0) { + a = a << 1; + } else { + e = a; + break; + } + } + } + if ((-64 - e | 0) >>> 0 <= b >>> 0) { + c[(aY() | 0) >> 2] = 12; + f = 0; + return f | 0; + } + if (b >>> 0 < 11) { + g = 16; + } else { + g = b + 11 & -8; + } + b = en(e + 12 + g | 0) | 0; + if ((b | 0) == 0) { + f = 0; + return f | 0; + } + a = b - 8 | 0; + d = a; + h = e - 1 | 0; + do { + if ((b & h | 0) == 0) { + i = d; + } else { + j = b + h & -e; + k = j - 8 | 0; + l = a; + if ((k - l | 0) >>> 0 > 15) { + m = k; + } else { + m = j + (e - 8) | 0; + } + j = m; + k = m - l | 0; + l = b - 4 | 0; + n = c[l >> 2] | 0; + o = (n & -8) - k | 0; + if ((n & 3 | 0) == 0) { + c[m >> 2] = (c[a >> 2] | 0) + k; + c[m + 4 >> 2] = o; + i = j; + break; + } else { + n = m + 4 | 0; + c[n >> 2] = o | c[n >> 2] & 1 | 2; + n = m + (o + 4) | 0; + c[n >> 2] = c[n >> 2] | 1; + c[l >> 2] = k | c[l >> 2] & 1 | 2; + l = b + (k - 4) | 0; + c[l >> 2] = c[l >> 2] | 1; + eN(d, k); + i = j; + break; + } + } + } while (0); + d = i + 4 | 0; + b = c[d >> 2] | 0; + do { + if ((b & 3 | 0) != 0) { + m = b & -8; + if (m >>> 0 <= (g + 16 | 0) >>> 0) { + break; + } + a = m - g | 0; + e = i; + c[d >> 2] = g | b & 1 | 2; + c[e + (g | 4) >> 2] = a | 3; + h = e + (m | 4) | 0; + c[h >> 2] = c[h >> 2] | 1; + eN(e + g | 0, a); + } + } while (0); + f = i + 8 | 0; + return f | 0; +} +function eu(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + do { + if ((c[28014] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[28016] = b; + c[28015] = b; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + return 0; + } + } + } while (0); + if (a >>> 0 >= 4294967232) { + d = 0; + return d | 0; + } + b = c[28044] | 0; + if ((b | 0) == 0) { + d = 0; + return d | 0; + } + e = c[28041] | 0; + do { + if (e >>> 0 > (a + 40 | 0) >>> 0) { + f = c[28016] | 0; + g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; + h = b; + i = 112600; + while (1) { + j = c[i >> 2] | 0; + if (j >>> 0 <= h >>> 0) { + if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { + k = i; + break; + } + } + j = c[i + 8 >> 2] | 0; + if ((j | 0) == 0) { + k = 0; + break; + } else { + i = j; + } + } + if ((c[k + 12 >> 2] & 8 | 0) != 0) { + break; + } + i = aW(0) | 0; + h = k + 4 | 0; + if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { + break; + } + j = aW(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; + l = aW(0) | 0; + if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { + break; + } + j = i - l | 0; + if ((i | 0) == (l | 0)) { + break; + } + c[h >> 2] = (c[h >> 2] | 0) - j; + c[28146] = (c[28146] | 0) - j; + h = c[28044] | 0; + m = (c[28041] | 0) - j | 0; + j = h; + n = h + 8 | 0; + if ((n & 7 | 0) == 0) { + o = 0; + } else { + o = -n & 7; + } + n = m - o | 0; + c[28044] = j + o; + c[28041] = n; + c[j + (o + 4) >> 2] = n | 1; + c[j + (m + 4) >> 2] = 40; + c[28045] = c[28018]; + d = (i | 0) != (l | 0) | 0; + return d | 0; + } + } while (0); + if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { + d = 0; + return d | 0; + } + c[28045] = -1; + d = 0; + return d | 0; +} +function ev(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + f = e & -8; + g = a; + h = g + f | 0; + i = h; + j = c[28042] | 0; + if (g >>> 0 < j >>> 0) { + av(); + return 0; + } + k = e & 3; + if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { + av(); + return 0; + } + l = g + (f | 4) | 0; + m = c[l >> 2] | 0; + if ((m & 1 | 0) == 0) { + av(); + return 0; + } + if ((k | 0) == 0) { + if (b >>> 0 < 256) { + n = 0; + return n | 0; + } + do { + if (f >>> 0 >= (b + 4 | 0) >>> 0) { + if ((f - b | 0) >>> 0 > c[28016] << 1 >>> 0) { + break; + } else { + n = a; + } + return n | 0; + } + } while (0); + n = 0; + return n | 0; + } + if (f >>> 0 >= b >>> 0) { + k = f - b | 0; + if (k >>> 0 <= 15) { + n = a; + return n | 0; + } + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = k | 3; + c[l >> 2] = c[l >> 2] | 1; + eN(g + b | 0, k); + n = a; + return n | 0; + } + if ((i | 0) == (c[28044] | 0)) { + k = (c[28041] | 0) + f | 0; + if (k >>> 0 <= b >>> 0) { + n = 0; + return n | 0; + } + l = k - b | 0; + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = l | 1; + c[28044] = g + b; + c[28041] = l; + n = a; + return n | 0; + } + if ((i | 0) == (c[28043] | 0)) { + l = (c[28040] | 0) + f | 0; + if (l >>> 0 < b >>> 0) { + n = 0; + return n | 0; + } + k = l - b | 0; + if (k >>> 0 > 15) { + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = k | 1; + c[g + l >> 2] = k; + o = g + (l + 4) | 0; + c[o >> 2] = c[o >> 2] & -2; + p = g + b | 0; + q = k; + } else { + c[d >> 2] = e & 1 | l | 2; + e = g + (l + 4) | 0; + c[e >> 2] = c[e >> 2] | 1; + p = 0; + q = 0; + } + c[28040] = q; + c[28043] = p; + n = a; + return n | 0; + } + if ((m & 2 | 0) != 0) { + n = 0; + return n | 0; + } + p = (m & -8) + f | 0; + if (p >>> 0 < b >>> 0) { + n = 0; + return n | 0; + } + q = p - b | 0; + e = m >>> 3; + L1042 : do { + if (m >>> 0 < 256) { + l = c[g + (f + 8) >> 2] | 0; + k = c[g + (f + 12) >> 2] | 0; + o = 112192 + (e << 1 << 2) | 0; + do { + if ((l | 0) != (o | 0)) { + if (l >>> 0 < j >>> 0) { + av(); + return 0; + } + if ((c[l + 12 >> 2] | 0) == (i | 0)) { + break; + } + av(); + return 0; + } + } while (0); + if ((k | 0) == (l | 0)) { + c[28038] = c[28038] & ~(1 << e); + break; + } + do { + if ((k | 0) == (o | 0)) { + r = k + 8 | 0; + } else { + if (k >>> 0 < j >>> 0) { + av(); + return 0; + } + s = k + 8 | 0; + if ((c[s >> 2] | 0) == (i | 0)) { + r = s; + break; + } + av(); + return 0; + } + } while (0); + c[l + 12 >> 2] = k; + c[r >> 2] = l; + } else { + o = h; + s = c[g + (f + 24) >> 2] | 0; + t = c[g + (f + 12) >> 2] | 0; + do { + if ((t | 0) == (o | 0)) { + u = g + (f + 20) | 0; + v = c[u >> 2] | 0; + if ((v | 0) == 0) { + w = g + (f + 16) | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + y = 0; + break; + } else { + z = x; + A = w; + } + } else { + z = v; + A = u; + } + while (1) { + u = z + 20 | 0; + v = c[u >> 2] | 0; + if ((v | 0) != 0) { + z = v; + A = u; + continue; + } + u = z + 16 | 0; + v = c[u >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + z = v; + A = u; + } + } + if (A >>> 0 < j >>> 0) { + av(); + return 0; + } else { + c[A >> 2] = 0; + y = z; + break; + } + } else { + u = c[g + (f + 8) >> 2] | 0; + if (u >>> 0 < j >>> 0) { + av(); + return 0; + } + v = u + 12 | 0; + if ((c[v >> 2] | 0) != (o | 0)) { + av(); + return 0; + } + w = t + 8 | 0; + if ((c[w >> 2] | 0) == (o | 0)) { + c[v >> 2] = t; + c[w >> 2] = u; + y = t; + break; + } else { + av(); + return 0; + } + } + } while (0); + if ((s | 0) == 0) { + break; + } + t = g + (f + 28) | 0; + l = 112456 + (c[t >> 2] << 2) | 0; + do { + if ((o | 0) == (c[l >> 2] | 0)) { + c[l >> 2] = y; + if ((y | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[t >> 2]); + break L1042; + } else { + if (s >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + k = s + 16 | 0; + if ((c[k >> 2] | 0) == (o | 0)) { + c[k >> 2] = y; + } else { + c[s + 20 >> 2] = y; + } + if ((y | 0) == 0) { + break L1042; + } + } + } while (0); + if (y >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } + c[y + 24 >> 2] = s; + o = c[g + (f + 16) >> 2] | 0; + do { + if ((o | 0) != 0) { + if (o >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[y + 16 >> 2] = o; + c[o + 24 >> 2] = y; + break; + } + } + } while (0); + o = c[g + (f + 20) >> 2] | 0; + if ((o | 0) == 0) { + break; + } + if (o >>> 0 < (c[28042] | 0) >>> 0) { + av(); + return 0; + } else { + c[y + 20 >> 2] = o; + c[o + 24 >> 2] = y; + break; + } + } + } while (0); + if (q >>> 0 < 16) { + c[d >> 2] = p | c[d >> 2] & 1 | 2; + y = g + (p | 4) | 0; + c[y >> 2] = c[y >> 2] | 1; + n = a; + return n | 0; + } else { + c[d >> 2] = c[d >> 2] & 1 | b | 2; + c[g + (b + 4) >> 2] = q | 3; + d = g + (p | 4) | 0; + c[d >> 2] = c[d >> 2] | 1; + eN(g + b | 0, q); + n = a; + return n | 0; + } + return 0; +} +function ew() { + return c[28146] | 0; +} +function ex() { + return c[28147] | 0; +} +function ey() { + var a = 0; + a = c[28148] | 0; + return ((a | 0) == 0 ? -1 : a) | 0; +} +function ez(a) { + a = a | 0; + var b = 0, d = 0; + if ((a | 0) == -1) { + b = 0; + } else { + d = c[28016] | 0; + b = a - 1 + d & -d; + } + c[28148] = b; + return b | 0; +} +function eA(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + do { + if ((a | 0) == 0) { + b = 0; + } else { + d = c[a - 4 >> 2] | 0; + e = d & 3; + if ((e | 0) == 1) { + b = 0; + break; + } + b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; + } + } while (0); + return b | 0; +} +function eB(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + do { + if ((b | 0) == 8) { + e = en(d) | 0; + } else { + f = b >>> 2; + if ((b & 3 | 0) != 0 | (f | 0) == 0) { + g = 22; + return g | 0; + } + if ((f + 1073741823 & f | 0) != 0) { + g = 22; + return g | 0; + } + if ((-64 - b | 0) >>> 0 < d >>> 0) { + g = 12; + return g | 0; + } else { + e = et(b >>> 0 < 16 ? 16 : b, d) | 0; + break; + } + } + } while (0); + if ((e | 0) == 0) { + g = 12; + return g | 0; + } + c[a >> 2] = e; + g = 0; + return g | 0; +} +function eC(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 8 | 0; + f = e | 0; + c[f >> 2] = b; + b = eG(a, f, 3, d) | 0; + i = e; + return b | 0; +} +function eD(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return eG(a, b, 0, c) | 0; +} +function eE(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + if ((c[28014] | 0) != 0) { + b = c[28015] | 0; + d = es(b, a) | 0; + return d | 0; + } + e = ar(8) | 0; + if ((e - 1 & e | 0) != 0) { + av(); + return 0; + } + c[28016] = e; + c[28015] = e; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + b = c[28015] | 0; + d = es(b, a) | 0; + return d | 0; +} +function eF(a) { + a = a | 0; + var b = 0; + do { + if ((c[28014] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[28016] = b; + c[28015] = b; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + return 0; + } + } + } while (0); + b = c[28015] | 0; + return es(b, a - 1 + b & -b) | 0; +} +function eG(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + do { + if ((c[28014] | 0) == 0) { + f = ar(8) | 0; + if ((f - 1 & f | 0) == 0) { + c[28016] = f; + c[28015] = f; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + return 0; + } + } + } while (0); + f = (a | 0) == 0; + do { + if ((e | 0) == 0) { + if (f) { + g = en(0) | 0; + return g | 0; + } else { + h = a << 2; + if (h >>> 0 < 11) { + i = 0; + j = 16; + break; + } + i = 0; + j = h + 11 & -8; + break; + } + } else { + if (f) { + g = e; + } else { + i = e; + j = 0; + break; + } + return g | 0; + } + } while (0); + do { + if ((d & 1 | 0) == 0) { + if (f) { + k = 0; + l = 0; + break; + } else { + m = 0; + n = 0; + } + while (1) { + e = c[b + (n << 2) >> 2] | 0; + if (e >>> 0 < 11) { + o = 16; + } else { + o = e + 11 & -8; + } + e = o + m | 0; + h = n + 1 | 0; + if ((h | 0) == (a | 0)) { + k = 0; + l = e; + break; + } else { + m = e; + n = h; + } + } + } else { + h = c[b >> 2] | 0; + if (h >>> 0 < 11) { + p = 16; + } else { + p = h + 11 & -8; + } + k = p; + l = ad(p, a) | 0; + } + } while (0); + p = en(j - 4 + l | 0) | 0; + if ((p | 0) == 0) { + g = 0; + return g | 0; + } + n = p - 8 | 0; + m = c[p - 4 >> 2] & -8; + if ((d & 2 | 0) != 0) { + fm(p | 0, 0, -4 - j + m | 0); + } + if ((i | 0) == 0) { + c[p + (l - 4) >> 2] = m - l | 3; + q = p + l | 0; + r = l; + } else { + q = i; + r = m; + } + c[q >> 2] = p; + p = a - 1 | 0; + L1202 : do { + if ((p | 0) == 0) { + s = n; + t = r; + } else { + if ((k | 0) == 0) { + u = n; + v = r; + w = 0; + } else { + a = n; + m = r; + i = 0; + while (1) { + l = m - k | 0; + c[a + 4 >> 2] = k | 3; + j = a + k | 0; + d = i + 1 | 0; + c[q + (d << 2) >> 2] = a + (k + 8); + if ((d | 0) == (p | 0)) { + s = j; + t = l; + break L1202; + } else { + a = j; + m = l; + i = d; + } + } + } + while (1) { + i = c[b + (w << 2) >> 2] | 0; + if (i >>> 0 < 11) { + x = 16; + } else { + x = i + 11 & -8; + } + i = v - x | 0; + c[u + 4 >> 2] = x | 3; + m = u + x | 0; + a = w + 1 | 0; + c[q + (a << 2) >> 2] = u + (x + 8); + if ((a | 0) == (p | 0)) { + s = m; + t = i; + break; + } else { + u = m; + v = i; + w = a; + } + } + } + } while (0); + c[s + 4 >> 2] = t | 3; + g = q; + return g | 0; +} +function eH(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + d = a + (b << 2) | 0; + L1215 : do { + if ((b | 0) != 0) { + e = a; + L1216 : while (1) { + f = c[e >> 2] | 0; + L1218 : do { + if ((f | 0) == 0) { + g = e + 4 | 0; + } else { + h = f - 8 | 0; + i = h; + j = f - 4 | 0; + k = c[j >> 2] & -8; + c[e >> 2] = 0; + if (h >>> 0 < (c[28042] | 0) >>> 0) { + l = 932; + break L1216; + } + h = c[j >> 2] | 0; + if ((h & 3 | 0) == 1) { + l = 931; + break L1216; + } + m = e + 4 | 0; + n = h - 8 & -8; + do { + if ((m | 0) != (d | 0)) { + if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { + break; + } + o = (c[f + (n | 4) >> 2] & -8) + k | 0; + c[j >> 2] = h & 1 | o | 2; + p = f + (o - 4) | 0; + c[p >> 2] = c[p >> 2] | 1; + c[m >> 2] = f; + g = m; + break L1218; + } + } while (0); + eN(i, k); + g = m; + } + } while (0); + if ((g | 0) == (d | 0)) { + break L1215; + } else { + e = g; + } + } + if ((l | 0) == 932) { + av(); + return 0; + } else if ((l | 0) == 931) { + av(); + return 0; + } + } + } while (0); + if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { + return 0; + } + eu(0) | 0; + return 0; +} +function eI(a) { + a = a | 0; + var b = 0, d = 0; + if ((c[28014] | 0) != 0) { + b = eu(a) | 0; + return b | 0; + } + d = ar(8) | 0; + if ((d - 1 & d | 0) != 0) { + av(); + return 0; + } + c[28016] = d; + c[28015] = d; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + b = eu(a) | 0; + return b | 0; +} +function eJ(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + do { + if ((c[28014] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[28016] = b; + c[28015] = b; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + } + } + } while (0); + b = c[28044] | 0; + if ((b | 0) == 0) { + d = 0; + e = 0; + f = 0; + g = 0; + h = 0; + i = 0; + j = 0; + } else { + k = c[28041] | 0; + l = k + 40 | 0; + m = 1; + n = l; + o = l; + l = 112600; + while (1) { + p = c[l >> 2] | 0; + q = p + 8 | 0; + if ((q & 7 | 0) == 0) { + r = 0; + } else { + r = -q & 7; + } + q = p + (c[l + 4 >> 2] | 0) | 0; + s = m; + t = n; + u = o; + v = p + r | 0; + while (1) { + if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { + w = s; + x = t; + y = u; + break; + } + z = c[v + 4 >> 2] | 0; + if ((z | 0) == 7) { + w = s; + x = t; + y = u; + break; + } + A = z & -8; + B = A + u | 0; + if ((z & 3 | 0) == 1) { + C = A + t | 0; + D = s + 1 | 0; + } else { + C = t; + D = s; + } + z = v + A | 0; + if (z >>> 0 < p >>> 0) { + w = D; + x = C; + y = B; + break; + } else { + s = D; + t = C; + u = B; + v = z; + } + } + v = c[l + 8 >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + m = w; + n = x; + o = y; + l = v; + } + } + l = c[28146] | 0; + d = k; + e = y; + f = w; + g = l - y | 0; + h = c[28147] | 0; + i = l - x | 0; + j = x; + } + c[a >> 2] = e; + c[a + 4 >> 2] = f; + f = a + 8 | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[a + 16 >> 2] = g; + c[a + 20 >> 2] = h; + c[a + 24 >> 2] = 0; + c[a + 28 >> 2] = i; + c[a + 32 >> 2] = j; + c[a + 36 >> 2] = d; + return; +} +function eK() { + var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + a = i; + do { + if ((c[28014] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[28016] = b; + c[28015] = b; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + } + } + } while (0); + b = c[28044] | 0; + if ((b | 0) == 0) { + d = 0; + e = 0; + f = 0; + } else { + g = c[28147] | 0; + h = c[28146] | 0; + j = h - 40 - (c[28041] | 0) | 0; + k = 112600; + while (1) { + l = c[k >> 2] | 0; + m = l + 8 | 0; + if ((m & 7 | 0) == 0) { + n = 0; + } else { + n = -m & 7; + } + m = l + (c[k + 4 >> 2] | 0) | 0; + o = j; + q = l + n | 0; + while (1) { + if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { + r = o; + break; + } + s = c[q + 4 >> 2] | 0; + if ((s | 0) == 7) { + r = o; + break; + } + t = s & -8; + u = o - ((s & 3 | 0) == 1 ? t : 0) | 0; + s = q + t | 0; + if (s >>> 0 < l >>> 0) { + r = u; + break; + } else { + o = u; + q = s; + } + } + q = c[k + 8 >> 2] | 0; + if ((q | 0) == 0) { + d = r; + e = h; + f = g; + break; + } else { + j = r; + k = q; + } + } + } + aw(c[p >> 2] | 0, 111824, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + aw(c[p >> 2] | 0, 111792, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + aw(c[p >> 2] | 0, 111704, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; + i = a; + return; +} +function eL(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + do { + if ((c[28014] | 0) == 0) { + d = ar(8) | 0; + if ((d - 1 & d | 0) == 0) { + c[28016] = d; + c[28015] = d; + c[28017] = -1; + c[28018] = 2097152; + c[28019] = 0; + c[28149] = 0; + c[28014] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + av(); + return 0; + } + } + } while (0); + if ((a | 0) == (-2 | 0)) { + if ((c[28015] | 0) >>> 0 > b >>> 0) { + e = 0; + return e | 0; + } + if ((b - 1 & b | 0) != 0) { + e = 0; + return e | 0; + } + c[28016] = b; + e = 1; + return e | 0; + } else if ((a | 0) == (-3 | 0)) { + c[28017] = b; + e = 1; + return e | 0; + } else if ((a | 0) == (-1 | 0)) { + c[28018] = b; + e = 1; + return e | 0; + } else { + e = 0; + return e | 0; + } + return 0; +} +function eM() { + return (F = c[28158] | 0, c[28158] = F + 0, F) | 0; +} +function eN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; + d = a; + e = d + b | 0; + f = e; + g = c[a + 4 >> 2] | 0; + L1311 : do { + if ((g & 1 | 0) == 0) { + h = c[a >> 2] | 0; + if ((g & 3 | 0) == 0) { + return; + } + i = d + (-h | 0) | 0; + j = i; + k = h + b | 0; + l = c[28042] | 0; + if (i >>> 0 < l >>> 0) { + av(); + } + if ((j | 0) == (c[28043] | 0)) { + m = d + (b + 4) | 0; + if ((c[m >> 2] & 3 | 0) != 3) { + n = j; + o = k; + break; + } + c[28040] = k; + c[m >> 2] = c[m >> 2] & -2; + c[d + (4 - h) >> 2] = k | 1; + c[e >> 2] = k; + return; + } + m = h >>> 3; + if (h >>> 0 < 256) { + p = c[d + (8 - h) >> 2] | 0; + q = c[d + (12 - h) >> 2] | 0; + r = 112192 + (m << 1 << 2) | 0; + do { + if ((p | 0) != (r | 0)) { + if (p >>> 0 < l >>> 0) { + av(); + } + if ((c[p + 12 >> 2] | 0) == (j | 0)) { + break; + } + av(); + } + } while (0); + if ((q | 0) == (p | 0)) { + c[28038] = c[28038] & ~(1 << m); + n = j; + o = k; + break; + } + do { + if ((q | 0) == (r | 0)) { + s = q + 8 | 0; + } else { + if (q >>> 0 < l >>> 0) { + av(); + } + t = q + 8 | 0; + if ((c[t >> 2] | 0) == (j | 0)) { + s = t; + break; + } + av(); + } + } while (0); + c[p + 12 >> 2] = q; + c[s >> 2] = p; + n = j; + o = k; + break; + } + r = i; + m = c[d + (24 - h) >> 2] | 0; + t = c[d + (12 - h) >> 2] | 0; + do { + if ((t | 0) == (r | 0)) { + u = 16 - h | 0; + v = d + (u + 4) | 0; + w = c[v >> 2] | 0; + if ((w | 0) == 0) { + x = d + u | 0; + u = c[x >> 2] | 0; + if ((u | 0) == 0) { + y = 0; + break; + } else { + z = u; + A = x; + } + } else { + z = w; + A = v; + } + while (1) { + v = z + 20 | 0; + w = c[v >> 2] | 0; + if ((w | 0) != 0) { + z = w; + A = v; + continue; + } + v = z + 16 | 0; + w = c[v >> 2] | 0; + if ((w | 0) == 0) { + break; + } else { + z = w; + A = v; + } + } + if (A >>> 0 < l >>> 0) { + av(); + } else { + c[A >> 2] = 0; + y = z; + break; + } + } else { + v = c[d + (8 - h) >> 2] | 0; + if (v >>> 0 < l >>> 0) { + av(); + } + w = v + 12 | 0; + if ((c[w >> 2] | 0) != (r | 0)) { + av(); + } + x = t + 8 | 0; + if ((c[x >> 2] | 0) == (r | 0)) { + c[w >> 2] = t; + c[x >> 2] = v; + y = t; + break; + } else { + av(); + } + } + } while (0); + if ((m | 0) == 0) { + n = j; + o = k; + break; + } + t = d + (28 - h) | 0; + l = 112456 + (c[t >> 2] << 2) | 0; + do { + if ((r | 0) == (c[l >> 2] | 0)) { + c[l >> 2] = y; + if ((y | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[t >> 2]); + n = j; + o = k; + break L1311; + } else { + if (m >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + i = m + 16 | 0; + if ((c[i >> 2] | 0) == (r | 0)) { + c[i >> 2] = y; + } else { + c[m + 20 >> 2] = y; + } + if ((y | 0) == 0) { + n = j; + o = k; + break L1311; + } + } + } while (0); + if (y >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + c[y + 24 >> 2] = m; + r = 16 - h | 0; + t = c[d + r >> 2] | 0; + do { + if ((t | 0) != 0) { + if (t >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[y + 16 >> 2] = t; + c[t + 24 >> 2] = y; + break; + } + } + } while (0); + t = c[d + (r + 4) >> 2] | 0; + if ((t | 0) == 0) { + n = j; + o = k; + break; + } + if (t >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[y + 20 >> 2] = t; + c[t + 24 >> 2] = y; + n = j; + o = k; + break; + } + } else { + n = a; + o = b; + } + } while (0); + a = c[28042] | 0; + if (e >>> 0 < a >>> 0) { + av(); + } + y = d + (b + 4) | 0; + z = c[y >> 2] | 0; + do { + if ((z & 2 | 0) == 0) { + if ((f | 0) == (c[28044] | 0)) { + A = (c[28041] | 0) + o | 0; + c[28041] = A; + c[28044] = n; + c[n + 4 >> 2] = A | 1; + if ((n | 0) != (c[28043] | 0)) { + return; + } + c[28043] = 0; + c[28040] = 0; + return; + } + if ((f | 0) == (c[28043] | 0)) { + A = (c[28040] | 0) + o | 0; + c[28040] = A; + c[28043] = n; + c[n + 4 >> 2] = A | 1; + c[n + A >> 2] = A; + return; + } + A = (z & -8) + o | 0; + s = z >>> 3; + L1410 : do { + if (z >>> 0 < 256) { + g = c[d + (b + 8) >> 2] | 0; + t = c[d + (b + 12) >> 2] | 0; + h = 112192 + (s << 1 << 2) | 0; + do { + if ((g | 0) != (h | 0)) { + if (g >>> 0 < a >>> 0) { + av(); + } + if ((c[g + 12 >> 2] | 0) == (f | 0)) { + break; + } + av(); + } + } while (0); + if ((t | 0) == (g | 0)) { + c[28038] = c[28038] & ~(1 << s); + break; + } + do { + if ((t | 0) == (h | 0)) { + B = t + 8 | 0; + } else { + if (t >>> 0 < a >>> 0) { + av(); + } + m = t + 8 | 0; + if ((c[m >> 2] | 0) == (f | 0)) { + B = m; + break; + } + av(); + } + } while (0); + c[g + 12 >> 2] = t; + c[B >> 2] = g; + } else { + h = e; + m = c[d + (b + 24) >> 2] | 0; + l = c[d + (b + 12) >> 2] | 0; + do { + if ((l | 0) == (h | 0)) { + i = d + (b + 20) | 0; + p = c[i >> 2] | 0; + if ((p | 0) == 0) { + q = d + (b + 16) | 0; + v = c[q >> 2] | 0; + if ((v | 0) == 0) { + C = 0; + break; + } else { + D = v; + E = q; + } + } else { + D = p; + E = i; + } + while (1) { + i = D + 20 | 0; + p = c[i >> 2] | 0; + if ((p | 0) != 0) { + D = p; + E = i; + continue; + } + i = D + 16 | 0; + p = c[i >> 2] | 0; + if ((p | 0) == 0) { + break; + } else { + D = p; + E = i; + } + } + if (E >>> 0 < a >>> 0) { + av(); + } else { + c[E >> 2] = 0; + C = D; + break; + } + } else { + i = c[d + (b + 8) >> 2] | 0; + if (i >>> 0 < a >>> 0) { + av(); + } + p = i + 12 | 0; + if ((c[p >> 2] | 0) != (h | 0)) { + av(); + } + q = l + 8 | 0; + if ((c[q >> 2] | 0) == (h | 0)) { + c[p >> 2] = l; + c[q >> 2] = i; + C = l; + break; + } else { + av(); + } + } + } while (0); + if ((m | 0) == 0) { + break; + } + l = d + (b + 28) | 0; + g = 112456 + (c[l >> 2] << 2) | 0; + do { + if ((h | 0) == (c[g >> 2] | 0)) { + c[g >> 2] = C; + if ((C | 0) != 0) { + break; + } + c[28039] = c[28039] & ~(1 << c[l >> 2]); + break L1410; + } else { + if (m >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + t = m + 16 | 0; + if ((c[t >> 2] | 0) == (h | 0)) { + c[t >> 2] = C; + } else { + c[m + 20 >> 2] = C; + } + if ((C | 0) == 0) { + break L1410; + } + } + } while (0); + if (C >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + c[C + 24 >> 2] = m; + h = c[d + (b + 16) >> 2] | 0; + do { + if ((h | 0) != 0) { + if (h >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[C + 16 >> 2] = h; + c[h + 24 >> 2] = C; + break; + } + } + } while (0); + h = c[d + (b + 20) >> 2] | 0; + if ((h | 0) == 0) { + break; + } + if (h >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } else { + c[C + 20 >> 2] = h; + c[h + 24 >> 2] = C; + break; + } + } + } while (0); + c[n + 4 >> 2] = A | 1; + c[n + A >> 2] = A; + if ((n | 0) != (c[28043] | 0)) { + F = A; + break; + } + c[28040] = A; + return; + } else { + c[y >> 2] = z & -2; + c[n + 4 >> 2] = o | 1; + c[n + o >> 2] = o; + F = o; + } + } while (0); + o = F >>> 3; + if (F >>> 0 < 256) { + z = o << 1; + y = 112192 + (z << 2) | 0; + C = c[28038] | 0; + b = 1 << o; + do { + if ((C & b | 0) == 0) { + c[28038] = C | b; + G = y; + H = 112192 + (z + 2 << 2) | 0; + } else { + o = 112192 + (z + 2 << 2) | 0; + d = c[o >> 2] | 0; + if (d >>> 0 >= (c[28042] | 0) >>> 0) { + G = d; + H = o; + break; + } + av(); + } + } while (0); + c[H >> 2] = n; + c[G + 12 >> 2] = n; + c[n + 8 >> 2] = G; + c[n + 12 >> 2] = y; + return; + } + y = n; + G = F >>> 8; + do { + if ((G | 0) == 0) { + I = 0; + } else { + if (F >>> 0 > 16777215) { + I = 31; + break; + } + H = (G + 1048320 | 0) >>> 16 & 8; + z = G << H; + b = (z + 520192 | 0) >>> 16 & 4; + C = z << b; + z = (C + 245760 | 0) >>> 16 & 2; + o = 14 - (b | H | z) + (C << z >>> 15) | 0; + I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; + } + } while (0); + G = 112456 + (I << 2) | 0; + c[n + 28 >> 2] = I; + c[n + 20 >> 2] = 0; + c[n + 16 >> 2] = 0; + o = c[28039] | 0; + z = 1 << I; + if ((o & z | 0) == 0) { + c[28039] = o | z; + c[G >> 2] = y; + c[n + 24 >> 2] = G; + c[n + 12 >> 2] = n; + c[n + 8 >> 2] = n; + return; + } + if ((I | 0) == 31) { + J = 0; + } else { + J = 25 - (I >>> 1) | 0; + } + I = F << J; + J = c[G >> 2] | 0; + while (1) { + if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { + break; + } + K = J + 16 + (I >>> 31 << 2) | 0; + G = c[K >> 2] | 0; + if ((G | 0) == 0) { + L = 1116; + break; + } else { + I = I << 1; + J = G; + } + } + if ((L | 0) == 1116) { + if (K >>> 0 < (c[28042] | 0) >>> 0) { + av(); + } + c[K >> 2] = y; + c[n + 24 >> 2] = J; + c[n + 12 >> 2] = n; + c[n + 8 >> 2] = n; + return; + } + K = J + 8 | 0; + L = c[K >> 2] | 0; + I = c[28042] | 0; + if (J >>> 0 < I >>> 0) { + av(); + } + if (L >>> 0 < I >>> 0) { + av(); + } + c[L + 12 >> 2] = y; + c[K >> 2] = y; + c[n + 8 >> 2] = L; + c[n + 12 >> 2] = J; + c[n + 24 >> 2] = 0; + return; +} +function eO(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = (a | 0) == 0 ? 1 : a; + while (1) { + d = en(b) | 0; + if ((d | 0) != 0) { + e = 1160; + break; + } + a = (F = c[28158] | 0, c[28158] = F + 0, F); + if ((a | 0) == 0) { + break; + } + a5[a & 1](); + } + if ((e | 0) == 1160) { + return d | 0; + } + d = aK(4) | 0; + c[d >> 2] = 111864; + as(d | 0, 111992, 6); + return 0; +} +function eP(a, b) { + a = a | 0; + b = b | 0; + return eO(a) | 0; +} +function eQ(a) { + a = a | 0; + return; +} +function eR(a) { + a = a | 0; + return 111664 | 0; +} +function eS(a) { + a = a | 0; + return 111752 | 0; +} +function eT(a) { + a = a | 0; + return (F = c[28158] | 0, c[28158] = a, F) | 0; +} +function eU(a) { + a = a | 0; + c[a >> 2] = 111864; + return; +} +function eV(a) { + a = a | 0; + c[a >> 2] = 111896; + return; +} +function eW(a) { + a = a | 0; + if ((a | 0) != 0) { + eo(a); + } + return; +} +function eX(a, b) { + a = a | 0; + b = b | 0; + eW(a); + return; +} +function eY(a) { + a = a | 0; + eW(a); + return; +} +function eZ(a, b) { + a = a | 0; + b = b | 0; + eY(a); + return; +} +function e_(a) { + a = a | 0; + eW(a); + return; +} +function e$(a) { + a = a | 0; + eW(a); + return; +} +function e0(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return e1(a, b, c, 0, 0, 0) | 0; +} +function e1(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; + j = i; + if ((e | 0) == 0) { + k = -1; + i = j; + return k | 0; + } + l = c[80] | 0; + if ((l | 0) == 0) { + c[28006] = 1; + c[80] = 1; + m = 1; + n = 1; + o = 1186; + } else { + p = c[28006] | 0; + q = c[348] | 0; + if ((q | 0) == -1 | (p | 0) != 0) { + m = p; + n = l; + o = 1186; + } else { + r = q; + s = p; + t = l; + } + } + if ((o | 0) == 1186) { + l = (aQ(111648) | 0) != 0 | 0; + c[348] = l; + r = l; + s = m; + t = n; + } + n = a[e] | 0; + if (n << 24 >> 24 == 45) { + u = h | 2; + o = 1190; + } else { + m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; + if (n << 24 >> 24 == 43) { + u = m; + o = 1190; + } else { + v = e; + w = m; + } + } + if ((o | 0) == 1190) { + v = e + 1 | 0; + w = u; + } + c[28008] = 0; + if ((s | 0) == 0) { + x = t; + o = 1194; + } else { + c[86] = -1; + c[84] = -1; + z = t; + A = s; + o = 1193; + } + while (1) { + if ((o | 0) == 1193) { + o = 0; + if ((A | 0) == 0) { + x = z; + o = 1194; + continue; + } else { + B = z; + } + } else if ((o | 0) == 1194) { + o = 0; + s = c[76] | 0; + if ((a[s] | 0) == 0) { + B = x; + } else { + C = s; + D = x; + break; + } + } + c[28006] = 0; + if ((B | 0) >= (b | 0)) { + o = 1196; + break; + } + E = d + (B << 2) | 0; + F = c[E >> 2] | 0; + c[76] = F; + if ((a[F] | 0) == 45) { + G = F + 1 | 0; + H = a[G] | 0; + if (H << 24 >> 24 != 0) { + o = 1228; + break; + } + if ((aC(v | 0, 45) | 0) != 0) { + o = 1228; + break; + } + } + c[76] = 112144; + if ((w & 2 | 0) != 0) { + o = 1213; + break; + } + if ((w & 1 | 0) == 0) { + k = -1; + o = 1299; + break; + } + s = c[84] | 0; + do { + if ((s | 0) == -1) { + c[84] = B; + I = B; + J = 0; + } else { + t = c[86] | 0; + if ((t | 0) == -1) { + I = B; + J = 0; + break; + } + u = t - s | 0; + e = B - t | 0; + m = (u | 0) % (e | 0) | 0; + if ((m | 0) == 0) { + K = e; + } else { + n = e; + h = m; + while (1) { + m = (n | 0) % (h | 0) | 0; + if ((m | 0) == 0) { + K = h; + break; + } else { + n = h; + h = m; + } + } + } + h = (B - s | 0) / (K | 0) | 0; + do { + if ((K | 0) > 0) { + n = -u | 0; + if ((h | 0) > 0) { + L = 0; + } else { + M = B; + N = t; + O = s; + P = 0; + break; + } + do { + m = L + t | 0; + r = d + (m << 2) | 0; + l = 0; + p = m; + m = c[r >> 2] | 0; + while (1) { + q = ((p | 0) < (t | 0) ? e : n) + p | 0; + Q = d + (q << 2) | 0; + R = c[Q >> 2] | 0; + c[Q >> 2] = m; + c[r >> 2] = R; + Q = l + 1 | 0; + if ((Q | 0) < (h | 0)) { + l = Q; + p = q; + m = R; + } else { + break; + } + } + L = L + 1 | 0; + } while ((L | 0) < (K | 0)); + M = c[80] | 0; + N = c[86] | 0; + O = c[84] | 0; + P = c[28006] | 0; + } else { + M = B; + N = t; + O = s; + P = 0; + } + } while (0); + c[84] = M - N + O; + c[86] = -1; + I = M; + J = P; + } + } while (0); + s = I + 1 | 0; + c[80] = s; + z = s; + A = J; + o = 1193; + } + do { + if ((o | 0) == 1299) { + i = j; + return k | 0; + } else if ((o | 0) == 1196) { + c[76] = 112144; + J = c[86] | 0; + A = c[84] | 0; + do { + if ((J | 0) == -1) { + if ((A | 0) == -1) { + break; + } + c[80] = A; + } else { + z = J - A | 0; + I = B - J | 0; + P = (z | 0) % (I | 0) | 0; + if ((P | 0) == 0) { + S = I; + } else { + M = I; + O = P; + while (1) { + P = (M | 0) % (O | 0) | 0; + if ((P | 0) == 0) { + S = O; + break; + } else { + M = O; + O = P; + } + } + } + O = (B - A | 0) / (S | 0) | 0; + do { + if ((S | 0) > 0) { + M = -z | 0; + if ((O | 0) > 0) { + T = 0; + } else { + U = J; + V = A; + W = B; + break; + } + do { + P = T + J | 0; + N = d + (P << 2) | 0; + K = 0; + L = P; + P = c[N >> 2] | 0; + while (1) { + x = ((L | 0) < (J | 0) ? I : M) + L | 0; + s = d + (x << 2) | 0; + t = c[s >> 2] | 0; + c[s >> 2] = P; + c[N >> 2] = t; + s = K + 1 | 0; + if ((s | 0) < (O | 0)) { + K = s; + L = x; + P = t; + } else { + break; + } + } + T = T + 1 | 0; + } while ((T | 0) < (S | 0)); + U = c[86] | 0; + V = c[84] | 0; + W = c[80] | 0; + } else { + U = J; + V = A; + W = B; + } + } while (0); + c[80] = V - U + W; + } + } while (0); + c[86] = -1; + c[84] = -1; + k = -1; + i = j; + return k | 0; + } else if ((o | 0) == 1213) { + c[80] = B + 1; + c[28008] = c[E >> 2]; + k = 1; + i = j; + return k | 0; + } else if ((o | 0) == 1228) { + A = c[84] | 0; + J = c[86] | 0; + if ((A | 0) != -1 & (J | 0) == -1) { + c[86] = B; + X = a[G] | 0; + Y = B; + } else { + X = H; + Y = J; + } + if (X << 24 >> 24 == 0) { + C = F; + D = B; + break; + } + c[76] = G; + if ((a[G] | 0) != 45) { + C = G; + D = B; + break; + } + if ((a[F + 2 | 0] | 0) != 0) { + C = G; + D = B; + break; + } + J = B + 1 | 0; + c[80] = J; + c[76] = 112144; + if ((Y | 0) != -1) { + O = Y - A | 0; + I = J - Y | 0; + z = (O | 0) % (I | 0) | 0; + if ((z | 0) == 0) { + Z = I; + } else { + M = I; + P = z; + while (1) { + z = (M | 0) % (P | 0) | 0; + if ((z | 0) == 0) { + Z = P; + break; + } else { + M = P; + P = z; + } + } + } + P = (J - A | 0) / (Z | 0) | 0; + do { + if ((Z | 0) > 0) { + M = -O | 0; + if ((P | 0) > 0) { + _ = 0; + } else { + $ = Y; + aa = A; + ab = J; + break; + } + do { + z = _ + Y | 0; + L = d + (z << 2) | 0; + K = 0; + N = z; + z = c[L >> 2] | 0; + while (1) { + t = ((N | 0) < (Y | 0) ? I : M) + N | 0; + x = d + (t << 2) | 0; + s = c[x >> 2] | 0; + c[x >> 2] = z; + c[L >> 2] = s; + x = K + 1 | 0; + if ((x | 0) < (P | 0)) { + K = x; + N = t; + z = s; + } else { + break; + } + } + _ = _ + 1 | 0; + } while ((_ | 0) < (Z | 0)); + $ = c[86] | 0; + aa = c[84] | 0; + ab = c[80] | 0; + } else { + $ = Y; + aa = A; + ab = J; + } + } while (0); + c[80] = aa - $ + ab; + } + c[86] = -1; + c[84] = -1; + k = -1; + i = j; + return k | 0; + } + } while (0); + ab = (f | 0) != 0; + L1645 : do { + if (ab) { + if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { + ac = C; + break; + } + $ = a[C] | 0; + do { + if ($ << 24 >> 24 == 45) { + c[76] = C + 1; + ad = 0; + } else { + if ((w & 4 | 0) == 0) { + ac = C; + break L1645; + } + if ($ << 24 >> 24 == 58) { + ad = 0; + break; + } + ad = (aC(v | 0, $ << 24 >> 24 | 0) | 0) != 0 | 0; + } + } while (0); + $ = e7(d, v, f, g, ad) | 0; + if (($ | 0) == -1) { + ac = c[76] | 0; + break; + } + c[76] = 112144; + k = $; + i = j; + return k | 0; + } else { + ac = C; + } + } while (0); + C = ac + 1 | 0; + c[76] = C; + ad = a[ac] | 0; + ac = ad << 24 >> 24; + if ((ad << 24 >> 24 | 0) == 58) { + o = 1259; + } else if ((ad << 24 >> 24 | 0) == 45) { + if ((a[C] | 0) == 0) { + o = 1256; + } + } else { + o = 1256; + } + do { + if ((o | 0) == 1256) { + w = aC(v | 0, ac | 0) | 0; + if ((w | 0) == 0) { + if (ad << 24 >> 24 != 45) { + o = 1259; + break; + } + if ((a[C] | 0) == 0) { + k = -1; + } else { + break; + } + i = j; + return k | 0; + } + D = a[w + 1 | 0] | 0; + if (ab & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { + do { + if ((a[C] | 0) == 0) { + $ = (c[80] | 0) + 1 | 0; + c[80] = $; + if (($ | 0) < (b | 0)) { + c[76] = c[d + ($ << 2) >> 2]; + break; + } + c[76] = 112144; + do { + if ((c[82] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[78] = ac; + k = (a[v] | 0) == 58 ? 58 : 63; + i = j; + return k | 0; + } + } while (0); + $ = e7(d, v, f, g, 0) | 0; + c[76] = 112144; + k = $; + i = j; + return k | 0; + } + if (D << 24 >> 24 != 58) { + if ((a[C] | 0) != 0) { + k = ac; + i = j; + return k | 0; + } + c[80] = (c[80] | 0) + 1; + k = ac; + i = j; + return k | 0; + } + c[28008] = 0; + do { + if ((a[C] | 0) == 0) { + if ((a[w + 2 | 0] | 0) == 58) { + break; + } + $ = (c[80] | 0) + 1 | 0; + c[80] = $; + if (($ | 0) < (b | 0)) { + c[28008] = c[d + ($ << 2) >> 2]; + break; + } + c[76] = 112144; + do { + if ((c[82] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[78] = ac; + k = (a[v] | 0) == 58 ? 58 : 63; + i = j; + return k | 0; + } else { + c[28008] = C; + } + } while (0); + c[76] = 112144; + c[80] = (c[80] | 0) + 1; + k = ac; + i = j; + return k | 0; + } + } while (0); + do { + if ((o | 0) == 1259) { + if ((a[C] | 0) != 0) { + break; + } + c[80] = (c[80] | 0) + 1; + } + } while (0); + do { + if ((c[82] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + e9(1368, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[78] = ac; + k = 63; + i = j; + return k | 0; +} +function e2(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return e1(a, b, c, d, e, 1) | 0; +} +function e3(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return e1(a, b, c, d, e, 5) | 0; +} +function e4(a) { + a = a | 0; + return eO(a) | 0; +} +function e5(a, b) { + a = a | 0; + b = b | 0; + return e4(a) | 0; +} +function e6() { + var a = 0; + a = aK(4) | 0; + c[a >> 2] = 111864; + as(a | 0, 111992, 6); +} +function e7(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; + h = i; + j = c[76] | 0; + k = c[80] | 0; + l = k + 1 | 0; + c[80] = l; + m = aC(j | 0, 61) | 0; + if ((m | 0) == 0) { + n = fo(j | 0) | 0; + o = 0; + } else { + n = m - j | 0; + o = m + 1 | 0; + } + m = c[e >> 2] | 0; + L1725 : do { + if ((m | 0) != 0) { + L1727 : do { + if ((g | 0) != 0 & (n | 0) == 1) { + p = 0; + q = m; + while (1) { + if ((a[j] | 0) == (a[q] | 0)) { + if ((fo(q | 0) | 0) == 1) { + r = p; + break L1727; + } + } + p = p + 1 | 0; + q = c[e + (p << 4) >> 2] | 0; + if ((q | 0) == 0) { + break L1725; + } + } + } else { + q = 0; + p = -1; + s = m; + while (1) { + if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { + if ((fo(s | 0) | 0) == (n | 0)) { + r = q; + break L1727; + } + if ((p | 0) == -1) { + t = q; + } else { + break; + } + } else { + t = p; + } + u = q + 1 | 0; + v = c[e + (u << 4) >> 2] | 0; + if ((v | 0) == 0) { + r = t; + break L1727; + } else { + q = u; + p = t; + s = v; + } + } + do { + if ((c[82] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + e9(111608, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); + } + } while (0); + c[78] = 0; + w = 63; + i = h; + return w | 0; + } + } while (0); + if ((r | 0) == -1) { + break; + } + s = e + (r << 4) + 4 | 0; + p = c[s >> 2] | 0; + q = (o | 0) == 0; + if (!((p | 0) != 0 | q)) { + do { + if ((c[82] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + e9(352, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); + } + } while (0); + if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { + x = c[e + (r << 4) + 12 >> 2] | 0; + } else { + x = 0; + } + c[78] = x; + w = (a[d] | 0) == 58 ? 58 : 63; + i = h; + return w | 0; + } + do { + if ((p - 1 | 0) >>> 0 < 2) { + if (!q) { + c[28008] = o; + break; + } + if ((p | 0) != 1) { + break; + } + c[80] = k + 2; + c[28008] = c[b + (l << 2) >> 2]; + } + } while (0); + if (!((c[s >> 2] | 0) == 1 & (c[28008] | 0) == 0)) { + if ((f | 0) != 0) { + c[f >> 2] = r; + } + p = c[e + (r << 4) + 8 >> 2] | 0; + q = c[e + (r << 4) + 12 >> 2] | 0; + if ((p | 0) == 0) { + w = q; + i = h; + return w | 0; + } + c[p >> 2] = q; + w = 0; + i = h; + return w | 0; + } + do { + if ((c[82] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + e9(152, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); + } + } while (0); + if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { + z = c[e + (r << 4) + 12 >> 2] | 0; + } else { + z = 0; + } + c[78] = z; + c[80] = (c[80] | 0) - 1; + w = (a[d] | 0) == 58 ? 58 : 63; + i = h; + return w | 0; + } + } while (0); + if ((g | 0) != 0) { + c[80] = k; + w = -1; + i = h; + return w | 0; + } + do { + if ((c[82] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + e9(1344, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); + } + } while (0); + c[78] = 0; + w = 63; + i = h; + return w | 0; +} +function e8(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + i = i + 16 | 0; + e = d | 0; + f = e; + c[f >> 2] = b; + c[f + 4 >> 2] = 0; + fa(a, e | 0); + i = d; + return; +} +function e9(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + i = i + 16 | 0; + e = d | 0; + f = e; + c[f >> 2] = b; + c[f + 4 >> 2] = 0; + fb(a, e | 0); + i = d; + return; +} +function fa(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + e = c[(aY() | 0) >> 2] | 0; + f = c[r >> 2] | 0; + aw(c[p >> 2] | 0, 111736, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + if ((a | 0) != 0) { + f = c[p >> 2] | 0; + aR(f | 0, a | 0, b | 0) | 0; + b = c[p >> 2] | 0; + aF(111776, 2, 1, b | 0) | 0; + } + b = c[p >> 2] | 0; + a = au(e | 0) | 0; + aw(b | 0, 111688, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; + i = d; + return; +} +function fb(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = i; + e = c[r >> 2] | 0; + aw(c[p >> 2] | 0, 111680, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + if ((a | 0) != 0) { + e = c[p >> 2] | 0; + aR(e | 0, a | 0, b | 0) | 0; + } + aD(10, c[p >> 2] | 0) | 0; + i = d; + return; +} +function fc(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; + e = b; + while (1) { + f = e + 1 | 0; + if ((aL(a[e] | 0) | 0) == 0) { + break; + } else { + e = f; + } + } + g = a[e] | 0; + if ((g << 24 >> 24 | 0) == 45) { + i = f; + j = 1; + } else if ((g << 24 >> 24 | 0) == 43) { + i = f; + j = 0; + } else { + i = e; + j = 0; + } + e = -1; + f = 0; + g = i; + while (1) { + k = a[g] | 0; + if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { + l = e; + } else { + if (k << 24 >> 24 != 46 | (e | 0) > -1) { + break; + } else { + l = f; + } + } + e = l; + f = f + 1 | 0; + g = g + 1 | 0; + } + l = g + (-f | 0) | 0; + i = (e | 0) < 0; + m = ((i ^ 1) << 31 >> 31) + f | 0; + n = (m | 0) > 18; + o = (n ? -18 : -m | 0) + (i ? f : e) | 0; + e = n ? 18 : m; + do { + if ((e | 0) == 0) { + p = b; + q = 0.0; + } else { + if ((e | 0) > 9) { + m = l; + n = e; + f = 0; + while (1) { + i = a[m] | 0; + r = m + 1 | 0; + if (i << 24 >> 24 == 46) { + s = a[r] | 0; + t = m + 2 | 0; + } else { + s = i; + t = r; + } + u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; + r = n - 1 | 0; + if ((r | 0) > 9) { + m = t; + n = r; + f = u; + } else { + break; + } + } + v = +(u | 0) * 1.0e9; + w = 9; + x = t; + y = 1389; + } else { + if ((e | 0) > 0) { + v = 0.0; + w = e; + x = l; + y = 1389; + } else { + z = 0.0; + A = 0.0; + } + } + if ((y | 0) == 1389) { + f = x; + n = w; + m = 0; + while (1) { + r = a[f] | 0; + i = f + 1 | 0; + if (r << 24 >> 24 == 46) { + B = a[i] | 0; + C = f + 2 | 0; + } else { + B = r; + C = i; + } + D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; + i = n - 1 | 0; + if ((i | 0) > 0) { + f = C; + n = i; + m = D; + } else { + break; + } + } + z = +(D | 0); + A = v; + } + E = A + z; + do { + if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { + m = g + 1 | 0; + n = a[m] | 0; + if ((n << 24 >> 24 | 0) == 45) { + F = g + 2 | 0; + G = 1; + } else if ((n << 24 >> 24 | 0) == 43) { + F = g + 2 | 0; + G = 0; + } else { + F = m; + G = 0; + } + m = a[F] | 0; + if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { + H = F; + I = 0; + J = m; + } else { + K = 0; + L = F; + M = G; + break; + } + while (1) { + m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; + n = H + 1 | 0; + f = a[n] | 0; + if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { + H = n; + I = m; + J = f; + } else { + K = m; + L = n; + M = G; + break; + } + } + } else { + K = 0; + L = g; + M = 0; + } + } while (0); + n = o + ((M | 0) == 0 ? K : -K | 0) | 0; + m = (n | 0) < 0 ? -n | 0 : n; + if ((m | 0) > 511) { + c[(aY() | 0) >> 2] = 34; + N = 1.0; + O = 232; + P = 511; + y = 1406; + } else { + if ((m | 0) == 0) { + Q = 1.0; + } else { + N = 1.0; + O = 232; + P = m; + y = 1406; + } + } + if ((y | 0) == 1406) { + while (1) { + y = 0; + if ((P & 1 | 0) == 0) { + R = N; + } else { + R = N * +h[O >> 3]; + } + m = P >> 1; + if ((m | 0) == 0) { + Q = R; + break; + } else { + N = R; + O = O + 8 | 0; + P = m; + y = 1406; + } + } + } + if ((n | 0) > -1) { + p = L; + q = E * Q; + break; + } else { + p = L; + q = E / Q; + break; + } + } + } while (0); + if ((d | 0) != 0) { + c[d >> 2] = p; + } + if ((j | 0) == 0) { + S = q; + return +S; + } + S = -0.0 - q; + return +S; +} +function fd(a, b) { + a = a | 0; + b = b | 0; + return +(+fc(a, b)); +} +function fe(a, b) { + a = a | 0; + b = b | 0; + return +(+fc(a, b)); +} +function ff(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return +(+fc(a, b)); +} +function fg(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return +(+fc(a, b)); +} +function fh(a) { + a = a | 0; + return +(+fc(a, 0)); +} +function fi(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + e = f; + c[e >> 2] = d; + c[e + 4 >> 2] = 0; + fk(a, b, f | 0); +} +function fj(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + e = f; + c[e >> 2] = d; + c[e + 4 >> 2] = 0; + fl(a, b, f | 0); +} +function fk(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = c[(aY() | 0) >> 2] | 0; + f = c[r >> 2] | 0; + aw(c[p >> 2] | 0, 111640, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + if ((b | 0) != 0) { + f = c[p >> 2] | 0; + aR(f | 0, b | 0, d | 0) | 0; + d = c[p >> 2] | 0; + aF(111784, 2, 1, d | 0) | 0; + } + d = c[p >> 2] | 0; + b = au(e | 0) | 0; + aw(d | 0, 111696, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; + aI(a | 0); +} +function fl(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = c[r >> 2] | 0; + aw(c[p >> 2] | 0, 111744, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + if ((b | 0) != 0) { + e = c[p >> 2] | 0; + aR(e | 0, b | 0, d | 0) | 0; + } + aD(10, c[p >> 2] | 0) | 0; + aI(a | 0); +} +function fm(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + f = b + e | 0; + if ((e | 0) >= 20) { + d = d & 255; + e = b & 3; + g = d | d << 8 | d << 16 | d << 24; + h = f & ~3; + if (e) { + e = b + 4 - e | 0; + while ((b | 0) < (e | 0)) { + a[b] = d; + b = b + 1 | 0; + } + } + while ((b | 0) < (h | 0)) { + c[b >> 2] = g; + b = b + 4 | 0; + } + } + while ((b | 0) < (f | 0)) { + a[b] = d; + b = b + 1 | 0; + } +} +function fn(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = b | 0; + if ((b & 3) == (d & 3)) { + while (b & 3) { + if ((e | 0) == 0) return f | 0; + a[b] = a[d] | 0; + b = b + 1 | 0; + d = d + 1 | 0; + e = e - 1 | 0; + } + while ((e | 0) >= 4) { + c[b >> 2] = c[d >> 2]; + b = b + 4 | 0; + d = d + 4 | 0; + e = e - 4 | 0; + } + } + while ((e | 0) > 0) { + a[b] = a[d] | 0; + b = b + 1 | 0; + d = d + 1 | 0; + e = e - 1 | 0; + } + return f | 0; +} +function fo(b) { + b = b | 0; + var c = 0; + c = b; + while (a[c] | 0) { + c = c + 1 | 0; + } + return c - b | 0; +} +function fp(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = a + c >>> 0; + return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; +} +function fq(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = b - d >>> 0; + e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; + return (H = e, a - c >>> 0 | 0) | 0; +} +function fr(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; + return a << c; + } + H = a << c - 32; + return 0; +} +function fs(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b >>> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c; + } + H = 0; + return b >>> c - 32 | 0; +} +function ft(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b >> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c; + } + H = (b | 0) < 0 ? -1 : 0; + return b >> c - 32 | 0; +} +function fu(b) { + b = b | 0; + var c = 0; + c = a[n + (b >>> 24) | 0] | 0; + if ((c | 0) < 8) return c | 0; + c = a[n + (b >> 16 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 8 | 0; + c = a[n + (b >> 8 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 16 | 0; + return (a[n + (b & 255) | 0] | 0) + 24 | 0; +} +function fv(b) { + b = b | 0; + var c = 0; + c = a[m + (b & 255) | 0] | 0; + if ((c | 0) < 8) return c | 0; + c = a[m + (b >> 8 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 8 | 0; + c = a[m + (b >> 16 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 16 | 0; + return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; +} +function fw(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0; + c = a & 65535; + d = b & 65535; + e = ad(d, c) | 0; + f = a >>> 16; + a = (e >>> 16) + (ad(d, f) | 0) | 0; + d = b >>> 16; + b = ad(d, c) | 0; + return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; +} +function fx(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; + h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; + i = fq(e ^ a, f ^ b, e, f) | 0; + b = H; + a = g ^ e; + e = h ^ f; + f = fq((fC(i, b, fq(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; + return (H = H, f) | 0; +} +function fy(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + f = i; + i = i + 8 | 0; + g = f | 0; + h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; + l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; + m = fq(h ^ a, j ^ b, h, j) | 0; + b = H; + a = fq(k ^ d, l ^ e, k, l) | 0; + fC(m, b, a, H, g) | 0; + a = fq(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; + j = H; + i = f; + return (H = j, a) | 0; +} +function fz(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + e = a; + a = c; + c = fw(e, a) | 0; + f = H; + return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; +} +function fA(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = fC(a, b, c, d, 0) | 0; + return (H = H, e) | 0; +} +function fB(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 8 | 0; + g = f | 0; + fC(a, b, d, e, g) | 0; + i = f; + return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; +} +function fC(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; + g = a; + h = b; + i = h; + j = d; + k = e; + l = k; + if ((i | 0) == 0) { + m = (f | 0) != 0; + if ((l | 0) == 0) { + if (m) { + c[f >> 2] = (g >>> 0) % (j >>> 0); + c[f + 4 >> 2] = 0; + } + n = 0; + o = (g >>> 0) / (j >>> 0) >>> 0; + return (H = n, o) | 0; + } else { + if (!m) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } + } + m = (l | 0) == 0; + do { + if ((j | 0) == 0) { + if (m) { + if ((f | 0) != 0) { + c[f >> 2] = (i >>> 0) % (j >>> 0); + c[f + 4 >> 2] = 0; + } + n = 0; + o = (i >>> 0) / (j >>> 0) >>> 0; + return (H = n, o) | 0; + } + if ((g | 0) == 0) { + if ((f | 0) != 0) { + c[f >> 2] = 0; + c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); + } + n = 0; + o = (i >>> 0) / (l >>> 0) >>> 0; + return (H = n, o) | 0; + } + p = l - 1 | 0; + if ((p & l | 0) == 0) { + if ((f | 0) != 0) { + c[f >> 2] = a | 0; + c[f + 4 >> 2] = p & i | b & 0; + } + n = 0; + o = i >>> ((fv(l | 0) | 0) >>> 0); + return (H = n, o) | 0; + } + p = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; + if (p >>> 0 <= 30) { + q = p + 1 | 0; + r = 31 - p | 0; + s = q; + t = i << r | g >>> (q >>> 0); + u = i >>> (q >>> 0); + v = 0; + w = g << r; + break; + } + if ((f | 0) == 0) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = h | b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } else { + if (!m) { + r = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; + if (r >>> 0 <= 31) { + q = r + 1 | 0; + p = 31 - r | 0; + x = r - 31 >> 31; + s = q; + t = g >>> (q >>> 0) & x | i << p; + u = i >>> (q >>> 0) & x; + v = 0; + w = g << p; + break; + } + if ((f | 0) == 0) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = h | b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } + p = j - 1 | 0; + if ((p & j | 0) != 0) { + x = (fu(j | 0) | 0) + 33 - (fu(i | 0) | 0) | 0; + q = 64 - x | 0; + r = 32 - x | 0; + y = r >> 31; + z = x - 32 | 0; + A = z >> 31; + s = x; + t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; + u = A & i >>> (x >>> 0); + v = g << q & y; + w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; + break; + } + if ((f | 0) != 0) { + c[f >> 2] = p & g; + c[f + 4 >> 2] = 0; + } + if ((j | 0) == 1) { + n = h | b & 0; + o = a | 0 | 0; + return (H = n, o) | 0; + } else { + p = fv(j | 0) | 0; + n = i >>> (p >>> 0) | 0; + o = i << 32 - p | g >>> (p >>> 0) | 0; + return (H = n, o) | 0; + } + } + } while (0); + if ((s | 0) == 0) { + B = w; + C = v; + D = u; + E = t; + F = 0; + G = 0; + } else { + g = d | 0 | 0; + d = k | e & 0; + e = fp(g, d, -1, -1) | 0; + k = H; + i = w; + w = v; + v = u; + u = t; + t = s; + s = 0; + while (1) { + I = w >>> 31 | i << 1; + J = s | w << 1; + j = u << 1 | i >>> 31 | 0; + a = u >>> 31 | v << 1 | 0; + fq(e, k, j, a) | 0; + b = H; + h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + K = h & 1; + L = fq(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; + M = H; + b = t - 1 | 0; + if ((b | 0) == 0) { + break; + } else { + i = I; + w = J; + v = M; + u = L; + t = b; + s = K; + } + } + B = I; + C = J; + D = M; + E = L; + F = 0; + G = K; + } + K = C; + C = 0; + if ((f | 0) != 0) { + c[f >> 2] = E; + c[f + 4 >> 2] = D; + } + n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; + o = (K << 1 | 0 >>> 31) & -2 | G; + return (H = n, o) | 0; +} +function fD(a, b) { + a = a | 0; + b = b | 0; + a1[a & 15](b | 0); +} +function fE(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + a2[a & 15](b | 0, c | 0); +} +function fF(a, b) { + a = a | 0; + b = b | 0; + return a3[a & 7](b | 0) | 0; +} +function fG(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + a4[a & 15](b | 0, c | 0, d | 0); +} +function fH(a) { + a = a | 0; + a5[a & 1](); +} +function fI(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return a6[a & 1](b | 0, c | 0) | 0; +} +function fJ(a) { + a = a | 0; + ae(0); +} +function fK(a, b) { + a = a | 0; + b = b | 0; + ae(1); +} +function fL(a) { + a = a | 0; + ae(2); + return 0; +} +function fM(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + ae(3); +} +function fN() { + ae(4); +} +function fO(a, b) { + a = a | 0; + b = b | 0; + ae(5); + return 0; +} +// EMSCRIPTEN_END_FUNCS + var a1 = [ fJ, fJ, eV, fJ, e$, fJ, eQ, fJ, eU, fJ, e_, fJ, fJ, fJ, fJ, fJ ]; + var a2 = [ fK, fK, e8, fK, fa, fK, e9, fK, fb, fK, fK, fK, fK, fK, fK, fK ]; + var a3 = [ fL, fL, eR, fL, eS, fL, fL, fL ]; + var a4 = [ fM, fM, fl, fM, fk, fM, fi, fM, fj, fM, fM, fM, fM, fM, fM, fM ]; + var a5 = [ fN, fN ]; + var a6 = [ fO, fO ]; + return { + _strlen: fo, + _crypto_auth_hmacsha256: bw, + _crypto_sign_edwards25519sha512batch: dQ, + _crypto_core_salsa208: bP, + _crypto_box_curve25519xsalsa20poly1305_afternm: bA, + _crypto_secretbox_xsalsa20poly1305: ci, + _crypto_stream_salsa20_xor: ef, + _crypto_stream_aes128ctr_xor_afternm: ec, + _crypto_sign_edwards25519sha512batch_keypair: dP, + _crypto_hashblocks_sha512: bV, + _crypto_hashblocks_sha256: bS, + _crypto_scalarmult_curve25519_base: b2, + _realloc: eq, + _crypto_sign_ed25519_open: cn, + _crypto_sign_keypair_from_raw_sk: bu, + _calloc: ep, + _crypto_box_curve25519xsalsa20poly1305_keypair: bF, + _crypto_stream_salsa2012_xor: eh, + _memset: fm, + _crypto_stream_salsa20: ee, + _memcpy: fn, + _crypto_onetimeauth_poly1305: b_, + _crypto_sign_ed25519_keypair: ck, + _crypto_auth_hmacsha512256: by, + _crypto_sign_ed25519: cl, + _crypto_box_curve25519xsalsa20poly1305_open: bE, + _crypto_stream_aes128ctr_beforenm: dT, + _crypto_stream_salsa208: ei, + _crypto_stream_xsalsa20: ek, + _crypto_scalarmult_curve25519: b3, + _crypto_box_curve25519xsalsa20poly1305: bD, + _crypto_onetimeauth_poly1305_verify: b1, + _crypto_hash_sha512: bR, + _crypto_secretbox_xsalsa20poly1305_open: cj, + _crypto_sign_edwards25519sha512batch_open: dR, + _crypto_hash_sha256: bQ, + _crypto_auth_hmacsha256_verify: bx, + _crypto_verify_32: em, + _crypto_auth_hmacsha512256_verify: bz, + _free: eo, + _crypto_box_curve25519xsalsa20poly1305_beforenm: bC, + _crypto_stream_aes128ctr: ea, + _crypto_core_salsa2012: bO, + _crypto_verify_16: ed, + _crypto_core_salsa20: bH, + _crypto_stream_salsa208_xor: ej, + _malloc: en, + _crypto_stream_aes128ctr_xor: eb, + _crypto_box_curve25519xsalsa20poly1305_open_afternm: bB, + _crypto_stream_xsalsa20_xor: el, + _crypto_stream_aes128ctr_afternm: dS, + _crypto_stream_salsa2012: eg, + _crypto_core_hsalsa20: bG, + runPostSets: bn, + stackAlloc: a7, + stackSave: a8, + stackRestore: a9, + setThrew: ba, + setTempRet0: bd, + setTempRet1: be, + setTempRet2: bf, + setTempRet3: bg, + setTempRet4: bh, + setTempRet5: bi, + setTempRet6: bj, + setTempRet7: bk, + setTempRet8: bl, + setTempRet9: bm, + dynCall_vi: fD, + dynCall_vii: fE, + dynCall_ii: fF, + dynCall_viii: fG, + dynCall_v: fH, + dynCall_iii: fI + }; +// EMSCRIPTEN_END_ASM +})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:v, asmPrintInt:function(a, b) { + r.print("int " + a + "," + b) +}, asmPrintFloat:function(a, b) { + r.print("float " + a + "," + b) +}, min:Zc, invoke_vi:function(a, b) { + try { + r.dynCall_vi(a, b) + }catch(c) { + "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) + } +}, invoke_vii:function(a, b, c) { + try { + r.dynCall_vii(a, b, c) + }catch(d) { + "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) + } +}, invoke_ii:function(a, b) { + try { + return r.dynCall_ii(a, b) + }catch(c) { + "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) + } +}, invoke_viii:function(a, b, c, d) { + try { + r.dynCall_viii(a, b, c, d) + }catch(f) { + "number" !== typeof f && "longjmp" !== f && e(f), V.setThrew(1, 0) + } +}, invoke_v:function(a) { + try { + r.dynCall_v(a) + }catch(b) { + "number" !== typeof b && "longjmp" !== b && e(b), V.setThrew(1, 0) + } +}, invoke_iii:function(a, b, c) { + try { + return r.dynCall_iii(a, b, c) + }catch(d) { + "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) + } +}, _strncmp:function(a, b, c) { + for(var d = 0;d < c;) { + var f = G[a + d | 0], g = G[b + d | 0]; + if(f == g && 0 == f) { + break + } + if(0 == f) { + return-1 + } + if(0 == g) { + return 1 + } + if(f == g) { + d++ + }else { + return f > g ? 1 : -1 + } + } + return 0 +}, _llvm_va_end:aa(), _sysconf:function(a) { + switch(a) { + case 8: + return 4096; + case 54: + ; + case 56: + ; + case 21: + ; + case 61: + ; + case 63: + ; + case 22: + ; + case 67: + ; + case 23: + ; + case 24: + ; + case 25: + ; + case 26: + ; + case 27: + ; + case 69: + ; + case 28: + ; + case 101: + ; + case 70: + ; + case 71: + ; + case 29: + ; + case 30: + ; + case 199: + ; + case 75: + ; + case 76: + ; + case 32: + ; + case 43: + ; + case 44: + ; + case 80: + ; + case 46: + ; + case 47: + ; + case 45: + ; + case 48: + ; + case 49: + ; + case 42: + ; + case 82: + ; + case 33: + ; + case 7: + ; + case 108: + ; + case 109: + ; + case 107: + ; + case 112: + ; + case 119: + ; + case 121: + return 200809; + case 13: + ; + case 104: + ; + case 94: + ; + case 95: + ; + case 34: + ; + case 35: + ; + case 77: + ; + case 81: + ; + case 83: + ; + case 84: + ; + case 85: + ; + case 86: + ; + case 87: + ; + case 88: + ; + case 89: + ; + case 90: + ; + case 91: + ; + case 94: + ; + case 95: + ; + case 110: + ; + case 111: + ; + case 113: + ; + case 114: + ; + case 115: + ; + case 116: + ; + case 117: + ; + case 118: + ; + case 120: + ; + case 40: + ; + case 16: + ; + case 79: + ; + case 19: + return-1; + case 92: + ; + case 93: + ; + case 5: + ; + case 72: + ; + case 6: + ; + case 74: + ; + case 92: + ; + case 93: + ; + case 96: + ; + case 97: + ; + case 98: + ; + case 99: + ; + case 102: + ; + case 103: + ; + case 105: + return 1; + case 38: + ; + case 66: + ; + case 50: + ; + case 51: + ; + case 4: + return 1024; + case 15: + ; + case 64: + ; + case 41: + return 32; + case 55: + ; + case 37: + ; + case 17: + return 2147483647; + case 18: + ; + case 1: + return 47839; + case 59: + ; + case 57: + return 99; + case 68: + ; + case 58: + return 2048; + case 0: + return 2097152; + case 3: + return 65536; + case 14: + return 32768; + case 73: + return 32767; + case 39: + return 16384; + case 60: + return 1E3; + case 106: + return 700; + case 52: + return 256; + case 62: + return 255; + case 2: + return 100; + case 65: + return 64; + case 36: + return 20; + case 100: + return 16; + case 20: + return 6; + case 53: + return 4; + case 10: + return 1 + } + M(N.A); + return-1 +}, ___cxa_throw:tc, _randombytes:ub, _strerror:Bc, _abort:function() { + r.abort() +}, _fprintf:oc, _llvm_eh_exception:U, ___cxa_free_exception:uc, _fflush:aa(), ___buildEnvironment:yc, __reallyNegative:lc, _strchr:function(a, b) { + a--; + do { + a++; + var c = A[a]; + if(c == b) { + return a + } + }while(c); + return 0 +}, _fputc:Dc, ___setErrNo:M, _fwrite:jc, _send:hc, _write:ic, _exit:function(a) { + Cc(a) +}, ___cxa_find_matching_catch:function(a, b) { + -1 == a && (a = B[U.m >> 2]); + -1 == b && (b = B[U.m + 4 >> 2]); + var c = Array.prototype.slice.call(arguments, 2); + 0 != b && !rc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); + for(var d = 0;d < c.length;d++) { + if(sc(c[d], b, a)) { + return(V.setTempRet0(c[d]), a) | 0 + } + } + return(V.setTempRet0(b), a) | 0 +}, ___cxa_allocate_exception:function(a) { + return Oa(a) +}, _isspace:function(a) { + return 32 == a || 9 <= a && 13 >= a +}, ___cxa_is_number_type:rc, ___resumeException:function(a) { + 0 == B[U.m >> 2] && (B[U.m >> 2] = a); + e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") +}, __formatString:mc, ___cxa_does_inherit:sc, _getenv:zc, _vfprintf:function(a, b, c) { + return oc(a, b, B[c >> 2]) +}, ___cxa_begin_catch:function(a) { + qc.ta--; + return a +}, __ZSt18uncaught_exceptionv:qc, _pwrite:function(a, b, c, d) { + a = R[a]; + if(!a) { + return M(N.$), -1 + } + try { + return Kb(a, A, b, c, d) + }catch(f) { + return ac(f), -1 + } +}, ___cxa_call_unexpected:function(a) { + r.P("Unexpected exception thrown, this is not properly supported - aborting"); + za = l; + e(a) +}, _sbrk:pc, _strerror_r:Ac, ___errno_location:function() { + return vb +}, ___gxx_personality_v0:aa(), _time:function(a) { + var b = Math.floor(Date.now() / 1E3); + a && (B[a >> 2] = b); + return b +}, __exit:Cc, ___cxa_end_catch:wc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Yc, ctlz_i8:Xc, NaN:NaN, Infinity:Infinity, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, _stderr:nb, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I), kc = r._strlen = V._strlen; +r._crypto_auth_hmacsha256 = V._crypto_auth_hmacsha256; +r._crypto_sign_edwards25519sha512batch = V._crypto_sign_edwards25519sha512batch; +r._crypto_core_salsa208 = V._crypto_core_salsa208; +r._crypto_box_curve25519xsalsa20poly1305_afternm = V._crypto_box_curve25519xsalsa20poly1305_afternm; +r._crypto_secretbox_xsalsa20poly1305 = V._crypto_secretbox_xsalsa20poly1305; +r._crypto_stream_salsa20_xor = V._crypto_stream_salsa20_xor; +r._crypto_stream_aes128ctr_xor_afternm = V._crypto_stream_aes128ctr_xor_afternm; +r._crypto_sign_edwards25519sha512batch_keypair = V._crypto_sign_edwards25519sha512batch_keypair; +r._crypto_hashblocks_sha512 = V._crypto_hashblocks_sha512; +r._crypto_hashblocks_sha256 = V._crypto_hashblocks_sha256; +r._crypto_scalarmult_curve25519_base = V._crypto_scalarmult_curve25519_base; +r._realloc = V._realloc; +r._crypto_sign_ed25519_open = V._crypto_sign_ed25519_open; +r._crypto_sign_keypair_from_raw_sk = V._crypto_sign_keypair_from_raw_sk; +r._calloc = V._calloc; +r._crypto_box_curve25519xsalsa20poly1305_keypair = V._crypto_box_curve25519xsalsa20poly1305_keypair; +r._crypto_stream_salsa2012_xor = V._crypto_stream_salsa2012_xor; +var rb = r._memset = V._memset; +r._crypto_stream_salsa20 = V._crypto_stream_salsa20; +var sb = r._memcpy = V._memcpy; +r._crypto_onetimeauth_poly1305 = V._crypto_onetimeauth_poly1305; +r._crypto_sign_ed25519_keypair = V._crypto_sign_ed25519_keypair; +r._crypto_auth_hmacsha512256 = V._crypto_auth_hmacsha512256; +r._crypto_sign_ed25519 = V._crypto_sign_ed25519; +r._crypto_box_curve25519xsalsa20poly1305_open = V._crypto_box_curve25519xsalsa20poly1305_open; +r._crypto_stream_aes128ctr_beforenm = V._crypto_stream_aes128ctr_beforenm; +r._crypto_stream_salsa208 = V._crypto_stream_salsa208; +r._crypto_stream_xsalsa20 = V._crypto_stream_xsalsa20; +r._crypto_scalarmult_curve25519 = V._crypto_scalarmult_curve25519; +r._crypto_box_curve25519xsalsa20poly1305 = V._crypto_box_curve25519xsalsa20poly1305; +r._crypto_onetimeauth_poly1305_verify = V._crypto_onetimeauth_poly1305_verify; +r._crypto_hash_sha512 = V._crypto_hash_sha512; +r._crypto_secretbox_xsalsa20poly1305_open = V._crypto_secretbox_xsalsa20poly1305_open; +r._crypto_sign_edwards25519sha512batch_open = V._crypto_sign_edwards25519sha512batch_open; +r._crypto_hash_sha256 = V._crypto_hash_sha256; +r._crypto_auth_hmacsha256_verify = V._crypto_auth_hmacsha256_verify; +r._crypto_verify_32 = V._crypto_verify_32; +r._crypto_auth_hmacsha512256_verify = V._crypto_auth_hmacsha512256_verify; +var vc = r._free = V._free; +r._crypto_box_curve25519xsalsa20poly1305_beforenm = V._crypto_box_curve25519xsalsa20poly1305_beforenm; +r._crypto_stream_aes128ctr = V._crypto_stream_aes128ctr; +r._crypto_core_salsa2012 = V._crypto_core_salsa2012; +r._crypto_verify_16 = V._crypto_verify_16; +r._crypto_core_salsa20 = V._crypto_core_salsa20; +r._crypto_stream_salsa208_xor = V._crypto_stream_salsa208_xor; +var Oa = r._malloc = V._malloc; +r._crypto_stream_aes128ctr_xor = V._crypto_stream_aes128ctr_xor; +r._crypto_box_curve25519xsalsa20poly1305_open_afternm = V._crypto_box_curve25519xsalsa20poly1305_open_afternm; +r._crypto_stream_xsalsa20_xor = V._crypto_stream_xsalsa20_xor; +r._crypto_stream_aes128ctr_afternm = V._crypto_stream_aes128ctr_afternm; +r._crypto_stream_salsa2012 = V._crypto_stream_salsa2012; +r._crypto_core_hsalsa20 = V._crypto_core_hsalsa20; +var mb = r.runPostSets = V.runPostSets; +r.dynCall_vi = V.dynCall_vi; +r.dynCall_vii = V.dynCall_vii; +r.dynCall_ii = V.dynCall_ii; +r.dynCall_viii = V.dynCall_viii; +r.dynCall_v = V.dynCall_v; +r.dynCall_iii = V.dynCall_iii; +var qa = function(a) { + return V.stackAlloc(a) +}, ja = function() { + return V.stackSave() +}, ka = function(a) { + V.stackRestore(a) +}, nc; +function X(a, b) { + a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) +} +function $c() { + return new X(m) +} +function ad(a, b) { + var c = bd[a.charCodeAt(b)]; + return c == m ? -1 : c +} +function cd(a) { + var b = $c(); + b.D(a); + return b +} +function Y(a, b) { + this.h = a | 0; + this.j = b | 0 +} +Y.Ca = {}; +Y.D = function(a) { + if(-128 <= a && 128 > a) { + var b = Y.Ca[a]; + if(b) { + return b + } + } + b = new Y(a | 0, 0 > a ? -1 : 0); + -128 <= a && 128 > a && (Y.Ca[a] = b); + return b +}; +Y.p = function(a) { + return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) +}; +Y.v = function(a, b) { + return new Y(a, b) +}; +Y.k = function(a, b) { + 0 == a.length && e(Error("number format error: empty string")); + var c = b || 10; + (2 > c || 36 < c) && e(Error("radix out of range: " + c)); + if("-" == a.charAt(0)) { + return Y.k(a.substring(1), c).i() + } + 0 <= a.indexOf("-") && e(Error('number format error: interior "-" character: ' + a)); + for(var d = Y.p(Math.pow(c, 8)), f = Y.ZERO, g = 0;g < a.length;g += 8) { + var h = Math.min(8, a.length - g), i = parseInt(a.substring(g, g + h), c); + 8 > h ? (h = Y.p(Math.pow(c, h)), f = f.multiply(h).add(Y.p(i))) : (f = f.multiply(d), f = f.add(Y.p(i))) + } + return f +}; +Y.ea = 65536; +Y.Od = 16777216; +Y.B = Y.ea * Y.ea; +Y.Pd = Y.B / 2; +Y.Qd = Y.B * Y.ea; +Y.eb = Y.B * Y.B; +Y.Ea = Y.eb / 2; +Y.ZERO = Y.D(0); +Y.ONE = Y.D(1); +Y.Da = Y.D(-1); +Y.MAX_VALUE = Y.v(-1, 2147483647); +Y.MIN_VALUE = Y.v(0, -2147483648); +Y.cb = Y.D(16777216); +q = Y.prototype; +q.Z = function() { + return this.j * Y.B + this.ob() +}; +q.toString = function(a) { + a = a || 10; + (2 > a || 36 < a) && e(Error("radix out of range: " + a)); + if(this.G()) { + return"0" + } + if(this.n()) { + if(this.o(Y.MIN_VALUE)) { + var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); + return c.toString(a) + b.h.toString(a) + } + return"-" + this.i().toString(a) + } + for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { + var f = b.F(c), g = b.R(f.multiply(c)).h.toString(a), b = f; + if(b.G()) { + return g + d + } + for(;6 > g.length;) { + g = "0" + g + } + d = "" + g + d + } +}; +q.ob = function() { + return 0 <= this.h ? this.h : Y.B + this.h +}; +q.G = function() { + return 0 == this.j && 0 == this.h +}; +q.n = function() { + return 0 > this.j +}; +q.Pa = function() { + return 1 == (this.h & 1) +}; +q.o = function(a) { + return this.j == a.j && this.h == a.h +}; +q.Ra = function() { + return 0 > this.ja(Y.cb) +}; +q.qb = function(a) { + return 0 < this.ja(a) +}; +q.rb = function(a) { + return 0 <= this.ja(a) +}; +q.ja = function(a) { + if(this.o(a)) { + return 0 + } + var b = this.n(), c = a.n(); + return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 +}; +q.i = function() { + return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) +}; +q.add = function(a) { + var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = a.j >>> 16, g = a.j & 65535, h = a.h >>> 16, i; + i = 0 + ((this.h & 65535) + (a.h & 65535)); + a = 0 + (i >>> 16); + a += d + h; + d = 0 + (a >>> 16); + d += c + g; + c = 0 + (d >>> 16); + c = c + (b + f) & 65535; + return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) +}; +q.R = function(a) { + return this.add(a.i()) +}; +q.multiply = function(a) { + if(this.G() || a.G()) { + return Y.ZERO + } + if(this.o(Y.MIN_VALUE)) { + return a.Pa() ? Y.MIN_VALUE : Y.ZERO + } + if(a.o(Y.MIN_VALUE)) { + return this.Pa() ? Y.MIN_VALUE : Y.ZERO + } + if(this.n()) { + return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() + } + if(a.n()) { + return this.multiply(a.i()).i() + } + if(this.Ra() && a.Ra()) { + return Y.p(this.Z() * a.Z()) + } + var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = this.h & 65535, g = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, p, z, w; + w = 0 + f * a; + z = 0 + (w >>> 16); + z += d * a; + p = 0 + (z >>> 16); + z = (z & 65535) + f * i; + p += z >>> 16; + z &= 65535; + p += c * a; + j = 0 + (p >>> 16); + p = (p & 65535) + d * i; + j += p >>> 16; + p &= 65535; + p += f * h; + j += p >>> 16; + p &= 65535; + j = j + (b * a + c * i + d * h + f * g) & 65535; + return Y.v(z << 16 | w & 65535, j << 16 | p) +}; +q.F = function(a) { + a.G() && e(Error("division by zero")); + if(this.G()) { + return Y.ZERO + } + if(this.o(Y.MIN_VALUE)) { + if(a.o(Y.ONE) || a.o(Y.Da)) { + return Y.MIN_VALUE + } + if(a.o(Y.MIN_VALUE)) { + return Y.ONE + } + var b = this.Db().F(a).shiftLeft(1); + if(b.o(Y.ZERO)) { + return a.n() ? Y.ONE : Y.Da + } + var c = this.R(a.multiply(b)); + return b.add(c.F(a)) + } + if(a.o(Y.MIN_VALUE)) { + return Y.ZERO + } + if(this.n()) { + return a.n() ? this.i().F(a.i()) : this.i().F(a).i() + } + if(a.n()) { + return this.F(a.i()).i() + } + for(var d = Y.ZERO, c = this;c.rb(a);) { + for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), f = Math.ceil(Math.log(b) / Math.LN2), f = 48 >= f ? 1 : Math.pow(2, f - 48), g = Y.p(b), h = g.multiply(a);h.n() || h.qb(c);) { + b -= f, g = Y.p(b), h = g.multiply(a) + } + g.G() && (g = Y.ONE); + d = d.add(g); + c = c.R(h) + } + return d +}; +q.xb = function() { + return Y.v(~this.h, ~this.j) +}; +q.shiftLeft = function(a) { + a &= 63; + if(0 == a) { + return this + } + var b = this.h; + return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) +}; +q.Db = function() { + var a; + a = 1; + if(0 == a) { + return this + } + var b = this.j; + return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) +}; +q = X.prototype; +q.ga = function(a, b, c, d) { + for(var f = 0, g = 0;0 <= --d;) { + var h = a * this[f++] + b[c] + g, g = Math.floor(h / 67108864); + b[c++] = h & 67108863 + } + return g +}; +q.f = 26; +q.u = 67108863; +q.K = 67108864; +q.bb = Math.pow(2, 52); +q.Aa = 26; +q.Ba = 0; +var bd = [], dd, Z; +dd = 48; +for(Z = 0;9 >= Z;++Z) { + bd[dd++] = Z +} +dd = 97; +for(Z = 10;36 > Z;++Z) { + bd[dd++] = Z +} +dd = 65; +for(Z = 10;36 > Z;++Z) { + bd[dd++] = Z +} +q = X.prototype; +q.copyTo = function(a) { + for(var b = this.b - 1;0 <= b;--b) { + a[b] = this[b] + } + a.b = this.b; + a.c = this.c +}; +q.D = function(a) { + this.b = 1; + this.c = 0 > a ? -1 : 0; + 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 +}; +q.k = function(a, b) { + var c; + if(16 == b) { + c = 4 + }else { + if(8 == b) { + c = 3 + }else { + if(256 == b) { + c = 8 + }else { + if(2 == b) { + c = 1 + }else { + if(32 == b) { + c = 5 + }else { + if(4 == b) { + c = 2 + }else { + this.nb(a, b); + return + } + } + } + } + } + } + this.c = this.b = 0; + for(var d = a.length, f = n, g = 0;0 <= --d;) { + var h = 8 == c ? a[d] & 255 : ad(a, d); + 0 > h ? "-" == a.charAt(d) && (f = l) : (f = n, 0 == g ? this[this.b++] = h : g + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - g) - 1) << g, this[this.b++] = h >> this.f - g) : this[this.b - 1] |= h << g, g += c, g >= this.f && (g -= this.f)) + } + 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < g && (this[this.b - 1] |= (1 << this.f - g) - 1 << g)); + this.C(); + f && X.ZERO.t(this, this) +}; +q.C = function() { + for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { + --this.b + } +}; +q.la = function(a, b) { + var c; + for(c = this.b - 1;0 <= c;--c) { + b[c + a] = this[c] + } + for(c = a - 1;0 <= c;--c) { + b[c] = 0 + } + b.b = this.b + a; + b.c = this.c +}; +q.jb = function(a, b) { + for(var c = a;c < this.b;++c) { + b[c - a] = this[c] + } + b.b = Math.max(this.b - a, 0); + b.c = this.c +}; +q.Qa = function(a, b) { + var c = a % this.f, d = this.f - c, f = (1 << d) - 1, g = Math.floor(a / this.f), h = this.c << c & this.u, i; + for(i = this.b - 1;0 <= i;--i) { + b[i + g + 1] = this[i] >> d | h, h = (this[i] & f) << c + } + for(i = g - 1;0 <= i;--i) { + b[i] = 0 + } + b[g] = h; + b.b = this.b + g + 1; + b.c = this.c; + b.C() +}; +q.zb = function(a, b) { + b.c = this.c; + var c = Math.floor(a / this.f); + if(c >= this.b) { + b.b = 0 + }else { + var d = a % this.f, f = this.f - d, g = (1 << d) - 1; + b[0] = this[c] >> d; + for(var h = c + 1;h < this.b;++h) { + b[h - c - 1] |= (this[h] & g) << f, b[h - c] = this[h] >> d + } + 0 < d && (b[this.b - c - 1] |= (this.c & g) << f); + b.b = this.b - c; + b.C() + } +}; +q.t = function(a, b) { + for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { + d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f + } + if(a.b < this.b) { + for(d -= a.c;c < this.b;) { + d += this[c], b[c++] = d & this.u, d >>= this.f + } + d += this.c + }else { + for(d += this.c;c < a.b;) { + d -= a[c], b[c++] = d & this.u, d >>= this.f + } + d -= a.c + } + b.c = 0 > d ? -1 : 0; + -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); + b.b = c; + b.C() +}; +q.vb = function(a) { + var b = $.Xa, c = this.abs(), d = b.abs(), f = c.b; + for(a.b = f + d.b;0 <= --f;) { + a[f] = 0 + } + for(f = 0;f < d.b;++f) { + a[f + c.b] = c.ga(d[f], a, f, c.b) + } + a.c = 0; + a.C(); + this.c != b.c && X.ZERO.t(a, a) +}; +q.Ja = function(a, b, c) { + var d = a.abs(); + if(!(0 >= d.b)) { + var f = this.abs(); + if(f.b < d.b) { + b != m && b.D(0), c != m && this.copyTo(c) + }else { + c == m && (c = $c()); + var g = $c(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, p; + if(0 != (p = i >>> 16)) { + i = p, j += 16 + } + if(0 != (p = i >> 8)) { + i = p, j += 8 + } + if(0 != (p = i >> 4)) { + i = p, j += 4 + } + if(0 != (p = i >> 2)) { + i = p, j += 2 + } + 0 != i >> 1 && (j += 1); + i = this.f - j; + 0 < i ? (d.Qa(i, g), f.Qa(i, c)) : (d.copyTo(g), f.copyTo(c)); + d = g.b; + f = g[d - 1]; + if(0 != f) { + p = f * (1 << this.Aa) + (1 < d ? g[d - 2] >> this.Ba : 0); + j = this.bb / p; + p = (1 << this.Aa) / p; + var z = 1 << this.Ba, w = c.b, C = w - d, D = b == m ? $c() : b; + g.la(C, D); + 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); + X.ONE.la(d, D); + for(D.t(g, g);g.b < d;) { + g[g.b++] = 0 + } + for(;0 <= --C;) { + var L = c[--w] == f ? this.u : Math.floor(c[w] * j + (c[w - 1] + z) * p); + if((c[w] += g.ga(L, c, C, d)) < L) { + g.la(C, D); + for(c.t(D, c);c[w] < --L;) { + c.t(D, c) + } + } + } + b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); + c.b = d; + c.C(); + 0 < i && c.zb(i, c); + 0 > h && X.ZERO.t(c, c) + } + } + } +}; +q.toString = function(a) { + if(0 > this.c) { + return"-" + this.i().toString(a) + } + if(16 == a) { + a = 4 + }else { + if(8 == a) { + a = 3 + }else { + if(2 == a) { + a = 1 + }else { + if(32 == a) { + a = 5 + }else { + if(4 == a) { + a = 2 + }else { + return this.Fb(a) + } + } + } + } + } + var b = (1 << a) - 1, c, d = n, f = "", g = this.b, h = this.f - g * this.f % a; + if(0 < g--) { + if(h < this.f && 0 < (c = this[g] >> h)) { + d = l, f = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) + } + for(;0 <= g;) { + h < a ? (c = (this[g] & (1 << h) - 1) << a - h, c |= this[--g] >> (h += this.f - a)) : (c = this[g] >> (h -= a) & b, 0 >= h && (h += this.f, --g)), 0 < c && (d = l), d && (f += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) + } + } + return d ? f : "0" +}; +q.i = function() { + var a = $c(); + X.ZERO.t(this, a); + return a +}; +q.abs = function() { + return 0 > this.c ? this.i() : this +}; +q.U = function(a) { + var b = this.c - a.c; + if(0 != b) { + return b + } + var c = this.b, b = c - a.b; + if(0 != b) { + return 0 > this.c ? -b : b + } + for(;0 <= --c;) { + if(0 != (b = this[c] - a[c])) { + return b + } + } + return 0 +}; +X.ZERO = cd(0); +X.ONE = cd(1); +q = X.prototype; +q.nb = function(a, b) { + this.D(0); + b == m && (b = 10); + for(var c = this.S(b), d = Math.pow(b, c), f = n, g = 0, h = 0, i = 0;i < a.length;++i) { + var j = ad(a, i); + 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (f = l) : (h = b * h + j, ++g >= c && (this.Ia(d), this.Ha(h), h = g = 0)) + } + 0 < g && (this.Ia(Math.pow(b, g)), this.Ha(h)); + f && X.ZERO.t(this, this) +}; +q.S = function(a) { + return Math.floor(Math.LN2 * this.f / Math.log(a)) +}; +q.ra = function() { + return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 +}; +q.Ia = function(a) { + this[this.b] = this.ga(a - 1, this, 0, this.b); + ++this.b; + this.C() +}; +q.Ha = function(a) { + var b = 0; + if(0 != a) { + for(;this.b <= b;) { + this[this.b++] = 0 + } + for(this[b] += a;this[b] >= this.K;) { + this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] + } + } +}; +q.Fb = function(a) { + a == m && (a = 10); + if(0 == this.ra() || 2 > a || 36 < a) { + return"0" + } + var b = this.S(a), b = Math.pow(a, b), c = cd(b), d = $c(), f = $c(), g = ""; + for(this.Ja(c, d, f);0 < d.ra();) { + g = (b + f.Oa()).toString(a).substr(1) + g, d.Ja(c, d, f) + } + return f.Oa().toString(a) + g +}; +q.Oa = function() { + if(0 > this.c) { + if(1 == this.b) { + return this[0] - this.K + } + if(0 == this.b) { + return-1 + } + }else { + if(1 == this.b) { + return this[0] + } + if(0 == this.b) { + return 0 + } + } + return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] +}; +q.fa = function(a, b) { + for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { + d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f + } + if(a.b < this.b) { + for(d += a.c;c < this.b;) { + d += this[c], b[c++] = d & this.u, d >>= this.f + } + d += this.c + }else { + for(d += this.c;c < a.b;) { + d += a[c], b[c++] = d & this.u, d >>= this.f + } + d += a.c + } + b.c = 0 > d ? -1 : 0; + 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); + b.b = c; + b.C() +}; +var $ = {abs:function(a, b) { + var c = new Y(a, b), c = c.n() ? c.i() : c; + B[qb >> 2] = c.h; + B[qb + 4 >> 2] = c.j +}, Ka:function() { + $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) +}, me:function(a, b) { + var c = new X; + c.k(b.toString(), 10); + var d = new X; + c.vb(d); + c = new X; + c.k(a.toString(), 10); + var f = new X; + c.fa(d, f); + return f +}, stringify:function(a, b, c) { + a = (new Y(a, b)).toString(); + c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); + return a +}, k:function(a, b, c, d, f) { + $.Ka(); + var g = new X; + g.k(a, b); + a = new X; + a.k(c, 10); + c = new X; + c.k(d, 10); + f && 0 > g.U(X.ZERO) && (d = new X, g.fa($.sa, d), g = d); + d = n; + 0 > g.U(a) ? (g = a, d = l) : 0 < g.U(c) && (g = c, d = l); + g = Y.k(g.toString()); + B[qb >> 2] = g.h; + B[qb + 4 >> 2] = g.j; + d && e("range error") +}}; +nc = $; +var ed, fd; +r.callMain = r.$d = function(a) { + function b() { + for(var a = 0;3 > a;a++) { + d.push(0) + } + } + v(0 == K, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); + v(0 == Wa.length, "cannot call main when preRun functions remain to be called"); + a = a || []; + ab || (ab = l, Va(Xa)); + var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; + b(); + for(var f = 0;f < c - 1;f += 1) { + d.push(F(J(a[f]), "i8", Ka)), b() + } + d.push(0); + d = F(d, "i32", Ka); + ed = u; + fd = l; + var g; + try { + g = r._main(c, d, 0) + }catch(h) { + if(h && "object" == typeof h && "ExitStatus" == h.type) { + return r.print("Exit Status: " + h.value), h.value + } + "SimulateInfiniteLoop" == h ? r.noExitRuntime = l : e(h) + }finally { + fd = n + } + r.noExitRuntime || gd(g) +}; +function lb(a) { + function b() { + ab || (ab = l, Va(Xa)); + Va(Ya); + gb = l; + r._main && kb && r.callMain(a); + if(r.postRun) { + for("function" == typeof r.postRun && (r.postRun = [r.postRun]);r.postRun.length;) { + cb(r.postRun.shift()) + } + } + Va($a) + } + a = a || r.arguments; + if(0 < K) { + r.P("run() called, but dependencies remain, so not running") + }else { + if(r.preRun) { + for("function" == typeof r.preRun && (r.preRun = [r.preRun]);r.preRun.length;) { + bb(r.preRun.shift()) + } + } + Va(Wa); + 0 < K || (r.setStatus ? (r.setStatus("Running..."), setTimeout(function() { + setTimeout(function() { + r.setStatus("") + }, 1); + za || b() + }, 1)) : b()) + } +} +r.run = r.we = lb; +function gd(a) { + za = l; + u = ed; + Va(Za); + fd && e({type:"ExitStatus", value:a}) +} +r.exit = r.de = gd; +function wa(a) { + a && r.print(a); + za = l; + e("abort() at " + Error().stack) +} +r.abort = r.abort = wa; +if(r.preInit) { + for("function" == typeof r.preInit && (r.preInit = [r.preInit]);0 < r.preInit.length;) { + r.preInit.pop()() + } +} +var kb = l; +r.noInitialRun && (kb = n); +lb(); +r._crypto_auth_hmacsha256_BYTES = 32; +r._crypto_core_salsa2012_INPUTBYTES = 16; +r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES = 32; +r._crypto_core_salsa20_KEYBYTES = 32; +r._crypto_core_hsalsa20_OUTPUTBYTES = 32; +r._crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES = 32; +r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES = 32; +r._crypto_stream_salsa2012_NONCEBYTES = 8; +r._crypto_scalarmult_curve25519_SCALARBYTES = 32; +r._crypto_sign_edwards25519sha512batch_BYTES = 64; +r._crypto_auth_hmacsha512256_BYTES = 32; +r._crypto_core_salsa208_INPUTBYTES = 16; +r._crypto_stream_xsalsa20_KEYBYTES = 32; +r._crypto_sign_ed25519_BYTES = 64; +r._crypto_stream_salsa2012_KEYBYTES = 32; +r._crypto_stream_salsa20_KEYBYTES = 32; +r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES = 16; +r._crypto_core_salsa20_INPUTBYTES = 16; +r._crypto_hashblocks_sha256_BLOCKBYTES = 64; +r._crypto_onetimeauth_poly1305_KEYBYTES = 32; +r._crypto_auth_hmacsha512256_KEYBYTES = 32; +r._crypto_hash_sha256_BYTES = 32; +r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES = 32; +r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES = 32; +r._crypto_sign_ed25519_SECRETKEYBYTES = 64; +r._crypto_stream_salsa208_NONCEBYTES = 8; +r._crypto_scalarmult_curve25519_BYTES = 32; +r._crypto_hashblocks_sha512_STATEBYTES = 64; +r._crypto_stream_salsa20_NONCEBYTES = 8; +r._crypto_sign_ed25519_PUBLICKEYBYTES = 32; +r._crypto_core_salsa208_OUTPUTBYTES = 64; +r._crypto_core_hsalsa20_INPUTBYTES = 16; +r._crypto_stream_aes128ctr_BEFORENMBYTES = 1408; +r._crypto_auth_hmacsha256_KEYBYTES = 32; +r._crypto_verify_32_BYTES = 32; +r._crypto_verify_16_BYTES = 16; +r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES = 24; +r._crypto_core_salsa2012_KEYBYTES = 32; +r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES = 16; +r._crypto_hashblocks_sha256_STATEBYTES = 32; +r._crypto_secretbox_xsalsa20poly1305_KEYBYTES = 32; +r._crypto_stream_xsalsa20_NONCEBYTES = 24; +r._crypto_onetimeauth_poly1305_BYTES = 16; +r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES = 32; +r._crypto_hash_sha512_BYTES = 64; +r._crypto_core_salsa20_CONSTBYTES = 16; +r._crypto_core_salsa2012_CONSTBYTES = 16; +r._crypto_core_salsa2012_OUTPUTBYTES = 64; +r._crypto_core_salsa20_OUTPUTBYTES = 64; +r._crypto_core_hsalsa20_CONSTBYTES = 16; +r._crypto_stream_salsa208_KEYBYTES = 32; +r._crypto_stream_aes128ctr_NONCEBYTES = 16; +r._crypto_core_salsa208_CONSTBYTES = 16; +r._crypto_stream_aes128ctr_KEYBYTES = 16; +r._crypto_core_hsalsa20_KEYBYTES = 32; +r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES = 24; +r._crypto_sign_edwards25519sha512batch_SECRETKEYBYTES = 64; +r._crypto_core_salsa208_KEYBYTES = 32; +r._crypto_hashblocks_sha512_BLOCKBYTES = 128; +r._crypto_hash_BYTES = r._crypto_hash_sha512_BYTES; +r._crypto_sign = r._crypto_sign_ed25519; +r._crypto_stream_xor_afternm = r._crypto_stream_xsalsa20_xor_afternm; +r._crypto_box_PUBLICKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; +r._crypto_box_SECRETKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; +r._crypto_box_open_afternm = r._crypto_box_curve25519xsalsa20poly1305_open_afternm; +r._crypto_sign_SECRETKEYBYTES = r._crypto_sign_ed25519_SECRETKEYBYTES; +r._crypto_box_beforenm = r._crypto_box_curve25519xsalsa20poly1305_beforenm; +r._crypto_secretbox = r._crypto_secretbox_xsalsa20poly1305; +r._crypto_hash = r._crypto_hash_sha512; +r._crypto_sign_PUBLICKEYBYTES = r._crypto_sign_ed25519_PUBLICKEYBYTES; +r._crypto_stream_xor = r._crypto_stream_xsalsa20_xor; +r._crypto_box = r._crypto_box_curve25519xsalsa20poly1305; +r._crypto_secretbox_ZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES; +r._crypto_box_ZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; +r._crypto_secretbox_KEYBYTES = r._crypto_secretbox_xsalsa20poly1305_KEYBYTES; +r._crypto_stream_beforenm = r._crypto_stream_xsalsa20_beforenm; +r._crypto_onetimeauth_verify = r._crypto_onetimeauth_poly1305_verify; +r._crypto_box_BOXZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; +r._crypto_hashblocks = r._crypto_hashblocks_sha512; +r._crypto_stream = r._crypto_stream_xsalsa20; +r._crypto_onetimeauth_KEYBYTES = r._crypto_onetimeauth_poly1305_KEYBYTES; +r._crypto_box_afternm = r._crypto_box_curve25519xsalsa20poly1305_afternm; +r._crypto_secretbox_BOXZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; +r._crypto_hashblocks_BLOCKBYTES = r._crypto_hashblocks_sha512_BLOCKBYTES; +r._crypto_box_keypair = r._crypto_box_curve25519xsalsa20poly1305_keypair; +r._crypto_auth = r._crypto_auth_hmacsha512256; +r._crypto_box_BEFORENMBYTES = r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; +r._crypto_secretbox_NONCEBYTES = r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES; +r._crypto_stream_KEYBYTES = r._crypto_stream_xsalsa20_KEYBYTES; +r._crypto_box_NONCEBYTES = r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; +r._crypto_auth_verify = r._crypto_auth_hmacsha512256_verify; +r._crypto_secretbox_open = r._crypto_secretbox_xsalsa20poly1305_open; +r._crypto_sign_BYTES = r._crypto_sign_ed25519_BYTES; +r._crypto_hashblocks_STATEBYTES = r._crypto_hashblocks_sha512_STATEBYTES; +r._crypto_auth_BYTES = r._crypto_auth_hmacsha512256_BYTES; +r._crypto_stream_BEFORENMBYTES = r._crypto_stream_xsalsa20_BEFORENMBYTES; +r._crypto_auth_KEYBYTES = r._crypto_auth_hmacsha512256_KEYBYTES; +r._crypto_stream_afternm = r._crypto_stream_xsalsa20_afternm; +r._crypto_sign_keypair = r._crypto_sign_ed25519_keypair; +r._crypto_sign_open = r._crypto_sign_ed25519_open; +r._crypto_onetimeauth_BYTES = r._crypto_onetimeauth_poly1305_BYTES; +r._crypto_box_open = r._crypto_box_curve25519xsalsa20poly1305_open; +r._crypto_stream_NONCEBYTES = r._crypto_stream_xsalsa20_NONCEBYTES; +r._crypto_onetimeauth = r._crypto_onetimeauth_poly1305; +var nacl = (function () { + 'use strict'; + var exports = {}; + + //--------------------------------------------------------------------------- + // Horrifying UTF-8 and hex codecs + + function encode_utf8(s) { + return encode_latin1(unescape(encodeURIComponent(s))); + } + + function encode_latin1(s) { + var result = new Uint8Array(s.length); + for (var i = 0; i < s.length; i++) { + var c = s.charCodeAt(i); + if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; + result[i] = (c & 0xff); + } + return result; + } + + function decode_utf8(bs) { + return decodeURIComponent(escape(decode_latin1(bs))); + } + + function decode_latin1(bs) { + var encoded = []; + for (var i = 0; i < bs.length; i++) { + encoded.push(String.fromCharCode(bs[i])); + } + return encoded.join(''); + } + + function to_hex(bs) { + var encoded = []; + for (var i = 0; i < bs.length; i++) { + encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); + encoded.push("0123456789abcdef"[bs[i] & 15]); + } + return encoded.join(''); + } + + function from_hex(s) { + var result = new Uint8Array(s.length / 2); + for (var i = 0; i < s.length / 2; i++) { + result[i] = parseInt(s.substr(2*i,2),16); + } + return result; + } + + //--------------------------------------------------------------------------- + // Allocation + + function MALLOC(nbytes) { + var result = nacl_raw._malloc(nbytes); + if (result === 0) { + throw {message: "malloc() failed", nbytes: nbytes}; + } + return result; + } + + function FREE(pointer) { + nacl_raw._free(pointer); + } + + //--------------------------------------------------------------------------- + + function injectBytes(bs, leftPadding) { + var p = leftPadding || 0; + var address = MALLOC(bs.length + p); + nacl_raw.HEAPU8.set(bs, address + p); + for (var i = address; i < address + p; i++) { + nacl_raw.HEAPU8[i] = 0; + } + return address; + } + + function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { + check_length(function_name, what, thing, expected_length); + return injectBytes(thing, leftPadding); + } + + function extractBytes(address, length) { + var result = new Uint8Array(length); + result.set(nacl_raw.HEAPU8.subarray(address, address + length)); + return result; + } + + //--------------------------------------------------------------------------- + + function check(function_name, result) { + if (result !== 0) { + throw {message: "nacl_raw." + function_name + " signalled an error"}; + } + } + + function check_length(function_name, what, thing, expected_length) { + if (thing.length !== expected_length) { + throw {message: "nacl." + function_name + " expected " + + expected_length + "-byte " + what + " but got length " + thing.length}; + } + } + + function Target(length) { + this.length = length; + this.address = MALLOC(length); + } + + Target.prototype.extractBytes = function (offset) { + var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); + FREE(this.address); + this.address = null; + return result; + }; + + function free_all(addresses) { + for (var i = 0; i < addresses.length; i++) { + FREE(addresses[i]); + } + } + + //--------------------------------------------------------------------------- + // Boxing + + function crypto_box_keypair() { + var pk = new Target(nacl_raw._crypto_box_PUBLICKEYBYTES); + var sk = new Target(nacl_raw._crypto_box_SECRETKEYBYTES); + check("_crypto_box_keypair", nacl_raw._crypto_box_keypair(pk.address, sk.address)); + return {boxPk: pk.extractBytes(), boxSk: sk.extractBytes()}; + } + + function crypto_box_random_nonce() { + return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_box_NONCEBYTES); + } + + function crypto_box(msg, nonce, pk, sk) { + var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); + var na = check_injectBytes("crypto_box", "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); + var pka = check_injectBytes("crypto_box", "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); + var ska = check_injectBytes("crypto_box", "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); + var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); + check("_crypto_box", nacl_raw._crypto_box(c.address, m, c.length, 0, na, pka, ska)); + free_all([m, na, pka, ska]); + return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); + } + + function crypto_box_open(ciphertext, nonce, pk, sk) { + var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); + var na = check_injectBytes("crypto_box_open", + "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); + var pka = check_injectBytes("crypto_box_open", + "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); + var ska = check_injectBytes("crypto_box_open", + "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); + var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); + check("_crypto_box_open", nacl_raw._crypto_box_open(m.address, c, m.length, 0, na, pka, ska)); + free_all([c, na, pka, ska]); + return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); + } + + function crypto_box_precompute(pk, sk) { + var pka = check_injectBytes("crypto_box_precompute", + "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); + var ska = check_injectBytes("crypto_box_precompute", + "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); + var k = new Target(nacl_raw._crypto_box_BEFORENMBYTES); + check("_crypto_box_beforenm", + nacl_raw._crypto_box_beforenm(k.address, pka, ska)); + free_all([pka, ska]); + return {boxK: k.extractBytes()}; + } + + function crypto_box_precomputed(msg, nonce, state) { + var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); + var na = check_injectBytes("crypto_box_precomputed", + "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); + var ka = check_injectBytes("crypto_box_precomputed", + "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); + var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); + check("_crypto_box_afternm", + nacl_raw._crypto_box_afternm(c.address, m, c.length, 0, na, ka)); + free_all([m, na, ka]); + return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); + } + + function crypto_box_open_precomputed(ciphertext, nonce, state) { + var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); + var na = check_injectBytes("crypto_box_open_precomputed", + "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); + var ka = check_injectBytes("crypto_box_open_precomputed", + "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); + var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); + check("_crypto_box_open_afternm", + nacl_raw._crypto_box_open_afternm(m.address, c, m.length, 0, na, ka)); + free_all([c, na, ka]); + return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); + } + + //--------------------------------------------------------------------------- + // Hashing + + function crypto_hash(bs) { + var address = injectBytes(bs); + var hash = new Target(nacl_raw._crypto_hash_BYTES); + check("_crypto_hash", nacl_raw._crypto_hash(hash.address, address, bs.length, 0)); + FREE(address); + return hash.extractBytes(); + } + + function crypto_hash_sha256(bs) { + var address = injectBytes(bs); + var hash = new Target(nacl_raw._crypto_hash_sha256_BYTES); + check("_crypto_hash_sha256", + nacl_raw._crypto_hash_sha256(hash.address, address, bs.length, 0)); + FREE(address); + return hash.extractBytes(); + } + + function crypto_hash_string(s) { + return crypto_hash(encode_utf8(s)); + } + + //--------------------------------------------------------------------------- + // Symmetric-key encryption + + function crypto_stream_random_nonce() { + return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_stream_NONCEBYTES); + } + + function crypto_stream(len, nonce, key) { + var na = check_injectBytes("crypto_stream", + "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); + var ka = check_injectBytes("crypto_stream", + "key", key, nacl_raw._crypto_stream_KEYBYTES); + var out = new Target(len); + check("_crypto_stream", nacl_raw._crypto_stream(out.address, len, 0, na, ka)); + free_all([na, ka]); + return out.extractBytes(); + } + + function crypto_stream_xor(msg, nonce, key) { + var na = check_injectBytes("crypto_stream_xor", + "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); + var ka = check_injectBytes("crypto_stream_xor", + "key", key, nacl_raw._crypto_stream_KEYBYTES); + var ma = injectBytes(msg); + var out = new Target(msg.length); + check("_crypto_stream_xor", + nacl_raw._crypto_stream_xor(out.address, ma, msg.length, 0, na, ka)); + free_all([na, ka, ma]); + return out.extractBytes(); + } + + //--------------------------------------------------------------------------- + // One-time authentication + + function crypto_onetimeauth(msg, key) { + var ka = check_injectBytes("crypto_onetimeauth", + "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); + var ma = injectBytes(msg); + var authenticator = new Target(nacl_raw._crypto_onetimeauth_BYTES); + check("_crypto_onetimeauth", + nacl_raw._crypto_onetimeauth(authenticator.address, ma, msg.length, 0, ka)); + free_all([ka, ma]); + return authenticator.extractBytes(); + } + + function crypto_onetimeauth_verify(authenticator, msg, key) { + if (authenticator.length != nacl_raw._crypto_onetimeauth_BYTES) return false; + var ka = check_injectBytes("crypto_onetimeauth_verify", + "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); + var ma = injectBytes(msg); + var aa = injectBytes(authenticator); + var result = nacl_raw._crypto_onetimeauth_verify(aa, ma, msg.length, 0, ka); + free_all([ka, ma, aa]); + return (result == 0); + } + + //--------------------------------------------------------------------------- + // Authentication + + function crypto_auth(msg, key) { + var ka = check_injectBytes("crypto_auth", "key", key, nacl_raw._crypto_auth_KEYBYTES); + var ma = injectBytes(msg); + var authenticator = new Target(nacl_raw._crypto_auth_BYTES); + check("_crypto_auth", nacl_raw._crypto_auth(authenticator.address, ma, msg.length, 0, ka)); + free_all([ka, ma]); + return authenticator.extractBytes(); + } + + function crypto_auth_verify(authenticator, msg, key) { + if (authenticator.length != nacl_raw._crypto_auth_BYTES) return false; + var ka = check_injectBytes("crypto_auth_verify", + "key", key, nacl_raw._crypto_auth_KEYBYTES); + var ma = injectBytes(msg); + var aa = injectBytes(authenticator); + var result = nacl_raw._crypto_auth_verify(aa, ma, msg.length, 0, ka); + free_all([ka, ma, aa]); + return (result == 0); + } + + //--------------------------------------------------------------------------- + // Authenticated symmetric-key encryption + + function crypto_secretbox_random_nonce() { + return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_secretbox_NONCEBYTES); + } + + function crypto_secretbox(msg, nonce, key) { + var m = injectBytes(msg, nacl_raw._crypto_secretbox_ZEROBYTES); + var na = check_injectBytes("crypto_secretbox", + "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); + var ka = check_injectBytes("crypto_secretbox", + "key", key, nacl_raw._crypto_secretbox_KEYBYTES); + var c = new Target(msg.length + nacl_raw._crypto_secretbox_ZEROBYTES); + check("_crypto_secretbox", nacl_raw._crypto_secretbox(c.address, m, c.length, 0, na, ka)); + free_all([m, na, ka]); + return c.extractBytes(nacl_raw._crypto_secretbox_BOXZEROBYTES); + } + + function crypto_secretbox_open(ciphertext, nonce, key) { + var c = injectBytes(ciphertext, nacl_raw._crypto_secretbox_BOXZEROBYTES); + var na = check_injectBytes("crypto_secretbox_open", + "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); + var ka = check_injectBytes("crypto_secretbox_open", + "key", key, nacl_raw._crypto_secretbox_KEYBYTES); + var m = new Target(ciphertext.length + nacl_raw._crypto_secretbox_BOXZEROBYTES); + check("_crypto_secretbox_open", + nacl_raw._crypto_secretbox_open(m.address, c, m.length, 0, na, ka)); + free_all([c, na, ka]); + return m.extractBytes(nacl_raw._crypto_secretbox_ZEROBYTES); + } + + //--------------------------------------------------------------------------- + // Signing + + function crypto_sign_keypair() { + var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); + var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); + check("_crypto_sign_keypair", nacl_raw._crypto_sign_keypair(pk.address, sk.address)); + return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; + } + + function crypto_sign(msg, sk) { + var ma = injectBytes(msg); + var ska = check_injectBytes("crypto_sign", "sk", sk, nacl_raw._crypto_sign_SECRETKEYBYTES); + var sm = new Target(msg.length + nacl_raw._crypto_sign_BYTES); + var smlen = new Target(8); + check("_crypto_sign", + nacl_raw._crypto_sign(sm.address, smlen.address, ma, msg.length, 0, ska)); + free_all([ma, ska]); + sm.length = nacl_raw.HEAPU32[smlen.address >> 2]; + FREE(smlen.address); + return sm.extractBytes(); + } + + function crypto_sign_detached(msg, sk) { + // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. + var signed_msg = crypto_sign(msg, sk); + return signed_msg.subarray(0, nacl_raw._crypto_sign_BYTES); + } + + function crypto_sign_open(sm, pk) { + var sma = injectBytes(sm); + var pka = check_injectBytes("crypto_sign_open", + "pk", pk, nacl_raw._crypto_sign_PUBLICKEYBYTES); + var m = new Target(sm.length); + var mlen = new Target(8); + if (nacl_raw._crypto_sign_open(m.address, mlen.address, sma, sm.length, 0, pka) === 0) { + free_all([sma, pka]); + m.length = nacl_raw.HEAPU32[mlen.address >> 2]; + FREE(mlen.address); + return m.extractBytes(); + } else { + free_all([sma, pka, m.address, mlen.address]); + return null; + } + } + + function crypto_sign_verify_detached(detached_signature, msg, pk) { + // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. + var signed_msg = new Uint8Array(detached_signature.length + msg.length); + signed_msg.set(detached_signature, 0); + signed_msg.set(msg, detached_signature.length); + return crypto_sign_open(signed_msg, pk) !== null; + } + + //--------------------------------------------------------------------------- + // Keys + + function crypto_sign_keypair_from_seed(bs) { + var seeda = check_injectBytes("crypto_sign_keypair_from_seed", + "seed", bs, nacl_raw._crypto_sign_SECRETKEYBYTES / 2); + var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); + var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); + check("_crypto_sign_keypair_from_raw_sk", + nacl_raw._crypto_sign_keypair_from_raw_sk(pk.address, sk.address, seeda)); + FREE(seeda); + return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; + } + + function crypto_box_keypair_from_seed(bs) { + var hash = new Uint8Array(crypto_hash(bs)); + return crypto_box_keypair_from_raw_sk(hash.subarray(0, + nacl_raw._crypto_box_SECRETKEYBYTES)); + } + + function crypto_box_keypair_from_raw_sk(sk) { + return {boxPk: crypto_scalarmult_base(sk), boxSk: sk}; + } + + //--------------------------------------------------------------------------- + // Scalarmult + + function crypto_scalarmult(n,p) { + var na = check_injectBytes("crypto_scalarmult", "n", n, + nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); + var pa = check_injectBytes("crypto_scalarmult", "p", p, + nacl_raw._crypto_scalarmult_curve25519_BYTES); + var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); + check("_crypto_scalarmult_curve25519", + nacl_raw._crypto_scalarmult_curve25519(q.address, na, pa)); + FREE(na); + FREE(pa); + return q.extractBytes(); + } + + function crypto_scalarmult_base(n) { + var na = check_injectBytes("crypto_scalarmult_base", "n", n, + nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); + var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); + check("_crypto_scalarmult_curve25519_base", + nacl_raw._crypto_scalarmult_curve25519_base(q.address, na)); + FREE(na); + return q.extractBytes(); + } + + //--------------------------------------------------------------------------- + + exports.crypto_auth_BYTES = nacl_raw._crypto_auth_BYTES; + exports.crypto_auth_KEYBYTES = nacl_raw._crypto_auth_KEYBYTES; + exports.crypto_box_BEFORENMBYTES = nacl_raw._crypto_box_BEFORENMBYTES; + exports.crypto_box_BOXZEROBYTES = nacl_raw._crypto_box_BOXZEROBYTES; + exports.crypto_box_NONCEBYTES = nacl_raw._crypto_box_NONCEBYTES; + exports.crypto_box_PUBLICKEYBYTES = nacl_raw._crypto_box_PUBLICKEYBYTES; + exports.crypto_box_SECRETKEYBYTES = nacl_raw._crypto_box_SECRETKEYBYTES; + exports.crypto_box_ZEROBYTES = nacl_raw._crypto_box_ZEROBYTES; + exports.crypto_hash_BYTES = nacl_raw._crypto_hash_BYTES; + exports.crypto_hash_sha256_BYTES = nacl_raw._crypto_hash_sha256_BYTES; + exports.crypto_hashblocks_BLOCKBYTES = nacl_raw._crypto_hashblocks_BLOCKBYTES; + exports.crypto_hashblocks_STATEBYTES = nacl_raw._crypto_hashblocks_STATEBYTES; + exports.crypto_onetimeauth_BYTES = nacl_raw._crypto_onetimeauth_BYTES; + exports.crypto_onetimeauth_KEYBYTES = nacl_raw._crypto_onetimeauth_KEYBYTES; + exports.crypto_secretbox_BOXZEROBYTES = nacl_raw._crypto_secretbox_BOXZEROBYTES; + exports.crypto_secretbox_KEYBYTES = nacl_raw._crypto_secretbox_KEYBYTES; + exports.crypto_secretbox_NONCEBYTES = nacl_raw._crypto_secretbox_NONCEBYTES; + exports.crypto_secretbox_ZEROBYTES = nacl_raw._crypto_secretbox_ZEROBYTES; + exports.crypto_sign_BYTES = nacl_raw._crypto_sign_BYTES; + exports.crypto_sign_PUBLICKEYBYTES = nacl_raw._crypto_sign_PUBLICKEYBYTES; + exports.crypto_sign_SECRETKEYBYTES = nacl_raw._crypto_sign_SECRETKEYBYTES; + exports.crypto_stream_BEFORENMBYTES = nacl_raw._crypto_stream_BEFORENMBYTES; + exports.crypto_stream_KEYBYTES = nacl_raw._crypto_stream_KEYBYTES; + exports.crypto_stream_NONCEBYTES = nacl_raw._crypto_stream_NONCEBYTES; + exports.crypto_scalarmult_SCALARBYTES = nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES; + exports.crypto_scalarmult_BYTES = nacl_raw._crypto_scalarmult_curve25519_BYTES; + + exports.encode_utf8 = encode_utf8; + exports.encode_latin1 = encode_latin1; + exports.decode_utf8 = decode_utf8; + exports.decode_latin1 = decode_latin1; + exports.to_hex = to_hex; + exports.from_hex = from_hex; + + exports.crypto_box_keypair = crypto_box_keypair; + exports.crypto_box_random_nonce = crypto_box_random_nonce; + exports.crypto_box = crypto_box; + exports.crypto_box_open = crypto_box_open; + exports.crypto_box_precompute = crypto_box_precompute; + exports.crypto_box_precomputed = crypto_box_precomputed; + exports.crypto_box_open_precomputed = crypto_box_open_precomputed; + + exports.crypto_stream_random_nonce = crypto_stream_random_nonce; + exports.crypto_stream = crypto_stream; + exports.crypto_stream_xor = crypto_stream_xor; + + exports.crypto_onetimeauth = crypto_onetimeauth; + exports.crypto_onetimeauth_verify = crypto_onetimeauth_verify; + + exports.crypto_auth = crypto_auth; + exports.crypto_auth_verify = crypto_auth_verify; + + exports.crypto_secretbox_random_nonce = crypto_secretbox_random_nonce; + exports.crypto_secretbox = crypto_secretbox; + exports.crypto_secretbox_open = crypto_secretbox_open; + + exports.crypto_sign_keypair = crypto_sign_keypair; + exports.crypto_sign = crypto_sign; + exports.crypto_sign_detached = crypto_sign_detached; + exports.crypto_sign_open = crypto_sign_open; + exports.crypto_sign_verify_detached = crypto_sign_verify_detached; + + exports.crypto_hash = crypto_hash; + exports.crypto_hash_sha256 = crypto_hash_sha256; + exports.crypto_hash_string = crypto_hash_string; + + exports.crypto_sign_keypair_from_seed = crypto_sign_keypair_from_seed; + exports.crypto_box_keypair_from_seed = crypto_box_keypair_from_seed; + exports.crypto_box_keypair_from_raw_sk = crypto_box_keypair_from_raw_sk; + + exports.crypto_scalarmult = crypto_scalarmult; + exports.crypto_scalarmult_base = crypto_scalarmult_base; + + return exports; +})(); + var randomBytes; + if (typeof module !== 'undefined' && module.exports) { + // add node.js implementations + var crypto = require('crypto'); + randomBytes = crypto.randomBytes; + } else if (window && window.crypto && window.crypto.getRandomValues) { + // add in-browser implementation + randomBytes = function (count) { + var bs = new Uint8Array(count); + window.crypto.getRandomValues(bs); + return bs; + }; + } else { + randomBytes = function (count) { + throw { name: "No cryptographic random number generator", + message: "Your browser does not support cryptographic random number generation." }; + }; + } + + nacl_raw.RandomBytes.crypto = { "randomBytes": randomBytes }; + nacl.random_bytes = randomBytes; + nacl.nacl_raw = nacl_raw; + return nacl; + })((typeof window !== 'undefined') ? window : null, (typeof document !== 'undefined') ? document : null); + } +}; + +// export common.js module to allow one js file for browser and node.js +if (typeof module !== 'undefined' && module.exports) { + module.exports = nacl_factory; +} diff --git a/www/js/vendor/scrypt-em.js b/www/js/vendor/scrypt-em.js new file mode 100644 index 000000000..a98182e62 --- /dev/null +++ b/www/js/vendor/scrypt-em.js @@ -0,0 +1,10306 @@ +/* + * #%L + * uCoinj :: UI Wicket + * %% + * Copyright (C) 2014 - 2016 EIS + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + + +var scrypt_module_factory = (function (requested_total_memory) { + var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; + var scrypt_raw = Module; +function g(a) { + throw a; +} +var k = void 0, l = !0, m = null, p = !1; +function aa() { + return function() { + } +} +var q, s; +s || (s = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); +var ba = {}, t; +for(t in s) { + s.hasOwnProperty(t) && (ba[t] = s[t]) +} +var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; +if(ca) { + s.print = function(a) { + process.stdout.write(a + "\n") + }; + s.printErr = function(a) { + process.stderr.write(a + "\n") + }; + var ga = require("fs"), ha = require("path"); + s.read = function(a, b) { + var a = ha.normalize(a), c = ga.readFileSync(a); + !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); + c && !b && (c = c.toString()); + return c + }; + s.readBinary = function(a) { + return s.read(a, l) + }; + s.load = function(a) { + ia(read(a)) + }; + s.arguments = process.argv.slice(2); + module.ee = s +}else { + fa ? (s.print = print, "undefined" != typeof printErr && (s.printErr = printErr), s.read = read, s.readBinary = function(a) { + return read(a, "binary") + }, "undefined" != typeof scriptArgs ? s.arguments = scriptArgs : "undefined" != typeof arguments && (s.arguments = arguments), this.Module = s) : da || ea ? (s.read = function(a) { + var b = new XMLHttpRequest; + b.open("GET", a, p); + b.send(m); + return b.responseText + }, "undefined" != typeof arguments && (s.arguments = arguments), da ? (s.print = function(a) { + console.log(a) + }, s.printErr = function(a) { + console.log(a) + }, this.Module = s) : ea && (s.print = aa(), s.load = importScripts)) : g("Unknown runtime environment. Where are we?") +} +function ia(a) { + eval.call(m, a) +} +"undefined" == !s.load && s.read && (s.load = function(a) { + ia(s.read(a)) +}); +s.print || (s.print = aa()); +s.printErr || (s.printErr = s.print); +s.arguments || (s.arguments = []); +s.print = s.print; +s.P = s.printErr; +s.preRun = []; +s.postRun = []; +for(t in ba) { + ba.hasOwnProperty(t) && (s[t] = ba[t]) +} +function ja() { + return u +} +function ka(a) { + u = a +} +function la(a) { + if(1 == ma) { + return 1 + } + var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; + b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), w(0 == a % 8), b = a / 8)); + return b +} +function na(a, b, c) { + c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), s["dynCall_" + a].apply(m, c)) : s["dynCall_" + a].call(m, b) +} +var oa; +function pa() { + var a = [], b = 0; + this.oa = function(c) { + c &= 255; + b && (a.push(c), b--); + if(0 == a.length) { + if(128 > c) { + return String.fromCharCode(c) + } + a.push(c); + b = 191 < c && 224 > c ? 1 : 2; + return"" + } + if(0 < b) { + return"" + } + var c = a[0], d = a[1], e = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | e & 63); + a.length = 0; + return c + }; + this.yb = function(a) { + for(var a = unescape(encodeURIComponent(a)), b = [], e = 0;e < a.length;e++) { + b.push(a.charCodeAt(e)) + } + return b + } +} +function qa(a) { + var b = u; + u = u + a | 0; + u = u + 7 >> 3 << 3; + return b +} +function ra(a) { + var b = sa; + sa = sa + a | 0; + sa = sa + 7 >> 3 << 3; + return b +} +function ua(a) { + var b = z; + z = z + a | 0; + z = z + 7 >> 3 << 3; + z >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); + return b +} +function xa(a, b) { + return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) +} +var ma = 4, ya = {}, za = p, Aa; +function w(a, b) { + a || wa("Assertion failed: " + b) +} +s.ccall = function(a, b, c, d) { + return Ba(Ca(a), b, c, d) +}; +function Ca(a) { + try { + var b = s["_" + a]; + b || (b = eval("_" + a)) + }catch(c) { + } + w(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); + return b +} +function Ba(a, b, c, d) { + function e(a, b) { + if("string" == b) { + if(a === m || a === k || 0 === a) { + return 0 + } + f || (f = ja()); + var c = qa(a.length + 1); + Da(a, c); + return c + } + return"array" == b ? (f || (f = ja()), c = qa(a.length), Ea(a, c), c) : a + } + var f = 0, h = 0, d = d ? d.map(function(a) { + return e(a, c[h++]) + }) : []; + a = a.apply(m, d); + "string" == b ? b = Fa(a) : (w("array" != b), b = a); + f && ka(f); + return b +} +s.cwrap = function(a, b, c) { + var d = Ca(a); + return function() { + return Ba(d, b, c, Array.prototype.slice.call(arguments)) + } +}; +function Ga(a, b, c) { + c = c || "i8"; + "*" === c.charAt(c.length - 1) && (c = "i32"); + switch(c) { + case "i1": + A[a] = b; + break; + case "i8": + A[a] = b; + break; + case "i16": + Ha[a >> 1] = b; + break; + case "i32": + B[a >> 2] = b; + break; + case "i64": + Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; + B[a >> 2] = Aa[0]; + B[a + 4 >> 2] = Aa[1]; + break; + case "float": + Ia[a >> 2] = b; + break; + case "double": + Ja[a >> 3] = b; + break; + default: + wa("invalid type for setValue: " + c) + } +} +s.setValue = Ga; +s.getValue = function(a, b) { + b = b || "i8"; + "*" === b.charAt(b.length - 1) && (b = "i32"); + switch(b) { + case "i1": + return A[a]; + case "i8": + return A[a]; + case "i16": + return Ha[a >> 1]; + case "i32": + return B[a >> 2]; + case "i64": + return B[a >> 2]; + case "float": + return Ia[a >> 2]; + case "double": + return Ja[a >> 3]; + default: + wa("invalid type for setValue: " + b) + } + return m +}; +var Ka = 0, La = 1, E = 2, Na = 4; +s.ALLOC_NORMAL = Ka; +s.ALLOC_STACK = La; +s.ALLOC_STATIC = E; +s.ALLOC_DYNAMIC = 3; +s.ALLOC_NONE = Na; +function F(a, b, c, d) { + var e, f; + "number" === typeof a ? (e = l, f = a) : (e = p, f = a.length); + var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(f, h ? 1 : b.length)); + if(e) { + d = c; + w(0 == (c & 3)); + for(a = c + (f & -4);d < a;d += 4) { + B[d >> 2] = 0 + } + for(a = c + f;d < a;) { + A[d++ | 0] = 0 + } + return c + } + if("i8" === h) { + return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c + } + for(var d = 0, i, j;d < f;) { + var n = a[d]; + "function" === typeof n && (n = ya.fe(n)); + e = h || b[d]; + 0 === e ? d++ : ("i64" == e && (e = "i32"), Ga(c + d, n, e), j !== e && (i = la(e), j = e), d += i) + } + return c +} +s.allocate = F; +function Fa(a, b) { + for(var c = p, d, e = 0;;) { + d = G[a + e | 0]; + if(128 <= d) { + c = l + }else { + if(0 == d && !b) { + break + } + } + e++; + if(b && e == b) { + break + } + } + b || (b = e); + var f = ""; + if(!c) { + for(;0 < b;) { + d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), f = f ? f + d : d, a += 1024, b -= 1024 + } + return f + } + c = new pa; + for(e = 0;e < b;e++) { + d = G[a + e | 0], f += c.oa(d) + } + return f +} +s.Pointer_stringify = Fa; +var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, z = 0, va = s.TOTAL_MEMORY || 33554432; +w(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); +var I = new ArrayBuffer(va); +A = new Int8Array(I); +Ha = new Int16Array(I); +B = new Int32Array(I); +G = new Uint8Array(I); +Pa = new Uint16Array(I); +Qa = new Uint32Array(I); +Ia = new Float32Array(I); +Ja = new Float64Array(I); +B[0] = 255; +w(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); +s.HEAP = k; +s.HEAP8 = A; +s.HEAP16 = Ha; +s.HEAP32 = B; +s.HEAPU8 = G; +s.HEAPU16 = Pa; +s.HEAPU32 = Qa; +s.HEAPF32 = Ia; +s.HEAPF64 = Ja; +function Va(a) { + for(;0 < a.length;) { + var b = a.shift(); + if("function" == typeof b) { + b() + }else { + var c = b.V; + "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) + } + } +} +var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = p; +function bb(a) { + Wa.unshift(a) +} +s.addOnPreRun = s.Vd = bb; +s.addOnInit = s.Sd = function(a) { + Xa.unshift(a) +}; +s.addOnPreMain = s.Ud = function(a) { + Ya.unshift(a) +}; +s.addOnExit = s.Rd = function(a) { + Za.unshift(a) +}; +function cb(a) { + $a.unshift(a) +} +s.addOnPostRun = s.Td = cb; +function J(a, b, c) { + a = (new pa).yb(a); + c && (a.length = c); + b || a.push(0); + return a +} +s.intArrayFromString = J; +s.intArrayToString = function(a) { + for(var b = [], c = 0;c < a.length;c++) { + var d = a[c]; + 255 < d && (d &= 255); + b.push(String.fromCharCode(d)) + } + return b.join("") +}; +function Da(a, b, c) { + a = J(a, c); + for(c = 0;c < a.length;) { + A[b + c | 0] = a[c], c += 1 + } +} +s.writeStringToMemory = Da; +function Ea(a, b) { + for(var c = 0;c < a.length;c++) { + A[b + c | 0] = a[c] + } +} +s.writeArrayToMemory = Ea; +function db(a, b) { + return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a +} +function eb(a, b) { + if(0 >= a) { + return a + } + var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); + if(a >= c && (32 >= b || a > c)) { + a = -2 * c + a + } + return a +} +Math.imul || (Math.imul = function(a, b) { + var c = a & 65535, d = b & 65535; + return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 +}); +Math.ie = Math.imul; +var L = 0, fb = {}, gb = p, hb = m; +function ib(a) { + L++; + s.monitorRunDependencies && s.monitorRunDependencies(L); + a ? (w(!fb[a]), fb[a] = 1) : s.P("warning: run dependency added without ID") +} +s.addRunDependency = ib; +function jb(a) { + L--; + s.monitorRunDependencies && s.monitorRunDependencies(L); + a ? (w(fb[a]), delete fb[a]) : s.P("warning: run dependency removed without ID"); + 0 == L && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) +} +s.removeRunDependency = jb; +s.preloadedImages = {}; +s.preloadedAudios = {}; +Ra = 8; +sa = Ra + 1312; +Xa.push({V:function() { + mb() +}}); +var nb, ob, pb; +nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); +F([111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, +23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 56, 3, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, 115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 117, 110, 107, +110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, +108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, +115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 2, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 2, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, +100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 2, 0, 0, 0, 0, 0, 0, 120, 2, 0, 0, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 2, 0, 0, 176, 2, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], +"i8", Na, 8); +var qb = xa(F(12, "i8", E), 8); +w(0 == qb % 8); +var rb = 0; +function M(a) { + return B[rb >> 2] = a +} +s._memcpy = sb; +s._memset = tb; +var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, +Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, ub = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", +4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", +26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", +45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", +69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", +87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", +111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", +129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; +function vb(a, b, c) { + var d = O(a, {parent:l}).d, a = "/" === a ? "/" : wb(a)[2], e = xb(d, a); + e && g(new Q(e)); + d.l.Ta || g(new Q(N.L)); + return d.l.Ta(d, a, b, c) +} +function yb(a, b) { + b = b & 4095 | 32768; + return vb(a, b, 0) +} +function zb(a, b) { + b = b & 1023 | 16384; + return vb(a, b, 0) +} +function Ab(a, b, c) { + return vb(a, b | 8192, c) +} +function Bb(a, b) { + var c = O(b, {parent:l}).d, d = "/" === b ? "/" : wb(b)[2], e = xb(c, d); + e && g(new Q(e)); + c.l.Wa || g(new Q(N.L)); + return c.l.Wa(c, d, a) +} +function Cb(a, b) { + var c; + c = "string" === typeof a ? O(a, {N:l}).d : a; + c.l.Y || g(new Q(N.L)); + c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) +} +function Db(a, b) { + var c, a = Eb(a), d; + "string" === typeof b ? (d = Fb[b], "undefined" === typeof d && g(Error("Unknown file open mode: " + b))) : d = b; + b = d; + c = b & 512 ? c & 4095 | 32768 : 0; + var e; + try { + var f = O(a, {N:!(b & 65536)}); + e = f.d; + a = f.path + }catch(h) { + } + b & 512 && (e ? b & 2048 && g(new Q(N.va)) : e = vb(a, c, 0)); + e || g(new Q(N.ca)); + 8192 === (e.mode & 61440) && (b &= -1025); + e ? 40960 === (e.mode & 61440) ? c = N.ba : 16384 === (e.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Gb(e, c)) : c = N.ca; + c && g(new Q(c)); + b & 1024 && (c = e, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || g(new Q(N.L)), 16384 === (c.mode & 61440) && g(new Q(N.aa)), 32768 !== (c.mode & 61440) && g(new Q(N.A)), (f = Gb(c, "w")) && g(new Q(f)), c.l.Y(c, {size:0, timestamp:Date.now()})); + var i = {path:a, d:e, M:b, seekable:l, position:0, e:e.e, Gb:[], error:p}, j; + a: { + e = k || 4096; + for(c = k || 1;c <= e;c++) { + if(!R[c]) { + j = c; + break a + } + } + g(new Q(N.Za)) + } + i.s = j; + Object.defineProperty(i, "object", {get:function() { + return i.d + }, set:function(a) { + i.d = a + }}); + Object.defineProperty(i, "isRead", {get:function() { + return 1 !== (i.M & 3) + }}); + Object.defineProperty(i, "isWrite", {get:function() { + return 0 !== (i.M & 3) + }}); + Object.defineProperty(i, "isAppend", {get:function() { + return i.M & 8 + }}); + R[j] = i; + i.e.open && i.e.open(i); + return i +} +function Hb(a) { + try { + a.e.close && a.e.close(a) + }catch(b) { + g(b) + }finally { + R[a.s] = m + } +} +function Ib(a, b, c, d, e) { + (0 > d || 0 > e) && g(new Q(N.A)); + 0 === (a.M & 3) && g(new Q(N.$)); + 16384 === (a.d.mode & 61440) && g(new Q(N.aa)); + a.e.write || g(new Q(N.A)); + var f = l; + "undefined" === typeof e ? (e = a.position, f = p) : a.seekable || g(new Q(N.da)); + a.M & 8 && ((!a.seekable || !a.e.na) && g(new Q(N.da)), a.e.na(a, 0, 2)); + b = a.e.write(a, b, c, d, e); + f || (a.position += b); + return b +} +function wb(a) { + return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) +} +function Jb(a, b) { + for(var c = 0, d = a.length - 1;0 <= d;d--) { + var e = a[d]; + "." === e ? a.splice(d, 1) : ".." === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) + } + if(b) { + for(;c--;c) { + a.unshift("..") + } + } + return a +} +function Eb(a) { + var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Jb(a.split("/").filter(function(a) { + return!!a + }), !b).join("/"); + !a && !b && (a = "."); + a && c && (a += "/"); + return(b ? "/" : "") + a +} +function S() { + var a = Array.prototype.slice.call(arguments, 0); + return Eb(a.filter(function(a) { + "string" !== typeof a && g(new TypeError("Arguments to path.join must be strings")); + return a + }).join("/")) +} +function Kb() { + for(var a = "", b = p, c = arguments.length - 1;-1 <= c && !b;c--) { + var d = 0 <= c ? arguments[c] : "/"; + "string" !== typeof d && g(new TypeError("Arguments to path.resolve must be strings")); + d && (a = d + "/" + a, b = "/" === d.charAt(0)) + } + a = Jb(a.split("/").filter(function(a) { + return!!a + }), !b).join("/"); + return(b ? "/" : "") + a || "." +} +var Lb = []; +function Mb(a, b) { + Lb[a] = {input:[], H:[], O:b}; + Nb[a] = {e:Ob} +} +var Ob = {open:function(a) { + Pb || (Pb = new pa); + var b = Lb[a.d.X]; + b || g(new Q(N.wa)); + a.q = b; + a.seekable = p +}, close:function(a) { + a.q.H.length && a.q.O.W(a.q, 10) +}, Q:function(a, b, c, d) { + (!a.q || !a.q.O.Na) && g(new Q(N.za)); + for(var e = 0, f = 0;f < d;f++) { + var h; + try { + h = a.q.O.Na(a.q) + }catch(i) { + g(new Q(N.I)) + } + h === k && 0 === e && g(new Q(N.ua)); + if(h === m || h === k) { + break + } + e++; + b[c + f] = h + } + e && (a.d.timestamp = Date.now()); + return e +}, write:function(a, b, c, d) { + (!a.q || !a.q.O.W) && g(new Q(N.za)); + for(var e = 0;e < d;e++) { + try { + a.q.O.W(a.q, b[c + e]) + }catch(f) { + g(new Q(N.I)) + } + } + d && (a.d.timestamp = Date.now()); + return e +}}, Pb, T = {z:function() { + return T.ka(m, "/", 16895, 0) +}, ka:function(a, b, c, d) { + (24576 === (c & 61440) || 4096 === (c & 61440)) && g(new Q(N.L)); + c = Qb(a, b, c, d); + c.l = T.l; + 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Rb); + c.timestamp = Date.now(); + a && (a.g[b] = c); + return c +}, l:{ge:function(a) { + var b = {}; + b.ce = 8192 === (a.mode & 61440) ? a.id : 1; + b.je = a.id; + b.mode = a.mode; + b.pe = 1; + b.uid = 0; + b.he = 0; + b.X = a.X; + b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; + b.Yd = new Date(a.timestamp); + b.oe = new Date(a.timestamp); + b.ae = new Date(a.timestamp); + b.ib = 4096; + b.Zd = Math.ceil(b.size / b.ib); + return b +}, Y:function(a, b) { + b.mode !== k && (a.mode = b.mode); + b.timestamp !== k && (a.timestamp = b.timestamp); + if(b.size !== k) { + var c = a.g; + if(b.size < c.length) { + c.length = b.size + }else { + for(;b.size > c.length;) { + c.push(0) + } + } + } +}, tb:function() { + g(new Q(N.ca)) +}, Ta:function(a, b, c, d) { + return T.ka(a, b, c, d) +}, rename:function(a, b, c) { + if(16384 === (a.mode & 61440)) { + var d; + try { + d = Sb(b, c) + }catch(e) { + } + if(d) { + for(var f in d.g) { + g(new Q(N.ya)) + } + } + } + delete a.parent.g[a.name]; + a.name = c; + b.g[c] = a +}, ze:function(a, b) { + delete a.g[b] +}, ve:function(a, b) { + var c = Sb(a, b), d; + for(d in c.g) { + g(new Q(N.ya)) + } + delete a.g[b] +}, Wa:function(a, b, c) { + a = T.ka(a, b, 41471, 0); + a.link = c; + return a +}, Va:function(a) { + 40960 !== (a.mode & 61440) && g(new Q(N.A)); + return a.link +}}, e:{open:function(a) { + if(16384 === (a.d.mode & 61440)) { + var b = [".", ".."], c; + for(c in a.d.g) { + a.d.g.hasOwnProperty(c) && b.push(c) + } + a.lb = b + } +}, Q:function(a, b, c, d, e) { + a = a.d.g; + d = Math.min(a.length - e, d); + if(a.subarray) { + b.set(a.subarray(e, e + d), c) + }else { + for(var f = 0;f < d;f++) { + b[c + f] = a[e + f] + } + } + return d +}, write:function(a, b, c, d, e) { + for(var f = a.d.g;f.length < e;) { + f.push(0) + } + for(var h = 0;h < d;h++) { + f[e + h] = b[c + h] + } + a.d.timestamp = Date.now(); + return d +}, na:function(a, b, c) { + 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); + 0 > b && g(new Q(N.A)); + a.Gb = []; + return a.position = b +}, ue:function(a) { + return a.lb +}, Wd:function(a, b, c) { + a = a.d.g; + for(b += c;b > a.length;) { + a.push(0) + } +}, ne:function(a, b, c, d, e, f, h) { + 32768 !== (a.d.mode & 61440) && g(new Q(N.wa)); + a = a.d.g; + if(h & 2) { + if(0 < e || e + d < a.length) { + a = a.subarray ? a.subarray(e, e + d) : Array.prototype.slice.call(a, e, e + d) + } + e = l; + (d = Oa(d)) || g(new Q(N.$a)); + b.set(a, d) + }else { + w(a.buffer === b || a.buffer === b.buffer), e = p, d = a.byteOffset + } + return{te:d, Xd:e} +}}}, Tb = F(1, "i32*", E), Ub = F(1, "i32*", E); +nb = F(1, "i32*", E); +var Vb = m, Nb = [m], R = [m], Wb = 1, Xb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], Yb = l; +function Q(a) { + this.mb = a; + for(var b in N) { + if(N[b] === a) { + this.code = b; + break + } + } + this.message = ub[a] +} +function Zb(a) { + a instanceof Q || g(a + " : " + Error().stack); + M(a.mb) +} +function $b(a, b) { + for(var c = 0, d = 0;d < b.length;d++) { + c = (c << 5) - c + b.charCodeAt(d) | 0 + } + return(a + c) % Xb.length +} +function Sb(a, b) { + var c = Gb(a, "x"); + c && g(new Q(c)); + for(c = Xb[$b(a.id, b)];c;c = c.wb) { + if(c.parent.id === a.id && c.name === b) { + return c + } + } + return a.l.tb(a, b) +} +function Qb(a, b, c, d) { + var e = {id:Wb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; + a || (a = e); + e.parent = a; + e.z = a.z; + Object.defineProperty(e, "read", {get:function() { + return 365 === (e.mode & 365) + }, set:function(a) { + a ? e.mode |= 365 : e.mode &= -366 + }}); + Object.defineProperty(e, "write", {get:function() { + return 146 === (e.mode & 146) + }, set:function(a) { + a ? e.mode |= 146 : e.mode &= -147 + }}); + a = $b(e.parent.id, e.name); + e.wb = Xb[a]; + return Xb[a] = e +} +function O(a, b) { + a = Kb("/", a); + b = b || {pa:0}; + 8 < b.pa && g(new Q(N.ba)); + for(var c = Jb(a.split("/").filter(function(a) { + return!!a + }), p), d = Vb, e = "/", f = 0;f < c.length;f++) { + var h = f === c.length - 1; + if(h && b.parent) { + break + } + d = Sb(d, c[f]); + e = S(e, c[f]); + d.ub && (d = d.z.root); + if(!h || b.N) { + for(h = 0;40960 === (d.mode & 61440);) { + d = O(e, {N:p}).d; + d.l.Va || g(new Q(N.A)); + var d = d.l.Va(d), i = Kb; + var j = wb(e), e = j[0], j = j[1]; + !e && !j ? e = "." : (j && (j = j.substr(0, j.length - 1)), e += j); + e = i(e, d); + d = O(e, {pa:b.pa}).d; + 40 < h++ && g(new Q(N.ba)) + } + } + } + return{path:e, d:d} +} +function ac(a) { + for(var b;;) { + if(a === a.parent) { + return b ? S(a.z.Ua, b) : a.z.Ua + } + b = b ? S(a.name, b) : a.name; + a = a.parent + } +} +var Fb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; +function Gb(a, b) { + return Yb ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 +} +function xb(a, b) { + try { + return Sb(a, b), N.va + }catch(c) { + } + return Gb(a, "wx") +} +var Rb = {open:function(a) { + a.e = Nb[a.d.X].e; + a.e.open && a.e.open(a) +}, na:function() { + g(new Q(N.da)) +}}, bc; +function cc(a, b) { + var c = 0; + a && (c |= 365); + b && (c |= 146); + return c +} +function dc(a, b, c, d, e) { + a = S("string" === typeof a ? a : ac(a), b); + d = cc(d, e); + e = yb(a, d); + if(c) { + if("string" === typeof c) { + for(var b = Array(c.length), f = 0, h = c.length;f < h;++f) { + b[f] = c.charCodeAt(f) + } + c = b + } + Cb(a, d | 146); + b = Db(a, "w"); + Ib(b, c, 0, c.length, 0); + Hb(b); + Cb(a, d) + } + return e +} +function ec(a, b, c, d) { + a = S("string" === typeof a ? a : ac(a), b); + ec.Sa || (ec.Sa = 64); + b = ec.Sa++ << 8 | 0; + Nb[b] = {e:{open:function(a) { + a.seekable = p + }, close:function() { + d && (d.buffer && d.buffer.length) && d(10) + }, Q:function(a, b, d, i) { + for(var j = 0, n = 0;n < i;n++) { + var y; + try { + y = c() + }catch(v) { + g(new Q(N.I)) + } + y === k && 0 === j && g(new Q(N.ua)); + if(y === m || y === k) { + break + } + j++; + b[d + n] = y + } + j && (a.d.timestamp = Date.now()); + return j + }, write:function(a, b, c, i) { + for(var j = 0;j < i;j++) { + try { + d(b[c + j]) + }catch(n) { + g(new Q(N.I)) + } + } + i && (a.d.timestamp = Date.now()); + return j + }}}; + return Ab(a, c && d ? 511 : c ? 219 : 365, b) +} +function fc(a, b, c) { + a = R[a]; + if(!a) { + return-1 + } + a.sender(G.subarray(b, b + c)); + return c +} +function gc(a, b, c) { + var d = R[a]; + if(!d) { + return M(N.$), -1 + } + if(d && "socket" in d) { + return fc(a, b, c) + } + try { + return Ib(d, A, b, c) + }catch(e) { + return Zb(e), -1 + } +} +function hc(a, b, c, d) { + c *= b; + if(0 == c) { + return 0 + } + a = gc(d, a, c); + if(-1 == a) { + if(b = R[d]) { + b.error = l + } + return 0 + } + return Math.floor(a / b) +} +s._strlen = ic; +function jc(a) { + return 0 > a || 0 === a && -Infinity === 1 / a +} +function kc(a, b) { + function c(a) { + var c; + "double" === a ? c = Ja[b + e >> 3] : "i64" == a ? (c = [B[b + e >> 2], B[b + (e + 8) >> 2]], e += 8) : (a = "i32", c = B[b + e >> 2]); + e += Math.max(Math.max(la(a), ma), 8); + return c + } + for(var d = a, e = 0, f = [], h, i;;) { + var j = d; + h = A[d]; + if(0 === h) { + break + } + i = A[d + 1 | 0]; + if(37 == h) { + var n = p, y = p, v = p, C = p; + a:for(;;) { + switch(i) { + case 43: + n = l; + break; + case 45: + y = l; + break; + case 35: + v = l; + break; + case 48: + if(C) { + break a + }else { + C = l; + break + } + ; + default: + break a + } + d++; + i = A[d + 1 | 0] + } + var D = 0; + if(42 == i) { + D = c("i32"), d++, i = A[d + 1 | 0] + }else { + for(;48 <= i && 57 >= i;) { + D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] + } + } + var K = p; + if(46 == i) { + var H = 0, K = l; + d++; + i = A[d + 1 | 0]; + if(42 == i) { + H = c("i32"), d++ + }else { + for(;;) { + i = A[d + 1 | 0]; + if(48 > i || 57 < i) { + break + } + H = 10 * H + (i - 48); + d++ + } + } + i = A[d + 1 | 0] + }else { + H = 6 + } + var x; + switch(String.fromCharCode(i)) { + case "h": + i = A[d + 2 | 0]; + 104 == i ? (d++, x = 1) : x = 2; + break; + case "l": + i = A[d + 2 | 0]; + 108 == i ? (d++, x = 8) : x = 4; + break; + case "L": + ; + case "q": + ; + case "j": + x = 8; + break; + case "z": + ; + case "t": + ; + case "I": + x = 4; + break; + default: + x = m + } + x && d++; + i = A[d + 1 | 0]; + switch(String.fromCharCode(i)) { + case "d": + ; + case "i": + ; + case "u": + ; + case "o": + ; + case "x": + ; + case "X": + ; + case "p": + j = 100 == i || 105 == i; + x = x || 4; + var P = h = c("i" + 8 * x), r; + 8 == x && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); + 4 >= x && (h = (j ? eb : db)(h & Math.pow(256, x) - 1, 8 * x)); + var ta = Math.abs(h), j = ""; + if(100 == i || 105 == i) { + r = 8 == x && lc ? lc.stringify(P[0], P[1], m) : eb(h, 8 * x).toString(10) + }else { + if(117 == i) { + r = 8 == x && lc ? lc.stringify(P[0], P[1], l) : db(h, 8 * x).toString(10), h = Math.abs(h) + }else { + if(111 == i) { + r = (v ? "0" : "") + ta.toString(8) + }else { + if(120 == i || 88 == i) { + j = v && 0 != h ? "0x" : ""; + if(8 == x && lc) { + if(P[1]) { + r = (P[1] >>> 0).toString(16); + for(v = (P[0] >>> 0).toString(16);8 > v.length;) { + v = "0" + v + } + r += v + }else { + r = (P[0] >>> 0).toString(16) + } + }else { + if(0 > h) { + h = -h; + r = (ta - 1).toString(16); + P = []; + for(v = 0;v < r.length;v++) { + P.push((15 - parseInt(r[v], 16)).toString(16)) + } + for(r = P.join("");r.length < 2 * x;) { + r = "f" + r + } + }else { + r = ta.toString(16) + } + } + 88 == i && (j = j.toUpperCase(), r = r.toUpperCase()) + }else { + 112 == i && (0 === ta ? r = "(nil)" : (j = "0x", r = ta.toString(16))) + } + } + } + } + if(K) { + for(;r.length < H;) { + r = "0" + r + } + } + for(n && (j = 0 > h ? "-" + j : "+" + j);j.length + r.length < D;) { + y ? r += " " : C ? r = "0" + r : j = " " + j + } + r = j + r; + r.split("").forEach(function(a) { + f.push(a.charCodeAt(0)) + }); + break; + case "f": + ; + case "F": + ; + case "e": + ; + case "E": + ; + case "g": + ; + case "G": + h = c("double"); + if(isNaN(h)) { + r = "nan", C = p + }else { + if(isFinite(h)) { + K = p; + x = Math.min(H, 20); + if(103 == i || 71 == i) { + K = l, H = H || 1, x = parseInt(h.toExponential(x).split("e")[1], 10), H > x && -4 <= x ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= x + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), x = Math.min(H, 20) + } + if(101 == i || 69 == i) { + r = h.toExponential(x), /[eE][-+]\d$/.test(r) && (r = r.slice(0, -1) + "0" + r.slice(-1)) + }else { + if(102 == i || 70 == i) { + r = h.toFixed(x), 0 === h && jc(h) && (r = "-" + r) + } + } + j = r.split("e"); + if(K && !v) { + for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { + j[0] = j[0].slice(0, -1) + } + }else { + for(v && -1 == r.indexOf(".") && (j[0] += ".");H > x++;) { + j[0] += "0" + } + } + r = j[0] + (1 < j.length ? "e" + j[1] : ""); + 69 == i && (r = r.toUpperCase()); + n && 0 <= h && (r = "+" + r) + }else { + r = (0 > h ? "-" : "") + "inf", C = p + } + } + for(;r.length < D;) { + r = y ? r + " " : C && ("-" == r[0] || "+" == r[0]) ? r[0] + "0" + r.slice(1) : (C ? "0" : " ") + r + } + 97 > i && (r = r.toUpperCase()); + r.split("").forEach(function(a) { + f.push(a.charCodeAt(0)) + }); + break; + case "s": + C = (n = c("i8*")) ? ic(n) : 6; + K && (C = Math.min(C, H)); + if(!y) { + for(;C < D--;) { + f.push(32) + } + } + if(n) { + for(v = 0;v < C;v++) { + f.push(G[n++ | 0]) + } + }else { + f = f.concat(J("(null)".substr(0, C), l)) + } + if(y) { + for(;C < D--;) { + f.push(32) + } + } + break; + case "c": + for(y && f.push(c("i8"));0 < --D;) { + f.push(32) + } + y || f.push(c("i8")); + break; + case "n": + y = c("i32*"); + B[y >> 2] = f.length; + break; + case "%": + f.push(h); + break; + default: + for(v = j;v < d + 2;v++) { + f.push(A[v]) + } + } + d += 2 + }else { + f.push(h), d += 1 + } + } + return f +} +function mc(a, b, c) { + c = kc(b, c); + b = ja(); + a = hc(F(c, "i8", La), 1, c.length, a); + ka(b); + return a +} +function nc(a) { + nc.ia || (z = z + 4095 >> 12 << 12, nc.ia = l, w(ua), nc.hb = ua, ua = function() { + wa("cannot dynamically allocate, sbrk now has control") + }); + var b = z; + 0 != a && nc.hb(a); + return b +} +function U() { + return B[U.m >> 2] +} +function oc() { + return!!oc.ta +} +function pc(a) { + var b = p; + try { + a == __ZTIi && (b = l) + }catch(c) { + } + try { + a == __ZTIj && (b = l) + }catch(d) { + } + try { + a == __ZTIl && (b = l) + }catch(e) { + } + try { + a == __ZTIm && (b = l) + }catch(f) { + } + try { + a == __ZTIx && (b = l) + }catch(h) { + } + try { + a == __ZTIy && (b = l) + }catch(i) { + } + try { + a == __ZTIf && (b = l) + }catch(j) { + } + try { + a == __ZTId && (b = l) + }catch(n) { + } + try { + a == __ZTIe && (b = l) + }catch(y) { + } + try { + a == __ZTIc && (b = l) + }catch(v) { + } + try { + a == __ZTIa && (b = l) + }catch(C) { + } + try { + a == __ZTIh && (b = l) + }catch(D) { + } + try { + a == __ZTIs && (b = l) + }catch(K) { + } + try { + a == __ZTIt && (b = l) + }catch(H) { + } + return b +} +function qc(a, b, c) { + if(0 == c) { + return p + } + if(0 == b || b == a) { + return l + } + switch(pc(b) ? b : B[B[b >> 2] - 8 >> 2]) { + case 0: + return 0 == B[B[a >> 2] - 8 >> 2] ? qc(B[a + 8 >> 2], B[b + 8 >> 2], c) : p; + case 1: + return p; + case 2: + return qc(a, B[b + 8 >> 2], c); + default: + return p + } +} +function rc(a, b, c) { + if(!rc.sb) { + try { + B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 + }catch(d) { + } + try { + B[pb >> 2] = 1 + }catch(e) { + } + try { + B[ob >> 2] = 2 + }catch(f) { + } + rc.sb = l + } + B[U.m >> 2] = a; + B[U.m + 4 >> 2] = b; + B[U.m + 8 >> 2] = c; + "uncaught_exception" in oc ? oc.ta++ : oc.ta = 1; + g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") +} +function sc(a) { + try { + return tc(a) + }catch(b) { + } +} +function uc() { + if(uc.Bb) { + uc.Bb = p + }else { + V.setThrew(0); + B[U.m + 4 >> 2] = 0; + var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; + b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); + a && (sc(a), B[U.m >> 2] = 0) + } +} +var vc = F(1, "i32*", E); +function wc(a) { + var b, c; + wc.ia ? (c = B[vc >> 2], b = B[c >> 2]) : (wc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[vc >> 2] = c); + var d = [], e = 0, f; + for(f in a) { + if("string" === typeof a[f]) { + var h = f + "=" + a[f]; + d.push(h); + e += h.length + } + } + 1024 < e && g(Error("Environment size exceeded TOTAL_ENV_SIZE!")); + for(a = 0;a < d.length;a++) { + h = d[a]; + for(e = 0;e < h.length;e++) { + A[b + e | 0] = h.charCodeAt(e) + } + A[b + e | 0] = 0; + B[c + 4 * a >> 2] = b; + b += h.length + 1 + } + B[c + 4 * d.length >> 2] = 0 +} +var W = {}; +function xc(a) { + if(0 === a) { + return 0 + } + a = Fa(a); + if(!W.hasOwnProperty(a)) { + return 0 + } + xc.J && tc(xc.J); + xc.J = F(J(W[a]), "i8", Ka); + return xc.J +} +function yc(a, b, c) { + if(a in ub) { + if(ub[a].length > c - 1) { + return M(N.ab) + } + a = ub[a]; + for(c = 0;c < a.length;c++) { + A[b + c | 0] = a.charCodeAt(c) + } + return A[b + c | 0] = 0 + } + return M(N.A) +} +function zc(a) { + zc.buffer || (zc.buffer = Oa(256)); + yc(a, zc.buffer, 256); + return zc.buffer +} +function Ac(a) { + s.exit(a) +} +function Bc(a, b) { + var c = db(a & 255); + A[Bc.J | 0] = c; + if(-1 == gc(b, Bc.J, 1)) { + if(c = R[b]) { + c.error = l + } + return-1 + } + return c +} +var Cc = p, Dc = p, Ec = p, Fc = p, Gc = k, Hc = k; +function Ic(a) { + return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] +} +var Jc = []; +function Kc() { + var a = s.canvas; + Jc.forEach(function(b) { + b(a.width, a.height) + }) +} +function Lc() { + var a = s.canvas; + this.Ib = a.width; + this.Hb = a.height; + a.width = screen.width; + a.height = screen.height; + "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); + Kc() +} +function Mc() { + var a = s.canvas; + a.width = this.Ib; + a.height = this.Hb; + "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); + Kc() +} +var Nc, Oc, Pc, Qc, rb = ra(4); +B[rb >> 2] = 0; +var Vb = Qb(m, "/", 16895, 0), Rc = T, Sc = {type:Rc, se:{}, Ua:"/", root:m}, Tc; +Tc = O("/", {N:p}); +var Uc = Rc.z(Sc); +Uc.z = Sc; +Sc.root = Uc; +Tc && (Tc.d.z = Sc, Tc.d.ub = l, Vb = Sc.root); +zb("/tmp", 511); +zb("/dev", 511); +Nb[259] = {e:{Q:function() { + return 0 +}, write:function() { + return 0 +}}}; +Ab("/dev/null", 438, 259); +Mb(1280, {Na:function(a) { + if(!a.input.length) { + var b = m; + if(ca) { + if(process.Eb.be) { + return + } + b = process.Eb.Q() + }else { + "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) + } + if(!b) { + return m + } + a.input = J(b, l) + } + return a.input.shift() +}, W:function(a, b) { + b === m || 10 === b ? (s.print(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) +}}); +Mb(1536, {W:function(a, b) { + b === m || 10 === b ? (s.printErr(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) +}}); +Ab("/dev/tty", 438, 1280); +Ab("/dev/tty1", 438, 1536); +zb("/dev/shm", 511); +zb("/dev/shm/tmp", 511); +Xa.unshift({V:function() { + if(!s.noFSInit && !bc) { + w(!bc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + bc = l; + s.stdin = s.stdin; + s.stdout = s.stdout; + s.stderr = s.stderr; + s.stdin ? ec("/dev", "stdin", s.stdin) : Bb("/dev/tty", "/dev/stdin"); + s.stdout ? ec("/dev", "stdout", m, s.stdout) : Bb("/dev/tty", "/dev/stdout"); + s.stderr ? ec("/dev", "stderr", m, s.stderr) : Bb("/dev/tty1", "/dev/stderr"); + var a = Db("/dev/stdin", "r"); + B[Tb >> 2] = a.s; + w(1 === a.s, "invalid handle for stdin (" + a.s + ")"); + a = Db("/dev/stdout", "w"); + B[Ub >> 2] = a.s; + w(2 === a.s, "invalid handle for stdout (" + a.s + ")"); + a = Db("/dev/stderr", "w"); + B[nb >> 2] = a.s; + w(3 === a.s, "invalid handle for stderr (" + a.s + ")") + } +}}); +Ya.push({V:function() { + Yb = p +}}); +Za.push({V:function() { + bc = p; + for(var a = 0;a < R.length;a++) { + var b = R[a]; + b && Hb(b) + } +}}); +s.FS_createFolder = function(a, b, c, d) { + a = S("string" === typeof a ? a : ac(a), b); + return zb(a, cc(c, d)) +}; +s.FS_createPath = function(a, b) { + for(var a = "string" === typeof a ? a : ac(a), c = b.split("/").reverse();c.length;) { + var d = c.pop(); + if(d) { + var e = S(a, d); + try { + zb(e, 511) + }catch(f) { + } + a = e + } + } + return e +}; +s.FS_createDataFile = dc; +s.FS_createPreloadedFile = function(a, b, c, d, e, f, h, i) { + function j() { + Ec = document.pointerLockElement === v || document.mozPointerLockElement === v || document.webkitPointerLockElement === v + } + function n(c) { + function j(c) { + i || dc(a, b, c, d, e); + f && f(); + jb("cp " + C) + } + var n = p; + s.preloadPlugins.forEach(function(a) { + !n && a.canHandle(C) && (a.handle(c, C, j, function() { + h && h(); + jb("cp " + C) + }), n = l) + }); + n || j(c) + } + s.preloadPlugins || (s.preloadPlugins = []); + if(!Nc && !ea) { + Nc = l; + try { + new Blob, Oc = l + }catch(y) { + Oc = p, console.log("warning: no blob constructor, cannot create blobs with mimetypes") + } + Pc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Oc ? console.log("warning: no BlobBuilder") : m; + Qc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); + s.preloadPlugins.push({canHandle:function(a) { + return!s.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) + }, handle:function(a, b, c, d) { + var e = m; + if(Oc) { + try { + e = new Blob([a], {type:Ic(b)}), e.size !== a.length && (e = new Blob([(new Uint8Array(a)).buffer], {type:Ic(b)})) + }catch(f) { + var h = "Blob constructor present but fails: " + f + "; falling back to blob builder"; + oa || (oa = {}); + oa[h] || (oa[h] = 1, s.P(h)) + } + } + e || (e = new Pc, e.append((new Uint8Array(a)).buffer), e = e.getBlob()); + var i = Qc.createObjectURL(e), j = new Image; + j.onload = function() { + w(j.complete, "Image " + b + " could not be decoded"); + var d = document.createElement("canvas"); + d.width = j.width; + d.height = j.height; + d.getContext("2d").drawImage(j, 0, 0); + s.preloadedImages[b] = d; + Qc.revokeObjectURL(i); + c && c(a) + }; + j.onerror = function() { + console.log("Image " + i + " could not be decoded"); + d && d() + }; + j.src = i + }}); + s.preloadPlugins.push({canHandle:function(a) { + return!s.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} + }, handle:function(a, b, c, d) { + function e(d) { + h || (h = l, s.preloadedAudios[b] = d, c && c(a)) + } + function f() { + h || (h = l, s.preloadedAudios[b] = new Audio, d && d()) + } + var h = p; + if(Oc) { + try { + var i = new Blob([a], {type:Ic(b)}) + }catch(j) { + return f() + } + var i = Qc.createObjectURL(i), n = new Audio; + n.addEventListener("canplaythrough", function() { + e(n) + }, p); + n.onerror = function() { + if(!h) { + console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); + for(var c = "", d = 0, f = 0, i = 0;i < a.length;i++) { + d = d << 8 | a[i]; + for(f += 8;6 <= f;) { + var j = d >> f - 6 & 63, f = f - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] + } + } + 2 == f ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == f && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); + n.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; + e(n) + } + }; + n.src = i; + setTimeout(function() { + za || e(n) + }, 1E4) + }else { + return f() + } + }}); + var v = s.canvas; + v.qa = v.requestPointerLock || v.mozRequestPointerLock || v.webkitRequestPointerLock; + v.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); + v.La = v.La.bind(document); + document.addEventListener("pointerlockchange", j, p); + document.addEventListener("mozpointerlockchange", j, p); + document.addEventListener("webkitpointerlockchange", j, p); + s.elementPointerLock && v.addEventListener("click", function(a) { + !Ec && v.qa && (v.qa(), a.preventDefault()) + }, p) + } + var C, D = S.apply(m, [a, b]); + "/" == D[0] && (D = D.substr(1)); + C = D; + ib("cp " + C); + if("string" == typeof c) { + var K = h, H = function() { + K ? K() : g('Loading data file "' + c + '" failed.') + }, x = new XMLHttpRequest; + x.open("GET", c, l); + x.responseType = "arraybuffer"; + x.onload = function() { + if(200 == x.status || 0 == x.status && x.response) { + var a = x.response; + w(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); + a = new Uint8Array(a); + n(a); + jb("al " + c) + }else { + H() + } + }; + x.onerror = H; + x.send(m); + ib("al " + c) + }else { + n(c) + } +}; +s.FS_createLazyFile = function(a, b, c, d, e) { + var f, h; + "undefined" !== typeof XMLHttpRequest ? (ea || g("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), f = function() { + this.ma = p; + this.T = [] + }, f.prototype.get = function(a) { + if(!(a > this.length - 1 || 0 > a)) { + var b = a % this.S; + return this.pb(Math.floor(a / this.S))[b] + } + }, f.prototype.Cb = function(a) { + this.pb = a + }, f.prototype.Fa = function() { + var a = new XMLHttpRequest; + a.open("HEAD", c, p); + a.send(m); + 200 <= a.status && 300 > a.status || 304 === a.status || g(Error("Couldn't load " + c + ". Status: " + a.status)); + var b = Number(a.getResponseHeader("Content-length")), d, e = 1048576; + if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { + e = b + } + var f = this; + f.Cb(function(a) { + var d = a * e, h = (a + 1) * e - 1, h = Math.min(h, b - 1); + if("undefined" === typeof f.T[a]) { + var i = f.T; + d > h && g(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); + h > b - 1 && g(Error("only " + b + " bytes available! programmer error!")); + var j = new XMLHttpRequest; + j.open("GET", c, p); + b !== e && j.setRequestHeader("Range", "bytes=" + d + "-" + h); + "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); + j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); + j.send(m); + 200 <= j.status && 300 > j.status || 304 === j.status || g(Error("Couldn't load " + c + ". Status: " + j.status)); + d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); + i[a] = d + } + "undefined" === typeof f.T[a] && g(Error("doXHR failed!")); + return f.T[a] + }); + this.gb = b; + this.fb = e; + this.ma = l + }, f = new f, Object.defineProperty(f, "length", {get:function() { + this.ma || this.Fa(); + return this.gb + }}), Object.defineProperty(f, "chunkSize", {get:function() { + this.ma || this.Fa(); + return this.fb + }}), h = k) : (h = c, f = k); + var i, a = S("string" === typeof a ? a : ac(a), b); + i = yb(a, cc(d, e)); + f ? i.g = f : h && (i.g = m, i.url = h); + var j = {}; + Object.keys(i.e).forEach(function(a) { + var b = i.e[a]; + j[a] = function() { + var a; + if(i.ke || i.le || i.link || i.g) { + a = l + }else { + a = l; + "undefined" !== typeof XMLHttpRequest && g(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); + if(s.read) { + try { + i.g = J(s.read(i.url), l) + }catch(c) { + a = p + } + }else { + g(Error("Cannot load without read() or XMLHttpRequest.")) + } + a || M(N.I) + } + a || g(new Q(N.I)); + return b.apply(m, arguments) + } + }); + j.Q = function(a, b, c, d, e) { + a = a.d.g; + d = Math.min(a.length - e, d); + if(a.slice) { + for(var f = 0;f < d;f++) { + b[c + f] = a[e + f] + } + }else { + for(f = 0;f < d;f++) { + b[c + f] = a.get(e + f) + } + } + return d + }; + i.e = j; + return i +}; +s.FS_createLink = function(a, b, c) { + a = S("string" === typeof a ? a : ac(a), b); + return Bb(c, a) +}; +s.FS_createDevice = ec; +U.m = F(12, "void*", E); +wc(W); +Bc.J = F([0], "i8", E); +s.requestFullScreen = function(a, b) { + function c() { + Dc = p; + (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Gc && d.qa(), Dc = l, Hc && Lc()) : Hc && Mc(); + if(s.onFullScreen) { + s.onFullScreen(Dc) + } + } + Gc = a; + Hc = b; + "undefined" === typeof Gc && (Gc = l); + "undefined" === typeof Hc && (Hc = p); + var d = s.canvas; + Fc || (Fc = l, document.addEventListener("fullscreenchange", c, p), document.addEventListener("mozfullscreenchange", c, p), document.addEventListener("webkitfullscreenchange", c, p)); + d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { + d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) + } : m); + d.Ab() +}; +s.requestAnimationFrame = function(a) { + window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); + window.requestAnimationFrame(a) +}; +s.pauseMainLoop = aa(); +s.resumeMainLoop = function() { + Cc && (Cc = p, m()) +}; +s.getUserMedia = function() { + window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); + window.Ma(k) +}; +Sa = u = xa(sa); +Ta = Sa + 5242880; +Ua = z = xa(Ta); +w(Ua < va); +var Vc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Wc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, +2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, +0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Xc = Math.min; +var V = (function(global,env,buffer) { +// EMSCRIPTEN_START_ASM + "use asm"; + var a = new global.Int8Array(buffer); + var b = new global.Int16Array(buffer); + var c = new global.Int32Array(buffer); + var d = new global.Uint8Array(buffer); + var e = new global.Uint16Array(buffer); + var f = new global.Uint32Array(buffer); + var g = new global.Float32Array(buffer); + var h = new global.Float64Array(buffer); + var i = env.STACKTOP | 0; + var j = env.STACK_MAX | 0; + var k = env.tempDoublePtr | 0; + var l = env.ABORT | 0; + var m = env.cttz_i8 | 0; + var n = env.ctlz_i8 | 0; + var o = env._stderr | 0; + var p = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; + var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; + var r = env.___progname | 0; + var s = +env.NaN; + var t = +env.Infinity; + var u = 0; + var v = 0; + var w = 0; + var x = 0; + var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; + var H = 0; + var I = 0; + var J = 0; + var K = 0; + var L = 0; + var M = 0; + var N = 0; + var O = 0; + var P = 0; + var Q = 0; + var R = global.Math.floor; + var S = global.Math.abs; + var T = global.Math.sqrt; + var U = global.Math.pow; + var V = global.Math.cos; + var W = global.Math.sin; + var X = global.Math.tan; + var Y = global.Math.acos; + var Z = global.Math.asin; + var _ = global.Math.atan; + var $ = global.Math.atan2; + var aa = global.Math.exp; + var ab = global.Math.log; + var ac = global.Math.ceil; + var ad = global.Math.imul; + var ae = env.abort; + var af = env.assert; + var ag = env.asmPrintInt; + var ah = env.asmPrintFloat; + var ai = env.min; + var aj = env.invoke_vi; + var ak = env.invoke_vii; + var al = env.invoke_ii; + var am = env.invoke_viii; + var an = env.invoke_v; + var ao = env.invoke_iii; + var ap = env._strncmp; + var aq = env._llvm_va_end; + var ar = env._sysconf; + var as = env.___cxa_throw; + var at = env._strerror; + var au = env._abort; + var av = env._fprintf; + var aw = env._llvm_eh_exception; + var ax = env.___cxa_free_exception; + var ay = env._fflush; + var az = env.___buildEnvironment; + var aA = env.__reallyNegative; + var aB = env._strchr; + var aC = env._fputc; + var aD = env.___setErrNo; + var aE = env._fwrite; + var aF = env._send; + var aG = env._write; + var aH = env._exit; + var aI = env.___cxa_find_matching_catch; + var aJ = env.___cxa_allocate_exception; + var aK = env._isspace; + var aL = env.__formatString; + var aM = env.___resumeException; + var aN = env._llvm_uadd_with_overflow_i32; + var aO = env.___cxa_does_inherit; + var aP = env._getenv; + var aQ = env._vfprintf; + var aR = env.___cxa_begin_catch; + var aS = env.__ZSt18uncaught_exceptionv; + var aT = env._pwrite; + var aU = env.___cxa_call_unexpected; + var aV = env._sbrk; + var aW = env._strerror_r; + var aX = env.___errno_location; + var aY = env.___gxx_personality_v0; + var aZ = env.___cxa_is_number_type; + var a_ = env._time; + var a$ = env.__exit; + var a0 = env.___cxa_end_catch; +// EMSCRIPTEN_START_FUNCS +function a7(a) { + a = a | 0; + var b = 0; + b = i; + i = i + a | 0; + i = i + 7 >> 3 << 3; + return b | 0; +} +function a8() { + return i | 0; +} +function a9(a) { + a = a | 0; + i = a; +} +function ba(a, b) { + a = a | 0; + b = b | 0; + if ((u | 0) == 0) { + u = a; + v = b; + } +} +function bb(b) { + b = b | 0; + a[k] = a[b]; + a[k + 1 | 0] = a[b + 1 | 0]; + a[k + 2 | 0] = a[b + 2 | 0]; + a[k + 3 | 0] = a[b + 3 | 0]; +} +function bc(b) { + b = b | 0; + a[k] = a[b]; + a[k + 1 | 0] = a[b + 1 | 0]; + a[k + 2 | 0] = a[b + 2 | 0]; + a[k + 3 | 0] = a[b + 3 | 0]; + a[k + 4 | 0] = a[b + 4 | 0]; + a[k + 5 | 0] = a[b + 5 | 0]; + a[k + 6 | 0] = a[b + 6 | 0]; + a[k + 7 | 0] = a[b + 7 | 0]; +} +function bd(a) { + a = a | 0; + H = a; +} +function be(a) { + a = a | 0; + I = a; +} +function bf(a) { + a = a | 0; + J = a; +} +function bg(a) { + a = a | 0; + K = a; +} +function bh(a) { + a = a | 0; + L = a; +} +function bi(a) { + a = a | 0; + M = a; +} +function bj(a) { + a = a | 0; + N = a; +} +function bk(a) { + a = a | 0; + O = a; +} +function bl(a) { + a = a | 0; + P = a; +} +function bm(a) { + a = a | 0; + Q = a; +} +function bn() { + c[170] = q + 8; + c[172] = p + 8; + c[176] = p + 8; +} +function bo(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + if ((d | 0) == 0) { + return; + } else { + e = 0; + } + do { + a[b + e | 0] = a[c + e | 0] | 0; + e = e + 1 | 0; + } while (e >>> 0 < d >>> 0); + return; +} +function bp(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + if ((d | 0) == 0) { + return; + } else { + e = 0; + } + do { + f = b + e | 0; + a[f] = a[f] ^ a[c + e | 0]; + e = e + 1 | 0; + } while (e >>> 0 < d >>> 0); + return; +} +function bq(a) { + a = a | 0; + var b = 0, c = 0, e = 0, f = 0; + b = d[a + 1 | 0] | 0; + c = d[a + 2 | 0] | 0; + e = d[a + 3 | 0] | 0; + f = cN(b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24), 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24), 0 << 16 | 0 >>> 16, (d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | 0; + e = cN(f, H, 0 << 24 | 0 >>> 8, (d[a + 7 | 0] | 0) << 24 | 0 >>> 8) | 0; + return (H = H, e) | 0; +} +function br(a) { + a = a | 0; + return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; +} +function bs(b, c) { + b = b | 0; + c = c | 0; + a[b] = c & 255; + a[b + 1 | 0] = c >>> 8 & 255; + a[b + 2 | 0] = c >>> 16 & 255; + a[b + 3 | 0] = c >>> 24 & 255; + return; +} +function bt(a) { + a = a | 0; + c[a + 36 >> 2] = 0; + c[a + 32 >> 2] = 0; + c[a >> 2] = 1779033703; + c[a + 4 >> 2] = -1150833019; + c[a + 8 >> 2] = 1013904242; + c[a + 12 >> 2] = -1521486534; + c[a + 16 >> 2] = 1359893119; + c[a + 20 >> 2] = -1694144372; + c[a + 24 >> 2] = 528734635; + c[a + 28 >> 2] = 1541459225; + return; +} +function bu(a, b, d, e, f, g, h, i, j, k) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + i = i | 0; + j = j | 0; + k = k | 0; + var l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + l = cX(i, 0, h, 0) | 0; + m = H; + n = 0; + if (m >>> 0 > n >>> 0 | m >>> 0 == n >>> 0 & l >>> 0 > 1073741823 >>> 0) { + c[(aX() | 0) >> 2] = 27; + o = -1; + return o | 0; + } + l = cN(f, g, -1, -1) | 0; + if ((l & f | 0) != 0 | (H & g | 0) != 0 | (f | 0) == 0 & (g | 0) == 0) { + c[(aX() | 0) >> 2] = 22; + o = -1; + return o | 0; + } + do { + if (!((33554431 / (i >>> 0) | 0) >>> 0 < h >>> 0 | h >>> 0 > 16777215)) { + l = 0; + if (l >>> 0 < g >>> 0 | l >>> 0 == g >>> 0 & (33554431 / (h >>> 0) | 0) >>> 0 < f >>> 0) { + break; + } + l = h << 7; + n = bL(ad(l, i) | 0) | 0; + if ((n | 0) == 0) { + o = -1; + return o | 0; + } + m = bL(h << 8) | 0; + do { + if ((m | 0) != 0) { + p = cX(l, 0, f, g) | 0; + q = bL(p) | 0; + if ((q | 0) == 0) { + bM(m); + break; + } + p = ad(i << 7, h) | 0; + bJ(a, b, d, e, 1, 0, n, p); + if ((i | 0) != 0) { + r = h << 7; + s = 0; + do { + bv(n + (ad(r, s) | 0) | 0, h, f, g, q, m); + s = s + 1 | 0; + } while (s >>> 0 < i >>> 0); + } + bJ(a, b, n, p, 1, 0, j, k); + bM(q); + bM(m); + bM(n); + o = 0; + return o | 0; + } + } while (0); + bM(n); + o = -1; + return o | 0; + } + } while (0); + c[(aX() | 0) >> 2] = 12; + o = -1; + return o | 0; +} +function bv(a, b, c, d, e, f) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + g = b << 7; + h = f + g | 0; + bo(f, a, g); + if ((c | 0) == 0 & (d | 0) == 0) { + bo(a, f, g); + return; + } + i = g; + j = 0; + k = 0; + l = 0; + do { + m = cX(l, k, i, j) | 0; + bo(e + m | 0, f, g); + bw(f, h, b); + l = cN(l, k, 1, 0) | 0; + k = H; + } while (k >>> 0 < d >>> 0 | k >>> 0 == d >>> 0 & l >>> 0 < c >>> 0); + if ((c | 0) == 0 & (d | 0) == 0) { + bo(a, f, g); + return; + } + l = cN(c, d, -1, -1) | 0; + k = H; + j = g; + i = 0; + m = 0; + n = 0; + do { + o = bx(f, b) | 0; + p = cX(o & l, H & k, j, i) | 0; + bp(f, e + p | 0, g); + bw(f, h, b); + n = cN(n, m, 1, 0) | 0; + m = H; + } while (m >>> 0 < d >>> 0 | m >>> 0 == d >>> 0 & n >>> 0 < c >>> 0); + bo(a, f, g); + return; +} +function bw(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; + d = i; + i = i + 64 | 0; + e = d | 0; + f = c << 1; + bo(e, a + ((c << 7) - 64) | 0, 64); + if ((f | 0) != 0) { + g = 0; + do { + h = g << 6; + bp(e, a + h | 0, 64); + by(e); + bo(b + h | 0, e, 64); + g = g + 1 | 0; + } while (g >>> 0 < f >>> 0); + } + if ((c | 0) == 0) { + i = d; + return; + } else { + j = 0; + } + do { + bo(a + (j << 6) | 0, b + (j << 7) | 0, 64); + j = j + 1 | 0; + } while (j >>> 0 < c >>> 0); + if ((c | 0) == 0) { + i = d; + return; + } else { + k = 0; + } + do { + bo(a + (k + c << 6) | 0, b + (k << 7 | 64) | 0, 64); + k = k + 1 | 0; + } while (k >>> 0 < c >>> 0); + i = d; + return; +} +function bx(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + c = bq(a + ((b << 7) - 64) | 0) | 0; + return (H = H, c) | 0; +} +function by(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0; + b = i; + i = i + 128 | 0; + d = b | 0; + e = b + 64 | 0; + f = 0; + do { + c[d + (f << 2) >> 2] = br(a + (f << 2) | 0) | 0; + f = f + 1 | 0; + } while (f >>> 0 < 16); + f = d; + g = e; + cK(g | 0, f | 0, 64) | 0; + f = e | 0; + g = e + 48 | 0; + h = e + 16 | 0; + j = e + 32 | 0; + k = e + 20 | 0; + l = e + 4 | 0; + m = e + 36 | 0; + n = e + 52 | 0; + o = e + 40 | 0; + p = e + 24 | 0; + q = e + 56 | 0; + r = e + 8 | 0; + s = e + 60 | 0; + t = e + 44 | 0; + u = e + 12 | 0; + v = e + 28 | 0; + w = 0; + x = c[f >> 2] | 0; + y = c[g >> 2] | 0; + z = c[h >> 2] | 0; + A = c[j >> 2] | 0; + B = c[k >> 2] | 0; + C = c[l >> 2] | 0; + D = c[m >> 2] | 0; + E = c[n >> 2] | 0; + F = c[o >> 2] | 0; + G = c[p >> 2] | 0; + H = c[q >> 2] | 0; + I = c[r >> 2] | 0; + J = c[s >> 2] | 0; + K = c[t >> 2] | 0; + L = c[u >> 2] | 0; + M = c[v >> 2] | 0; + do { + N = y + x | 0; + O = (N << 7 | N >>> 25) ^ z; + N = O + x | 0; + P = (N << 9 | N >>> 23) ^ A; + N = P + O | 0; + Q = (N << 13 | N >>> 19) ^ y; + N = Q + P | 0; + R = (N << 18 | N >>> 14) ^ x; + N = C + B | 0; + S = (N << 7 | N >>> 25) ^ D; + N = S + B | 0; + T = (N << 9 | N >>> 23) ^ E; + N = T + S | 0; + U = (N << 13 | N >>> 19) ^ C; + N = U + T | 0; + V = (N << 18 | N >>> 14) ^ B; + N = G + F | 0; + W = (N << 7 | N >>> 25) ^ H; + N = W + F | 0; + X = (N << 9 | N >>> 23) ^ I; + N = X + W | 0; + Y = (N << 13 | N >>> 19) ^ G; + N = Y + X | 0; + Z = (N << 18 | N >>> 14) ^ F; + N = K + J | 0; + _ = (N << 7 | N >>> 25) ^ L; + N = _ + J | 0; + $ = (N << 9 | N >>> 23) ^ M; + N = $ + _ | 0; + aa = (N << 13 | N >>> 19) ^ K; + N = aa + $ | 0; + ab = (N << 18 | N >>> 14) ^ J; + N = _ + R | 0; + C = (N << 7 | N >>> 25) ^ U; + U = C + R | 0; + I = (U << 9 | U >>> 23) ^ X; + X = I + C | 0; + L = (X << 13 | X >>> 19) ^ _; + _ = L + I | 0; + x = (_ << 18 | _ >>> 14) ^ R; + R = O + V | 0; + G = (R << 7 | R >>> 25) ^ Y; + Y = G + V | 0; + M = (Y << 9 | Y >>> 23) ^ $; + $ = M + G | 0; + z = ($ << 13 | $ >>> 19) ^ O; + O = z + M | 0; + B = (O << 18 | O >>> 14) ^ V; + V = S + Z | 0; + K = (V << 7 | V >>> 25) ^ aa; + aa = K + Z | 0; + A = (aa << 9 | aa >>> 23) ^ P; + P = A + K | 0; + D = (P << 13 | P >>> 19) ^ S; + S = D + A | 0; + F = (S << 18 | S >>> 14) ^ Z; + Z = W + ab | 0; + y = (Z << 7 | Z >>> 25) ^ Q; + Q = y + ab | 0; + E = (Q << 9 | Q >>> 23) ^ T; + T = E + y | 0; + H = (T << 13 | T >>> 19) ^ W; + W = H + E | 0; + J = (W << 18 | W >>> 14) ^ ab; + w = w + 2 | 0; + } while (w >>> 0 < 8); + c[f >> 2] = x; + c[g >> 2] = y; + c[h >> 2] = z; + c[j >> 2] = A; + c[k >> 2] = B; + c[l >> 2] = C; + c[m >> 2] = D; + c[n >> 2] = E; + c[o >> 2] = F; + c[p >> 2] = G; + c[q >> 2] = H; + c[r >> 2] = I; + c[s >> 2] = J; + c[t >> 2] = K; + c[u >> 2] = L; + c[v >> 2] = M; + M = d | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e >> 2] | 0); + M = d + 4 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 4 >> 2] | 0); + M = d + 8 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 8 >> 2] | 0); + M = d + 12 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 12 >> 2] | 0); + M = d + 16 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 16 >> 2] | 0); + M = d + 20 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 20 >> 2] | 0); + M = d + 24 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 24 >> 2] | 0); + M = d + 28 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 28 >> 2] | 0); + M = d + 32 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 32 >> 2] | 0); + M = d + 36 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 36 >> 2] | 0); + M = d + 40 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 40 >> 2] | 0); + M = d + 44 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 44 >> 2] | 0); + M = d + 48 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 48 >> 2] | 0); + M = d + 52 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 52 >> 2] | 0); + M = d + 56 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 56 >> 2] | 0); + M = d + 60 | 0; + c[M >> 2] = (c[M >> 2] | 0) + (c[e + 60 >> 2] | 0); + e = 0; + do { + bs(a + (e << 2) | 0, c[d + (e << 2) >> 2] | 0); + e = e + 1 | 0; + } while (e >>> 0 < 16); + i = b; + return; +} +function bz(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; + e = a + 32 | 0; + f = a + 36 | 0; + g = c[f >> 2] | 0; + h = g >>> 3 & 63; + i = aN(g | 0, d << 3 | 0) | 0; + c[f >> 2] = i; + if (H) { + i = e | 0; + c[i >> 2] = (c[i >> 2] | 0) + 1; + } + i = e | 0; + c[i >> 2] = (c[i >> 2] | 0) + (d >>> 29); + i = 64 - h | 0; + e = a + 40 + h | 0; + if (i >>> 0 > d >>> 0) { + cK(e | 0, b | 0, d) | 0; + return; + } + cK(e | 0, b | 0, i) | 0; + e = a | 0; + h = a + 40 | 0; + bA(e, h); + a = b + i | 0; + b = d - i | 0; + if (b >>> 0 > 63) { + i = b; + d = a; + while (1) { + bA(e, d); + f = d + 64 | 0; + g = i - 64 | 0; + if (g >>> 0 > 63) { + i = g; + d = f; + } else { + j = g; + k = f; + break; + } + } + } else { + j = b; + k = a; + } + cK(h | 0, k | 0, j) | 0; + return; +} +function bA(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; + d = i; + i = i + 288 | 0; + e = d | 0; + f = d + 256 | 0; + g = e | 0; + bK(g, b); + b = 16; + do { + h = c[e + (b - 2 << 2) >> 2] | 0; + j = c[e + (b - 15 << 2) >> 2] | 0; + c[e + (b << 2) >> 2] = (c[e + (b - 16 << 2) >> 2] | 0) + (c[e + (b - 7 << 2) >> 2] | 0) + ((h >>> 19 | h << 13) ^ h >>> 10 ^ (h >>> 17 | h << 15)) + ((j >>> 18 | j << 14) ^ j >>> 3 ^ (j >>> 7 | j << 25)); + b = b + 1 | 0; + } while ((b | 0) < 64); + b = f; + j = a; + cK(b | 0, j | 0, 32) | 0; + j = f + 28 | 0; + b = f + 16 | 0; + h = c[b >> 2] | 0; + k = f + 20 | 0; + l = f + 24 | 0; + m = c[l >> 2] | 0; + n = (c[j >> 2] | 0) + 1116352408 + (c[g >> 2] | 0) + ((h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7)) + ((m ^ c[k >> 2]) & h ^ m) | 0; + m = f | 0; + h = c[m >> 2] | 0; + g = f + 4 | 0; + o = c[g >> 2] | 0; + p = f + 8 | 0; + q = c[p >> 2] | 0; + r = f + 12 | 0; + c[r >> 2] = (c[r >> 2] | 0) + n; + s = ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + n + ((q | o) & h | q & o) | 0; + c[j >> 2] = s; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + h = (c[l >> 2] | 0) + 1899447441 + (c[e + 4 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[l >> 2] = n; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + s = (c[k >> 2] | 0) - 1245643825 + (c[e + 8 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[k >> 2] = h; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + n = (c[b >> 2] | 0) - 373957723 + (c[e + 12 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[b >> 2] = s; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + h = (c[r >> 2] | 0) + 961987163 + (c[e + 16 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[r >> 2] = n; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + s = (c[p >> 2] | 0) + 1508970993 + (c[e + 20 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[p >> 2] = h; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + n = (c[g >> 2] | 0) - 1841331548 + (c[e + 24 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[g >> 2] = s; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + h = (c[m >> 2] | 0) - 1424204075 + (c[e + 28 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[m >> 2] = n; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + s = (c[j >> 2] | 0) - 670586216 + (c[e + 32 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[j >> 2] = h; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + n = (c[l >> 2] | 0) + 310598401 + (c[e + 36 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[l >> 2] = s; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + h = (c[k >> 2] | 0) + 607225278 + (c[e + 40 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[k >> 2] = n; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + s = (c[b >> 2] | 0) + 1426881987 + (c[e + 44 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[b >> 2] = h; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + n = (c[r >> 2] | 0) + 1925078388 + (c[e + 48 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[r >> 2] = s; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + h = (c[p >> 2] | 0) - 2132889090 + (c[e + 52 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[p >> 2] = n; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + s = (c[g >> 2] | 0) - 1680079193 + (c[e + 56 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[g >> 2] = h; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + n = (c[m >> 2] | 0) - 1046744716 + (c[e + 60 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[m >> 2] = s; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + h = (c[j >> 2] | 0) - 459576895 + (c[e + 64 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[j >> 2] = n; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + s = (c[l >> 2] | 0) - 272742522 + (c[e + 68 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[l >> 2] = h; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + n = (c[k >> 2] | 0) + 264347078 + (c[e + 72 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[k >> 2] = s; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + h = (c[b >> 2] | 0) + 604807628 + (c[e + 76 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[b >> 2] = n; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + s = (c[r >> 2] | 0) + 770255983 + (c[e + 80 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[r >> 2] = h; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + n = (c[p >> 2] | 0) + 1249150122 + (c[e + 84 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[p >> 2] = s; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + h = (c[g >> 2] | 0) + 1555081692 + (c[e + 88 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[g >> 2] = n; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + s = (c[m >> 2] | 0) + 1996064986 + (c[e + 92 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[m >> 2] = h; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + n = (c[j >> 2] | 0) - 1740746414 + (c[e + 96 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[j >> 2] = s; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + h = (c[l >> 2] | 0) - 1473132947 + (c[e + 100 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[l >> 2] = n; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + s = (c[k >> 2] | 0) - 1341970488 + (c[e + 104 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[k >> 2] = h; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + n = (c[b >> 2] | 0) - 1084653625 + (c[e + 108 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[b >> 2] = s; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + h = (c[r >> 2] | 0) - 958395405 + (c[e + 112 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[r >> 2] = n; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + s = (c[p >> 2] | 0) - 710438585 + (c[e + 116 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[p >> 2] = h; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + n = (c[g >> 2] | 0) + 113926993 + (c[e + 120 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[g >> 2] = s; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + h = (c[m >> 2] | 0) + 338241895 + (c[e + 124 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[m >> 2] = n; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + s = (c[j >> 2] | 0) + 666307205 + (c[e + 128 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[j >> 2] = h; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + n = (c[l >> 2] | 0) + 773529912 + (c[e + 132 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[l >> 2] = s; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + h = (c[k >> 2] | 0) + 1294757372 + (c[e + 136 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[k >> 2] = n; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + s = (c[b >> 2] | 0) + 1396182291 + (c[e + 140 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[b >> 2] = h; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + n = (c[r >> 2] | 0) + 1695183700 + (c[e + 144 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[r >> 2] = s; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + h = (c[p >> 2] | 0) + 1986661051 + (c[e + 148 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[p >> 2] = n; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + s = (c[g >> 2] | 0) - 2117940946 + (c[e + 152 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[g >> 2] = h; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + n = (c[m >> 2] | 0) - 1838011259 + (c[e + 156 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[m >> 2] = s; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + h = (c[j >> 2] | 0) - 1564481375 + (c[e + 160 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[j >> 2] = n; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + s = (c[l >> 2] | 0) - 1474664885 + (c[e + 164 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[l >> 2] = h; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + n = (c[k >> 2] | 0) - 1035236496 + (c[e + 168 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[k >> 2] = s; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + h = (c[b >> 2] | 0) - 949202525 + (c[e + 172 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[b >> 2] = n; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + s = (c[r >> 2] | 0) - 778901479 + (c[e + 176 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[r >> 2] = h; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + n = (c[p >> 2] | 0) - 694614492 + (c[e + 180 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[p >> 2] = s; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + h = (c[g >> 2] | 0) - 200395387 + (c[e + 184 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[g >> 2] = n; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + s = (c[m >> 2] | 0) + 275423344 + (c[e + 188 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[m >> 2] = h; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + n = (c[j >> 2] | 0) + 430227734 + (c[e + 192 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[j >> 2] = s; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + h = (c[l >> 2] | 0) + 506948616 + (c[e + 196 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[l >> 2] = n; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + s = (c[k >> 2] | 0) + 659060556 + (c[e + 200 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[k >> 2] = h; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + n = (c[b >> 2] | 0) + 883997877 + (c[e + 204 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[b >> 2] = s; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + h = (c[r >> 2] | 0) + 958139571 + (c[e + 208 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[r >> 2] = n; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + s = (c[p >> 2] | 0) + 1322822218 + (c[e + 212 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[p >> 2] = h; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + n = (c[g >> 2] | 0) + 1537002063 + (c[e + 216 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[g >> 2] = s; + o = c[k >> 2] | 0; + q = c[j >> 2] | 0; + h = (c[m >> 2] | 0) + 1747873779 + (c[e + 220 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; + q = c[p >> 2] | 0; + o = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[m >> 2] = n; + q = c[b >> 2] | 0; + o = c[l >> 2] | 0; + s = (c[j >> 2] | 0) + 1955562222 + (c[e + 224 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; + o = c[g >> 2] | 0; + q = c[p >> 2] | 0; + c[r >> 2] = (c[r >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[j >> 2] = h; + o = c[r >> 2] | 0; + q = c[k >> 2] | 0; + n = (c[l >> 2] | 0) + 2024104815 + (c[e + 228 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; + q = c[m >> 2] | 0; + o = c[g >> 2] | 0; + c[p >> 2] = (c[p >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; + c[l >> 2] = s; + q = c[p >> 2] | 0; + o = c[b >> 2] | 0; + h = (c[k >> 2] | 0) - 2067236844 + (c[e + 232 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; + o = c[j >> 2] | 0; + q = c[m >> 2] | 0; + c[g >> 2] = (c[g >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; + c[k >> 2] = n; + o = c[g >> 2] | 0; + q = c[r >> 2] | 0; + s = (c[b >> 2] | 0) - 1933114872 + (c[e + 236 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; + q = c[l >> 2] | 0; + o = c[j >> 2] | 0; + c[m >> 2] = (c[m >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; + c[b >> 2] = h; + q = c[m >> 2] | 0; + o = c[p >> 2] | 0; + n = (c[r >> 2] | 0) - 1866530822 + (c[e + 240 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; + o = c[k >> 2] | 0; + q = c[l >> 2] | 0; + c[j >> 2] = (c[j >> 2] | 0) + n; + s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; + c[r >> 2] = s; + o = c[j >> 2] | 0; + q = c[g >> 2] | 0; + h = (c[p >> 2] | 0) - 1538233109 + (c[e + 244 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; + q = c[b >> 2] | 0; + o = c[k >> 2] | 0; + c[l >> 2] = (c[l >> 2] | 0) + h; + n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; + c[p >> 2] = n; + q = c[l >> 2] | 0; + o = c[m >> 2] | 0; + s = (c[g >> 2] | 0) - 1090935817 + (c[e + 248 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; + o = c[r >> 2] | 0; + q = c[b >> 2] | 0; + c[k >> 2] = (c[k >> 2] | 0) + s; + h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; + c[g >> 2] = h; + g = c[k >> 2] | 0; + k = c[j >> 2] | 0; + j = (c[m >> 2] | 0) - 965641998 + (c[e + 252 >> 2] | 0) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) + ((k ^ c[l >> 2]) & g ^ k) | 0; + k = c[p >> 2] | 0; + p = c[r >> 2] | 0; + c[b >> 2] = (c[b >> 2] | 0) + j; + b = j + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((p | k) & h | p & k) | 0; + c[m >> 2] = b; + c[a >> 2] = (c[a >> 2] | 0) + b; + b = a + 4 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 4 >> 2] | 0); + b = a + 8 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 8 >> 2] | 0); + b = a + 12 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 12 >> 2] | 0); + b = a + 16 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 16 >> 2] | 0); + b = a + 20 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 20 >> 2] | 0); + b = a + 24 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 24 >> 2] | 0); + b = a + 28 | 0; + c[b >> 2] = (c[b >> 2] | 0) + (c[f + 28 >> 2] | 0); + i = d; + return; +} +function bB(b, c) { + b = b | 0; + c = c | 0; + a[b + 3 | 0] = c & 255; + a[b + 2 | 0] = c >>> 8 & 255; + a[b + 1 | 0] = c >>> 16 & 255; + a[b] = c >>> 24 & 255; + return; +} +function bC(a) { + a = a | 0; + return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; +} +function bD(a, b) { + a = a | 0; + b = b | 0; + bE(b); + bF(a, b | 0, 32); + cL(b | 0, 0, 104); + return; +} +function bE(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = i; + i = i + 8 | 0; + d = b | 0; + bF(d, a + 32 | 0, 8); + e = (c[a + 36 >> 2] | 0) >>> 3 & 63; + bz(a, 720, (e >>> 0 < 56 ? 56 : 120) - e | 0); + bz(a, d, 8); + i = b; + return; +} +function bF(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = d >>> 2; + if ((e | 0) == 0) { + return; + } else { + f = 0; + } + do { + bB(a + (f << 2) | 0, c[b + (f << 2) >> 2] | 0); + f = f + 1 | 0; + } while (f >>> 0 < e >>> 0); + return; +} +function bG(b, c, d) { + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; + e = i; + i = i + 96 | 0; + f = e | 0; + if (d >>> 0 > 64) { + g = b | 0; + bt(g); + bz(g, c, d); + h = e + 64 | 0; + bD(h, g); + j = h; + k = 32; + } else { + j = c; + k = d; + } + d = b | 0; + bt(d); + c = f | 0; + cL(c | 0, 54, 64); + if ((k | 0) != 0) { + h = 0; + do { + g = f + h | 0; + a[g] = a[g] ^ a[j + h | 0]; + h = h + 1 | 0; + } while (h >>> 0 < k >>> 0); + } + bz(d, c, 64); + d = b + 104 | 0; + bt(d); + cL(c | 0, 92, 64); + if ((k | 0) == 0) { + bz(d, c, 64); + i = e; + return; + } else { + l = 0; + } + do { + b = f + l | 0; + a[b] = a[b] ^ a[j + l | 0]; + l = l + 1 | 0; + } while (l >>> 0 < k >>> 0); + bz(d, c, 64); + i = e; + return; +} +function bH(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + bz(a | 0, b, c); + return; +} +function bI(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0; + c = i; + i = i + 32 | 0; + d = c | 0; + bD(d, b | 0); + e = b + 104 | 0; + bz(e, d, 32); + bD(a, e); + i = c; + return; +} +function bJ(b, c, d, e, f, g, h, j) { + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + j = j | 0; + var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + k = i; + i = i + 488 | 0; + l = k | 0; + m = k + 208 | 0; + n = k + 424 | 0; + o = k + 456 | 0; + bG(l, b, c); + bH(l, d, e); + if ((j | 0) == 0) { + i = k; + return; + } + e = k + 416 | 0; + d = m; + p = l; + l = n | 0; + q = o | 0; + r = 0; + s = g >>> 0 < r >>> 0 | g >>> 0 == r >>> 0 & f >>> 0 < 2 >>> 0; + r = 0; + t = 0; + do { + r = r + 1 | 0; + bB(e, r); + cK(d | 0, p | 0, 208) | 0; + bH(m, e, 4); + bI(l, m); + cK(q | 0, l | 0, 32) | 0; + if (!s) { + u = 0; + v = 2; + do { + bG(m, b, c); + bH(m, l, 32); + bI(l, m); + w = 0; + do { + x = o + w | 0; + a[x] = a[x] ^ a[n + w | 0]; + w = w + 1 | 0; + } while ((w | 0) < 32); + v = cN(v, u, 1, 0) | 0; + u = H; + } while (!(u >>> 0 > g >>> 0 | u >>> 0 == g >>> 0 & v >>> 0 > f >>> 0)); + } + v = j - t | 0; + u = v >>> 0 > 32 ? 32 : v; + v = h + t | 0; + cK(v | 0, q | 0, u) | 0; + t = r << 5; + } while (t >>> 0 < j >>> 0); + i = k; + return; +} +function bK(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + d = 0; + do { + c[a + (d << 2) >> 2] = bC(b + (d << 2) | 0) | 0; + d = d + 1 | 0; + } while (d >>> 0 < 16); + return; +} +function bL(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; + do { + if (a >>> 0 < 245) { + if (a >>> 0 < 11) { + b = 16; + } else { + b = a + 11 & -8; + } + d = b >>> 3; + e = c[208] | 0; + f = e >>> (d >>> 0); + if ((f & 3 | 0) != 0) { + g = (f & 1 ^ 1) + d | 0; + h = g << 1; + i = 872 + (h << 2) | 0; + j = 872 + (h + 2 << 2) | 0; + h = c[j >> 2] | 0; + k = h + 8 | 0; + l = c[k >> 2] | 0; + do { + if ((i | 0) == (l | 0)) { + c[208] = e & ~(1 << g); + } else { + if (l >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + m = l + 12 | 0; + if ((c[m >> 2] | 0) == (h | 0)) { + c[m >> 2] = i; + c[j >> 2] = l; + break; + } else { + au(); + return 0; + } + } + } while (0); + l = g << 3; + c[h + 4 >> 2] = l | 3; + j = h + (l | 4) | 0; + c[j >> 2] = c[j >> 2] | 1; + n = k; + return n | 0; + } + if (b >>> 0 <= (c[210] | 0) >>> 0) { + o = b; + break; + } + if ((f | 0) != 0) { + j = 2 << d; + l = f << d & (j | -j); + j = (l & -l) - 1 | 0; + l = j >>> 12 & 16; + i = j >>> (l >>> 0); + j = i >>> 5 & 8; + m = i >>> (j >>> 0); + i = m >>> 2 & 4; + p = m >>> (i >>> 0); + m = p >>> 1 & 2; + q = p >>> (m >>> 0); + p = q >>> 1 & 1; + r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; + p = r << 1; + q = 872 + (p << 2) | 0; + m = 872 + (p + 2 << 2) | 0; + p = c[m >> 2] | 0; + i = p + 8 | 0; + l = c[i >> 2] | 0; + do { + if ((q | 0) == (l | 0)) { + c[208] = e & ~(1 << r); + } else { + if (l >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + j = l + 12 | 0; + if ((c[j >> 2] | 0) == (p | 0)) { + c[j >> 2] = q; + c[m >> 2] = l; + break; + } else { + au(); + return 0; + } + } + } while (0); + l = r << 3; + m = l - b | 0; + c[p + 4 >> 2] = b | 3; + q = p; + e = q + b | 0; + c[q + (b | 4) >> 2] = m | 1; + c[q + l >> 2] = m; + l = c[210] | 0; + if ((l | 0) != 0) { + q = c[213] | 0; + d = l >>> 3; + l = d << 1; + f = 872 + (l << 2) | 0; + k = c[208] | 0; + h = 1 << d; + do { + if ((k & h | 0) == 0) { + c[208] = k | h; + s = f; + t = 872 + (l + 2 << 2) | 0; + } else { + d = 872 + (l + 2 << 2) | 0; + g = c[d >> 2] | 0; + if (g >>> 0 >= (c[212] | 0) >>> 0) { + s = g; + t = d; + break; + } + au(); + return 0; + } + } while (0); + c[t >> 2] = q; + c[s + 12 >> 2] = q; + c[q + 8 >> 2] = s; + c[q + 12 >> 2] = f; + } + c[210] = m; + c[213] = e; + n = i; + return n | 0; + } + l = c[209] | 0; + if ((l | 0) == 0) { + o = b; + break; + } + h = (l & -l) - 1 | 0; + l = h >>> 12 & 16; + k = h >>> (l >>> 0); + h = k >>> 5 & 8; + p = k >>> (h >>> 0); + k = p >>> 2 & 4; + r = p >>> (k >>> 0); + p = r >>> 1 & 2; + d = r >>> (p >>> 0); + r = d >>> 1 & 1; + g = c[1136 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; + r = g; + d = g; + p = (c[g + 4 >> 2] & -8) - b | 0; + while (1) { + g = c[r + 16 >> 2] | 0; + if ((g | 0) == 0) { + k = c[r + 20 >> 2] | 0; + if ((k | 0) == 0) { + break; + } else { + u = k; + } + } else { + u = g; + } + g = (c[u + 4 >> 2] & -8) - b | 0; + k = g >>> 0 < p >>> 0; + r = u; + d = k ? u : d; + p = k ? g : p; + } + r = d; + i = c[212] | 0; + if (r >>> 0 < i >>> 0) { + au(); + return 0; + } + e = r + b | 0; + m = e; + if (r >>> 0 >= e >>> 0) { + au(); + return 0; + } + e = c[d + 24 >> 2] | 0; + f = c[d + 12 >> 2] | 0; + do { + if ((f | 0) == (d | 0)) { + q = d + 20 | 0; + g = c[q >> 2] | 0; + if ((g | 0) == 0) { + k = d + 16 | 0; + l = c[k >> 2] | 0; + if ((l | 0) == 0) { + v = 0; + break; + } else { + w = l; + x = k; + } + } else { + w = g; + x = q; + } + while (1) { + q = w + 20 | 0; + g = c[q >> 2] | 0; + if ((g | 0) != 0) { + w = g; + x = q; + continue; + } + q = w + 16 | 0; + g = c[q >> 2] | 0; + if ((g | 0) == 0) { + break; + } else { + w = g; + x = q; + } + } + if (x >>> 0 < i >>> 0) { + au(); + return 0; + } else { + c[x >> 2] = 0; + v = w; + break; + } + } else { + q = c[d + 8 >> 2] | 0; + if (q >>> 0 < i >>> 0) { + au(); + return 0; + } + g = q + 12 | 0; + if ((c[g >> 2] | 0) != (d | 0)) { + au(); + return 0; + } + k = f + 8 | 0; + if ((c[k >> 2] | 0) == (d | 0)) { + c[g >> 2] = f; + c[k >> 2] = q; + v = f; + break; + } else { + au(); + return 0; + } + } + } while (0); + L223 : do { + if ((e | 0) != 0) { + f = d + 28 | 0; + i = 1136 + (c[f >> 2] << 2) | 0; + do { + if ((d | 0) == (c[i >> 2] | 0)) { + c[i >> 2] = v; + if ((v | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[f >> 2]); + break L223; + } else { + if (e >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + q = e + 16 | 0; + if ((c[q >> 2] | 0) == (d | 0)) { + c[q >> 2] = v; + } else { + c[e + 20 >> 2] = v; + } + if ((v | 0) == 0) { + break L223; + } + } + } while (0); + if (v >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + c[v + 24 >> 2] = e; + f = c[d + 16 >> 2] | 0; + do { + if ((f | 0) != 0) { + if (f >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[v + 16 >> 2] = f; + c[f + 24 >> 2] = v; + break; + } + } + } while (0); + f = c[d + 20 >> 2] | 0; + if ((f | 0) == 0) { + break; + } + if (f >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[v + 20 >> 2] = f; + c[f + 24 >> 2] = v; + break; + } + } + } while (0); + if (p >>> 0 < 16) { + e = p + b | 0; + c[d + 4 >> 2] = e | 3; + f = r + (e + 4) | 0; + c[f >> 2] = c[f >> 2] | 1; + } else { + c[d + 4 >> 2] = b | 3; + c[r + (b | 4) >> 2] = p | 1; + c[r + (p + b) >> 2] = p; + f = c[210] | 0; + if ((f | 0) != 0) { + e = c[213] | 0; + i = f >>> 3; + f = i << 1; + q = 872 + (f << 2) | 0; + k = c[208] | 0; + g = 1 << i; + do { + if ((k & g | 0) == 0) { + c[208] = k | g; + y = q; + z = 872 + (f + 2 << 2) | 0; + } else { + i = 872 + (f + 2 << 2) | 0; + l = c[i >> 2] | 0; + if (l >>> 0 >= (c[212] | 0) >>> 0) { + y = l; + z = i; + break; + } + au(); + return 0; + } + } while (0); + c[z >> 2] = e; + c[y + 12 >> 2] = e; + c[e + 8 >> 2] = y; + c[e + 12 >> 2] = q; + } + c[210] = p; + c[213] = m; + } + f = d + 8 | 0; + if ((f | 0) == 0) { + o = b; + break; + } else { + n = f; + } + return n | 0; + } else { + if (a >>> 0 > 4294967231) { + o = -1; + break; + } + f = a + 11 | 0; + g = f & -8; + k = c[209] | 0; + if ((k | 0) == 0) { + o = g; + break; + } + r = -g | 0; + i = f >>> 8; + do { + if ((i | 0) == 0) { + A = 0; + } else { + if (g >>> 0 > 16777215) { + A = 31; + break; + } + f = (i + 1048320 | 0) >>> 16 & 8; + l = i << f; + h = (l + 520192 | 0) >>> 16 & 4; + j = l << h; + l = (j + 245760 | 0) >>> 16 & 2; + B = 14 - (h | f | l) + (j << l >>> 15) | 0; + A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; + } + } while (0); + i = c[1136 + (A << 2) >> 2] | 0; + L271 : do { + if ((i | 0) == 0) { + C = 0; + D = r; + E = 0; + } else { + if ((A | 0) == 31) { + F = 0; + } else { + F = 25 - (A >>> 1) | 0; + } + d = 0; + m = r; + p = i; + q = g << F; + e = 0; + while (1) { + B = c[p + 4 >> 2] & -8; + l = B - g | 0; + if (l >>> 0 < m >>> 0) { + if ((B | 0) == (g | 0)) { + C = p; + D = l; + E = p; + break L271; + } else { + G = p; + H = l; + } + } else { + G = d; + H = m; + } + l = c[p + 20 >> 2] | 0; + B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; + j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; + if ((B | 0) == 0) { + C = G; + D = H; + E = j; + break; + } else { + d = G; + m = H; + p = B; + q = q << 1; + e = j; + } + } + } + } while (0); + if ((E | 0) == 0 & (C | 0) == 0) { + i = 2 << A; + r = k & (i | -i); + if ((r | 0) == 0) { + o = g; + break; + } + i = (r & -r) - 1 | 0; + r = i >>> 12 & 16; + e = i >>> (r >>> 0); + i = e >>> 5 & 8; + q = e >>> (i >>> 0); + e = q >>> 2 & 4; + p = q >>> (e >>> 0); + q = p >>> 1 & 2; + m = p >>> (q >>> 0); + p = m >>> 1 & 1; + I = c[1136 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; + } else { + I = E; + } + if ((I | 0) == 0) { + J = D; + K = C; + } else { + p = I; + m = D; + q = C; + while (1) { + e = (c[p + 4 >> 2] & -8) - g | 0; + r = e >>> 0 < m >>> 0; + i = r ? e : m; + e = r ? p : q; + r = c[p + 16 >> 2] | 0; + if ((r | 0) != 0) { + p = r; + m = i; + q = e; + continue; + } + r = c[p + 20 >> 2] | 0; + if ((r | 0) == 0) { + J = i; + K = e; + break; + } else { + p = r; + m = i; + q = e; + } + } + } + if ((K | 0) == 0) { + o = g; + break; + } + if (J >>> 0 >= ((c[210] | 0) - g | 0) >>> 0) { + o = g; + break; + } + q = K; + m = c[212] | 0; + if (q >>> 0 < m >>> 0) { + au(); + return 0; + } + p = q + g | 0; + k = p; + if (q >>> 0 >= p >>> 0) { + au(); + return 0; + } + e = c[K + 24 >> 2] | 0; + i = c[K + 12 >> 2] | 0; + do { + if ((i | 0) == (K | 0)) { + r = K + 20 | 0; + d = c[r >> 2] | 0; + if ((d | 0) == 0) { + j = K + 16 | 0; + B = c[j >> 2] | 0; + if ((B | 0) == 0) { + L = 0; + break; + } else { + M = B; + N = j; + } + } else { + M = d; + N = r; + } + while (1) { + r = M + 20 | 0; + d = c[r >> 2] | 0; + if ((d | 0) != 0) { + M = d; + N = r; + continue; + } + r = M + 16 | 0; + d = c[r >> 2] | 0; + if ((d | 0) == 0) { + break; + } else { + M = d; + N = r; + } + } + if (N >>> 0 < m >>> 0) { + au(); + return 0; + } else { + c[N >> 2] = 0; + L = M; + break; + } + } else { + r = c[K + 8 >> 2] | 0; + if (r >>> 0 < m >>> 0) { + au(); + return 0; + } + d = r + 12 | 0; + if ((c[d >> 2] | 0) != (K | 0)) { + au(); + return 0; + } + j = i + 8 | 0; + if ((c[j >> 2] | 0) == (K | 0)) { + c[d >> 2] = i; + c[j >> 2] = r; + L = i; + break; + } else { + au(); + return 0; + } + } + } while (0); + L321 : do { + if ((e | 0) != 0) { + i = K + 28 | 0; + m = 1136 + (c[i >> 2] << 2) | 0; + do { + if ((K | 0) == (c[m >> 2] | 0)) { + c[m >> 2] = L; + if ((L | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[i >> 2]); + break L321; + } else { + if (e >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + r = e + 16 | 0; + if ((c[r >> 2] | 0) == (K | 0)) { + c[r >> 2] = L; + } else { + c[e + 20 >> 2] = L; + } + if ((L | 0) == 0) { + break L321; + } + } + } while (0); + if (L >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + c[L + 24 >> 2] = e; + i = c[K + 16 >> 2] | 0; + do { + if ((i | 0) != 0) { + if (i >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[L + 16 >> 2] = i; + c[i + 24 >> 2] = L; + break; + } + } + } while (0); + i = c[K + 20 >> 2] | 0; + if ((i | 0) == 0) { + break; + } + if (i >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[L + 20 >> 2] = i; + c[i + 24 >> 2] = L; + break; + } + } + } while (0); + do { + if (J >>> 0 < 16) { + e = J + g | 0; + c[K + 4 >> 2] = e | 3; + i = q + (e + 4) | 0; + c[i >> 2] = c[i >> 2] | 1; + } else { + c[K + 4 >> 2] = g | 3; + c[q + (g | 4) >> 2] = J | 1; + c[q + (J + g) >> 2] = J; + i = J >>> 3; + if (J >>> 0 < 256) { + e = i << 1; + m = 872 + (e << 2) | 0; + r = c[208] | 0; + j = 1 << i; + do { + if ((r & j | 0) == 0) { + c[208] = r | j; + O = m; + P = 872 + (e + 2 << 2) | 0; + } else { + i = 872 + (e + 2 << 2) | 0; + d = c[i >> 2] | 0; + if (d >>> 0 >= (c[212] | 0) >>> 0) { + O = d; + P = i; + break; + } + au(); + return 0; + } + } while (0); + c[P >> 2] = k; + c[O + 12 >> 2] = k; + c[q + (g + 8) >> 2] = O; + c[q + (g + 12) >> 2] = m; + break; + } + e = p; + j = J >>> 8; + do { + if ((j | 0) == 0) { + Q = 0; + } else { + if (J >>> 0 > 16777215) { + Q = 31; + break; + } + r = (j + 1048320 | 0) >>> 16 & 8; + i = j << r; + d = (i + 520192 | 0) >>> 16 & 4; + B = i << d; + i = (B + 245760 | 0) >>> 16 & 2; + l = 14 - (d | r | i) + (B << i >>> 15) | 0; + Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; + } + } while (0); + j = 1136 + (Q << 2) | 0; + c[q + (g + 28) >> 2] = Q; + c[q + (g + 20) >> 2] = 0; + c[q + (g + 16) >> 2] = 0; + m = c[209] | 0; + l = 1 << Q; + if ((m & l | 0) == 0) { + c[209] = m | l; + c[j >> 2] = e; + c[q + (g + 24) >> 2] = j; + c[q + (g + 12) >> 2] = e; + c[q + (g + 8) >> 2] = e; + break; + } + if ((Q | 0) == 31) { + R = 0; + } else { + R = 25 - (Q >>> 1) | 0; + } + l = J << R; + m = c[j >> 2] | 0; + while (1) { + if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { + break; + } + S = m + 16 + (l >>> 31 << 2) | 0; + j = c[S >> 2] | 0; + if ((j | 0) == 0) { + T = 262; + break; + } else { + l = l << 1; + m = j; + } + } + if ((T | 0) == 262) { + if (S >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[S >> 2] = e; + c[q + (g + 24) >> 2] = m; + c[q + (g + 12) >> 2] = e; + c[q + (g + 8) >> 2] = e; + break; + } + } + l = m + 8 | 0; + j = c[l >> 2] | 0; + i = c[212] | 0; + if (m >>> 0 < i >>> 0) { + au(); + return 0; + } + if (j >>> 0 < i >>> 0) { + au(); + return 0; + } else { + c[j + 12 >> 2] = e; + c[l >> 2] = e; + c[q + (g + 8) >> 2] = j; + c[q + (g + 12) >> 2] = m; + c[q + (g + 24) >> 2] = 0; + break; + } + } + } while (0); + q = K + 8 | 0; + if ((q | 0) == 0) { + o = g; + break; + } else { + n = q; + } + return n | 0; + } + } while (0); + K = c[210] | 0; + if (o >>> 0 <= K >>> 0) { + S = K - o | 0; + J = c[213] | 0; + if (S >>> 0 > 15) { + R = J; + c[213] = R + o; + c[210] = S; + c[R + (o + 4) >> 2] = S | 1; + c[R + K >> 2] = S; + c[J + 4 >> 2] = o | 3; + } else { + c[210] = 0; + c[213] = 0; + c[J + 4 >> 2] = K | 3; + S = J + (K + 4) | 0; + c[S >> 2] = c[S >> 2] | 1; + } + n = J + 8 | 0; + return n | 0; + } + J = c[211] | 0; + if (o >>> 0 < J >>> 0) { + S = J - o | 0; + c[211] = S; + J = c[214] | 0; + K = J; + c[214] = K + o; + c[K + (o + 4) >> 2] = S | 1; + c[J + 4 >> 2] = o | 3; + n = J + 8 | 0; + return n | 0; + } + do { + if ((c[200] | 0) == 0) { + J = ar(8) | 0; + if ((J - 1 & J | 0) == 0) { + c[202] = J; + c[201] = J; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + return 0; + } + } + } while (0); + J = o + 48 | 0; + S = c[202] | 0; + K = o + 47 | 0; + R = S + K | 0; + Q = -S | 0; + S = R & Q; + if (S >>> 0 <= o >>> 0) { + n = 0; + return n | 0; + } + O = c[318] | 0; + do { + if ((O | 0) != 0) { + P = c[316] | 0; + L = P + S | 0; + if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { + n = 0; + } else { + break; + } + return n | 0; + } + } while (0); + L413 : do { + if ((c[319] & 4 | 0) == 0) { + O = c[214] | 0; + L415 : do { + if ((O | 0) == 0) { + T = 292; + } else { + L = O; + P = 1280; + while (1) { + U = P | 0; + M = c[U >> 2] | 0; + if (M >>> 0 <= L >>> 0) { + V = P + 4 | 0; + if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { + break; + } + } + M = c[P + 8 >> 2] | 0; + if ((M | 0) == 0) { + T = 292; + break L415; + } else { + P = M; + } + } + if ((P | 0) == 0) { + T = 292; + break; + } + L = R - (c[211] | 0) & Q; + if (L >>> 0 >= 2147483647) { + W = 0; + break; + } + m = aV(L | 0) | 0; + e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); + X = e ? m : -1; + Y = e ? L : 0; + Z = m; + _ = L; + T = 301; + } + } while (0); + do { + if ((T | 0) == 292) { + O = aV(0) | 0; + if ((O | 0) == -1) { + W = 0; + break; + } + g = O; + L = c[201] | 0; + m = L - 1 | 0; + if ((m & g | 0) == 0) { + $ = S; + } else { + $ = S - g + (m + g & -L) | 0; + } + L = c[316] | 0; + g = L + $ | 0; + if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { + W = 0; + break; + } + m = c[318] | 0; + if ((m | 0) != 0) { + if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { + W = 0; + break; + } + } + m = aV($ | 0) | 0; + g = (m | 0) == (O | 0); + X = g ? O : -1; + Y = g ? $ : 0; + Z = m; + _ = $; + T = 301; + } + } while (0); + L435 : do { + if ((T | 0) == 301) { + m = -_ | 0; + if ((X | 0) != -1) { + aa = Y; + ab = X; + T = 312; + break L413; + } + do { + if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { + g = c[202] | 0; + O = K - _ + g & -g; + if (O >>> 0 >= 2147483647) { + ac = _; + break; + } + if ((aV(O | 0) | 0) == -1) { + aV(m | 0) | 0; + W = Y; + break L435; + } else { + ac = O + _ | 0; + break; + } + } else { + ac = _; + } + } while (0); + if ((Z | 0) == -1) { + W = Y; + } else { + aa = ac; + ab = Z; + T = 312; + break L413; + } + } + } while (0); + c[319] = c[319] | 4; + ad = W; + T = 309; + } else { + ad = 0; + T = 309; + } + } while (0); + do { + if ((T | 0) == 309) { + if (S >>> 0 >= 2147483647) { + break; + } + W = aV(S | 0) | 0; + Z = aV(0) | 0; + if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { + break; + } + ac = Z - W | 0; + Z = ac >>> 0 > (o + 40 | 0) >>> 0; + Y = Z ? W : -1; + if ((Y | 0) != -1) { + aa = Z ? ac : ad; + ab = Y; + T = 312; + } + } + } while (0); + do { + if ((T | 0) == 312) { + ad = (c[316] | 0) + aa | 0; + c[316] = ad; + if (ad >>> 0 > (c[317] | 0) >>> 0) { + c[317] = ad; + } + ad = c[214] | 0; + L455 : do { + if ((ad | 0) == 0) { + S = c[212] | 0; + if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { + c[212] = ab; + } + c[320] = ab; + c[321] = aa; + c[323] = 0; + c[217] = c[200]; + c[216] = -1; + S = 0; + do { + Y = S << 1; + ac = 872 + (Y << 2) | 0; + c[872 + (Y + 3 << 2) >> 2] = ac; + c[872 + (Y + 2 << 2) >> 2] = ac; + S = S + 1 | 0; + } while (S >>> 0 < 32); + S = ab + 8 | 0; + if ((S & 7 | 0) == 0) { + ae = 0; + } else { + ae = -S & 7; + } + S = aa - 40 - ae | 0; + c[214] = ab + ae; + c[211] = S; + c[ab + (ae + 4) >> 2] = S | 1; + c[ab + (aa - 36) >> 2] = 40; + c[215] = c[204]; + } else { + S = 1280; + while (1) { + af = c[S >> 2] | 0; + ag = S + 4 | 0; + ah = c[ag >> 2] | 0; + if ((ab | 0) == (af + ah | 0)) { + T = 324; + break; + } + ac = c[S + 8 >> 2] | 0; + if ((ac | 0) == 0) { + break; + } else { + S = ac; + } + } + do { + if ((T | 0) == 324) { + if ((c[S + 12 >> 2] & 8 | 0) != 0) { + break; + } + ac = ad; + if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { + break; + } + c[ag >> 2] = ah + aa; + ac = c[214] | 0; + Y = (c[211] | 0) + aa | 0; + Z = ac; + W = ac + 8 | 0; + if ((W & 7 | 0) == 0) { + ai = 0; + } else { + ai = -W & 7; + } + W = Y - ai | 0; + c[214] = Z + ai; + c[211] = W; + c[Z + (ai + 4) >> 2] = W | 1; + c[Z + (Y + 4) >> 2] = 40; + c[215] = c[204]; + break L455; + } + } while (0); + if (ab >>> 0 < (c[212] | 0) >>> 0) { + c[212] = ab; + } + S = ab + aa | 0; + Y = 1280; + while (1) { + aj = Y | 0; + if ((c[aj >> 2] | 0) == (S | 0)) { + T = 334; + break; + } + Z = c[Y + 8 >> 2] | 0; + if ((Z | 0) == 0) { + break; + } else { + Y = Z; + } + } + do { + if ((T | 0) == 334) { + if ((c[Y + 12 >> 2] & 8 | 0) != 0) { + break; + } + c[aj >> 2] = ab; + S = Y + 4 | 0; + c[S >> 2] = (c[S >> 2] | 0) + aa; + S = ab + 8 | 0; + if ((S & 7 | 0) == 0) { + ak = 0; + } else { + ak = -S & 7; + } + S = ab + (aa + 8) | 0; + if ((S & 7 | 0) == 0) { + al = 0; + } else { + al = -S & 7; + } + S = ab + (al + aa) | 0; + Z = S; + W = ak + o | 0; + ac = ab + W | 0; + _ = ac; + K = S - (ab + ak) - o | 0; + c[ab + (ak + 4) >> 2] = o | 3; + do { + if ((Z | 0) == (c[214] | 0)) { + J = (c[211] | 0) + K | 0; + c[211] = J; + c[214] = _; + c[ab + (W + 4) >> 2] = J | 1; + } else { + if ((Z | 0) == (c[213] | 0)) { + J = (c[210] | 0) + K | 0; + c[210] = J; + c[213] = _; + c[ab + (W + 4) >> 2] = J | 1; + c[ab + (J + W) >> 2] = J; + break; + } + J = aa + 4 | 0; + X = c[ab + (J + al) >> 2] | 0; + if ((X & 3 | 0) == 1) { + $ = X & -8; + V = X >>> 3; + L500 : do { + if (X >>> 0 < 256) { + U = c[ab + ((al | 8) + aa) >> 2] | 0; + Q = c[ab + (aa + 12 + al) >> 2] | 0; + R = 872 + (V << 1 << 2) | 0; + do { + if ((U | 0) != (R | 0)) { + if (U >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + if ((c[U + 12 >> 2] | 0) == (Z | 0)) { + break; + } + au(); + return 0; + } + } while (0); + if ((Q | 0) == (U | 0)) { + c[208] = c[208] & ~(1 << V); + break; + } + do { + if ((Q | 0) == (R | 0)) { + am = Q + 8 | 0; + } else { + if (Q >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + m = Q + 8 | 0; + if ((c[m >> 2] | 0) == (Z | 0)) { + am = m; + break; + } + au(); + return 0; + } + } while (0); + c[U + 12 >> 2] = Q; + c[am >> 2] = U; + } else { + R = S; + m = c[ab + ((al | 24) + aa) >> 2] | 0; + P = c[ab + (aa + 12 + al) >> 2] | 0; + do { + if ((P | 0) == (R | 0)) { + O = al | 16; + g = ab + (J + O) | 0; + L = c[g >> 2] | 0; + if ((L | 0) == 0) { + e = ab + (O + aa) | 0; + O = c[e >> 2] | 0; + if ((O | 0) == 0) { + an = 0; + break; + } else { + ao = O; + ap = e; + } + } else { + ao = L; + ap = g; + } + while (1) { + g = ao + 20 | 0; + L = c[g >> 2] | 0; + if ((L | 0) != 0) { + ao = L; + ap = g; + continue; + } + g = ao + 16 | 0; + L = c[g >> 2] | 0; + if ((L | 0) == 0) { + break; + } else { + ao = L; + ap = g; + } + } + if (ap >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[ap >> 2] = 0; + an = ao; + break; + } + } else { + g = c[ab + ((al | 8) + aa) >> 2] | 0; + if (g >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + L = g + 12 | 0; + if ((c[L >> 2] | 0) != (R | 0)) { + au(); + return 0; + } + e = P + 8 | 0; + if ((c[e >> 2] | 0) == (R | 0)) { + c[L >> 2] = P; + c[e >> 2] = g; + an = P; + break; + } else { + au(); + return 0; + } + } + } while (0); + if ((m | 0) == 0) { + break; + } + P = ab + (aa + 28 + al) | 0; + U = 1136 + (c[P >> 2] << 2) | 0; + do { + if ((R | 0) == (c[U >> 2] | 0)) { + c[U >> 2] = an; + if ((an | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[P >> 2]); + break L500; + } else { + if (m >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + Q = m + 16 | 0; + if ((c[Q >> 2] | 0) == (R | 0)) { + c[Q >> 2] = an; + } else { + c[m + 20 >> 2] = an; + } + if ((an | 0) == 0) { + break L500; + } + } + } while (0); + if (an >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + c[an + 24 >> 2] = m; + R = al | 16; + P = c[ab + (R + aa) >> 2] | 0; + do { + if ((P | 0) != 0) { + if (P >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[an + 16 >> 2] = P; + c[P + 24 >> 2] = an; + break; + } + } + } while (0); + P = c[ab + (J + R) >> 2] | 0; + if ((P | 0) == 0) { + break; + } + if (P >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[an + 20 >> 2] = P; + c[P + 24 >> 2] = an; + break; + } + } + } while (0); + aq = ab + (($ | al) + aa) | 0; + as = $ + K | 0; + } else { + aq = Z; + as = K; + } + J = aq + 4 | 0; + c[J >> 2] = c[J >> 2] & -2; + c[ab + (W + 4) >> 2] = as | 1; + c[ab + (as + W) >> 2] = as; + J = as >>> 3; + if (as >>> 0 < 256) { + V = J << 1; + X = 872 + (V << 2) | 0; + P = c[208] | 0; + m = 1 << J; + do { + if ((P & m | 0) == 0) { + c[208] = P | m; + at = X; + av = 872 + (V + 2 << 2) | 0; + } else { + J = 872 + (V + 2 << 2) | 0; + U = c[J >> 2] | 0; + if (U >>> 0 >= (c[212] | 0) >>> 0) { + at = U; + av = J; + break; + } + au(); + return 0; + } + } while (0); + c[av >> 2] = _; + c[at + 12 >> 2] = _; + c[ab + (W + 8) >> 2] = at; + c[ab + (W + 12) >> 2] = X; + break; + } + V = ac; + m = as >>> 8; + do { + if ((m | 0) == 0) { + aw = 0; + } else { + if (as >>> 0 > 16777215) { + aw = 31; + break; + } + P = (m + 1048320 | 0) >>> 16 & 8; + $ = m << P; + J = ($ + 520192 | 0) >>> 16 & 4; + U = $ << J; + $ = (U + 245760 | 0) >>> 16 & 2; + Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; + aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; + } + } while (0); + m = 1136 + (aw << 2) | 0; + c[ab + (W + 28) >> 2] = aw; + c[ab + (W + 20) >> 2] = 0; + c[ab + (W + 16) >> 2] = 0; + X = c[209] | 0; + Q = 1 << aw; + if ((X & Q | 0) == 0) { + c[209] = X | Q; + c[m >> 2] = V; + c[ab + (W + 24) >> 2] = m; + c[ab + (W + 12) >> 2] = V; + c[ab + (W + 8) >> 2] = V; + break; + } + if ((aw | 0) == 31) { + ax = 0; + } else { + ax = 25 - (aw >>> 1) | 0; + } + Q = as << ax; + X = c[m >> 2] | 0; + while (1) { + if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { + break; + } + ay = X + 16 + (Q >>> 31 << 2) | 0; + m = c[ay >> 2] | 0; + if ((m | 0) == 0) { + T = 407; + break; + } else { + Q = Q << 1; + X = m; + } + } + if ((T | 0) == 407) { + if (ay >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[ay >> 2] = V; + c[ab + (W + 24) >> 2] = X; + c[ab + (W + 12) >> 2] = V; + c[ab + (W + 8) >> 2] = V; + break; + } + } + Q = X + 8 | 0; + m = c[Q >> 2] | 0; + $ = c[212] | 0; + if (X >>> 0 < $ >>> 0) { + au(); + return 0; + } + if (m >>> 0 < $ >>> 0) { + au(); + return 0; + } else { + c[m + 12 >> 2] = V; + c[Q >> 2] = V; + c[ab + (W + 8) >> 2] = m; + c[ab + (W + 12) >> 2] = X; + c[ab + (W + 24) >> 2] = 0; + break; + } + } + } while (0); + n = ab + (ak | 8) | 0; + return n | 0; + } + } while (0); + Y = ad; + W = 1280; + while (1) { + az = c[W >> 2] | 0; + if (az >>> 0 <= Y >>> 0) { + aA = c[W + 4 >> 2] | 0; + aB = az + aA | 0; + if (aB >>> 0 > Y >>> 0) { + break; + } + } + W = c[W + 8 >> 2] | 0; + } + W = az + (aA - 39) | 0; + if ((W & 7 | 0) == 0) { + aC = 0; + } else { + aC = -W & 7; + } + W = az + (aA - 47 + aC) | 0; + ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; + W = ac + 8 | 0; + _ = ab + 8 | 0; + if ((_ & 7 | 0) == 0) { + aD = 0; + } else { + aD = -_ & 7; + } + _ = aa - 40 - aD | 0; + c[214] = ab + aD; + c[211] = _; + c[ab + (aD + 4) >> 2] = _ | 1; + c[ab + (aa - 36) >> 2] = 40; + c[215] = c[204]; + c[ac + 4 >> 2] = 27; + c[W >> 2] = c[320]; + c[W + 4 >> 2] = c[1284 >> 2]; + c[W + 8 >> 2] = c[1288 >> 2]; + c[W + 12 >> 2] = c[1292 >> 2]; + c[320] = ab; + c[321] = aa; + c[323] = 0; + c[322] = W; + W = ac + 28 | 0; + c[W >> 2] = 7; + if ((ac + 32 | 0) >>> 0 < aB >>> 0) { + _ = W; + while (1) { + W = _ + 4 | 0; + c[W >> 2] = 7; + if ((_ + 8 | 0) >>> 0 < aB >>> 0) { + _ = W; + } else { + break; + } + } + } + if ((ac | 0) == (Y | 0)) { + break; + } + _ = ac - ad | 0; + W = Y + (_ + 4) | 0; + c[W >> 2] = c[W >> 2] & -2; + c[ad + 4 >> 2] = _ | 1; + c[Y + _ >> 2] = _; + W = _ >>> 3; + if (_ >>> 0 < 256) { + K = W << 1; + Z = 872 + (K << 2) | 0; + S = c[208] | 0; + m = 1 << W; + do { + if ((S & m | 0) == 0) { + c[208] = S | m; + aE = Z; + aF = 872 + (K + 2 << 2) | 0; + } else { + W = 872 + (K + 2 << 2) | 0; + Q = c[W >> 2] | 0; + if (Q >>> 0 >= (c[212] | 0) >>> 0) { + aE = Q; + aF = W; + break; + } + au(); + return 0; + } + } while (0); + c[aF >> 2] = ad; + c[aE + 12 >> 2] = ad; + c[ad + 8 >> 2] = aE; + c[ad + 12 >> 2] = Z; + break; + } + K = ad; + m = _ >>> 8; + do { + if ((m | 0) == 0) { + aG = 0; + } else { + if (_ >>> 0 > 16777215) { + aG = 31; + break; + } + S = (m + 1048320 | 0) >>> 16 & 8; + Y = m << S; + ac = (Y + 520192 | 0) >>> 16 & 4; + W = Y << ac; + Y = (W + 245760 | 0) >>> 16 & 2; + Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; + aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; + } + } while (0); + m = 1136 + (aG << 2) | 0; + c[ad + 28 >> 2] = aG; + c[ad + 20 >> 2] = 0; + c[ad + 16 >> 2] = 0; + Z = c[209] | 0; + Q = 1 << aG; + if ((Z & Q | 0) == 0) { + c[209] = Z | Q; + c[m >> 2] = K; + c[ad + 24 >> 2] = m; + c[ad + 12 >> 2] = ad; + c[ad + 8 >> 2] = ad; + break; + } + if ((aG | 0) == 31) { + aH = 0; + } else { + aH = 25 - (aG >>> 1) | 0; + } + Q = _ << aH; + Z = c[m >> 2] | 0; + while (1) { + if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { + break; + } + aI = Z + 16 + (Q >>> 31 << 2) | 0; + m = c[aI >> 2] | 0; + if ((m | 0) == 0) { + T = 442; + break; + } else { + Q = Q << 1; + Z = m; + } + } + if ((T | 0) == 442) { + if (aI >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[aI >> 2] = K; + c[ad + 24 >> 2] = Z; + c[ad + 12 >> 2] = ad; + c[ad + 8 >> 2] = ad; + break; + } + } + Q = Z + 8 | 0; + _ = c[Q >> 2] | 0; + m = c[212] | 0; + if (Z >>> 0 < m >>> 0) { + au(); + return 0; + } + if (_ >>> 0 < m >>> 0) { + au(); + return 0; + } else { + c[_ + 12 >> 2] = K; + c[Q >> 2] = K; + c[ad + 8 >> 2] = _; + c[ad + 12 >> 2] = Z; + c[ad + 24 >> 2] = 0; + break; + } + } + } while (0); + ad = c[211] | 0; + if (ad >>> 0 <= o >>> 0) { + break; + } + _ = ad - o | 0; + c[211] = _; + ad = c[214] | 0; + Q = ad; + c[214] = Q + o; + c[Q + (o + 4) >> 2] = _ | 1; + c[ad + 4 >> 2] = o | 3; + n = ad + 8 | 0; + return n | 0; + } + } while (0); + c[(aX() | 0) >> 2] = 12; + n = 0; + return n | 0; +} +function bM(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; + if ((a | 0) == 0) { + return; + } + b = a - 8 | 0; + d = b; + e = c[212] | 0; + if (b >>> 0 < e >>> 0) { + au(); + } + f = c[a - 4 >> 2] | 0; + g = f & 3; + if ((g | 0) == 1) { + au(); + } + h = f & -8; + i = a + (h - 8) | 0; + j = i; + L672 : do { + if ((f & 1 | 0) == 0) { + k = c[b >> 2] | 0; + if ((g | 0) == 0) { + return; + } + l = -8 - k | 0; + m = a + l | 0; + n = m; + o = k + h | 0; + if (m >>> 0 < e >>> 0) { + au(); + } + if ((n | 0) == (c[213] | 0)) { + p = a + (h - 4) | 0; + if ((c[p >> 2] & 3 | 0) != 3) { + q = n; + r = o; + break; + } + c[210] = o; + c[p >> 2] = c[p >> 2] & -2; + c[a + (l + 4) >> 2] = o | 1; + c[i >> 2] = o; + return; + } + p = k >>> 3; + if (k >>> 0 < 256) { + k = c[a + (l + 8) >> 2] | 0; + s = c[a + (l + 12) >> 2] | 0; + t = 872 + (p << 1 << 2) | 0; + do { + if ((k | 0) != (t | 0)) { + if (k >>> 0 < e >>> 0) { + au(); + } + if ((c[k + 12 >> 2] | 0) == (n | 0)) { + break; + } + au(); + } + } while (0); + if ((s | 0) == (k | 0)) { + c[208] = c[208] & ~(1 << p); + q = n; + r = o; + break; + } + do { + if ((s | 0) == (t | 0)) { + u = s + 8 | 0; + } else { + if (s >>> 0 < e >>> 0) { + au(); + } + v = s + 8 | 0; + if ((c[v >> 2] | 0) == (n | 0)) { + u = v; + break; + } + au(); + } + } while (0); + c[k + 12 >> 2] = s; + c[u >> 2] = k; + q = n; + r = o; + break; + } + t = m; + p = c[a + (l + 24) >> 2] | 0; + v = c[a + (l + 12) >> 2] | 0; + do { + if ((v | 0) == (t | 0)) { + w = a + (l + 20) | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + y = a + (l + 16) | 0; + z = c[y >> 2] | 0; + if ((z | 0) == 0) { + A = 0; + break; + } else { + B = z; + C = y; + } + } else { + B = x; + C = w; + } + while (1) { + w = B + 20 | 0; + x = c[w >> 2] | 0; + if ((x | 0) != 0) { + B = x; + C = w; + continue; + } + w = B + 16 | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + break; + } else { + B = x; + C = w; + } + } + if (C >>> 0 < e >>> 0) { + au(); + } else { + c[C >> 2] = 0; + A = B; + break; + } + } else { + w = c[a + (l + 8) >> 2] | 0; + if (w >>> 0 < e >>> 0) { + au(); + } + x = w + 12 | 0; + if ((c[x >> 2] | 0) != (t | 0)) { + au(); + } + y = v + 8 | 0; + if ((c[y >> 2] | 0) == (t | 0)) { + c[x >> 2] = v; + c[y >> 2] = w; + A = v; + break; + } else { + au(); + } + } + } while (0); + if ((p | 0) == 0) { + q = n; + r = o; + break; + } + v = a + (l + 28) | 0; + m = 1136 + (c[v >> 2] << 2) | 0; + do { + if ((t | 0) == (c[m >> 2] | 0)) { + c[m >> 2] = A; + if ((A | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[v >> 2]); + q = n; + r = o; + break L672; + } else { + if (p >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + k = p + 16 | 0; + if ((c[k >> 2] | 0) == (t | 0)) { + c[k >> 2] = A; + } else { + c[p + 20 >> 2] = A; + } + if ((A | 0) == 0) { + q = n; + r = o; + break L672; + } + } + } while (0); + if (A >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + c[A + 24 >> 2] = p; + t = c[a + (l + 16) >> 2] | 0; + do { + if ((t | 0) != 0) { + if (t >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[A + 16 >> 2] = t; + c[t + 24 >> 2] = A; + break; + } + } + } while (0); + t = c[a + (l + 20) >> 2] | 0; + if ((t | 0) == 0) { + q = n; + r = o; + break; + } + if (t >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[A + 20 >> 2] = t; + c[t + 24 >> 2] = A; + q = n; + r = o; + break; + } + } else { + q = d; + r = h; + } + } while (0); + d = q; + if (d >>> 0 >= i >>> 0) { + au(); + } + A = a + (h - 4) | 0; + e = c[A >> 2] | 0; + if ((e & 1 | 0) == 0) { + au(); + } + do { + if ((e & 2 | 0) == 0) { + if ((j | 0) == (c[214] | 0)) { + B = (c[211] | 0) + r | 0; + c[211] = B; + c[214] = q; + c[q + 4 >> 2] = B | 1; + if ((q | 0) == (c[213] | 0)) { + c[213] = 0; + c[210] = 0; + } + if (B >>> 0 <= (c[215] | 0) >>> 0) { + return; + } + bS(0) | 0; + return; + } + if ((j | 0) == (c[213] | 0)) { + B = (c[210] | 0) + r | 0; + c[210] = B; + c[213] = q; + c[q + 4 >> 2] = B | 1; + c[d + B >> 2] = B; + return; + } + B = (e & -8) + r | 0; + C = e >>> 3; + L777 : do { + if (e >>> 0 < 256) { + u = c[a + h >> 2] | 0; + g = c[a + (h | 4) >> 2] | 0; + b = 872 + (C << 1 << 2) | 0; + do { + if ((u | 0) != (b | 0)) { + if (u >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + if ((c[u + 12 >> 2] | 0) == (j | 0)) { + break; + } + au(); + } + } while (0); + if ((g | 0) == (u | 0)) { + c[208] = c[208] & ~(1 << C); + break; + } + do { + if ((g | 0) == (b | 0)) { + D = g + 8 | 0; + } else { + if (g >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + f = g + 8 | 0; + if ((c[f >> 2] | 0) == (j | 0)) { + D = f; + break; + } + au(); + } + } while (0); + c[u + 12 >> 2] = g; + c[D >> 2] = u; + } else { + b = i; + f = c[a + (h + 16) >> 2] | 0; + t = c[a + (h | 4) >> 2] | 0; + do { + if ((t | 0) == (b | 0)) { + p = a + (h + 12) | 0; + v = c[p >> 2] | 0; + if ((v | 0) == 0) { + m = a + (h + 8) | 0; + k = c[m >> 2] | 0; + if ((k | 0) == 0) { + E = 0; + break; + } else { + F = k; + G = m; + } + } else { + F = v; + G = p; + } + while (1) { + p = F + 20 | 0; + v = c[p >> 2] | 0; + if ((v | 0) != 0) { + F = v; + G = p; + continue; + } + p = F + 16 | 0; + v = c[p >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + F = v; + G = p; + } + } + if (G >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[G >> 2] = 0; + E = F; + break; + } + } else { + p = c[a + h >> 2] | 0; + if (p >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + v = p + 12 | 0; + if ((c[v >> 2] | 0) != (b | 0)) { + au(); + } + m = t + 8 | 0; + if ((c[m >> 2] | 0) == (b | 0)) { + c[v >> 2] = t; + c[m >> 2] = p; + E = t; + break; + } else { + au(); + } + } + } while (0); + if ((f | 0) == 0) { + break; + } + t = a + (h + 20) | 0; + u = 1136 + (c[t >> 2] << 2) | 0; + do { + if ((b | 0) == (c[u >> 2] | 0)) { + c[u >> 2] = E; + if ((E | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[t >> 2]); + break L777; + } else { + if (f >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + g = f + 16 | 0; + if ((c[g >> 2] | 0) == (b | 0)) { + c[g >> 2] = E; + } else { + c[f + 20 >> 2] = E; + } + if ((E | 0) == 0) { + break L777; + } + } + } while (0); + if (E >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + c[E + 24 >> 2] = f; + b = c[a + (h + 8) >> 2] | 0; + do { + if ((b | 0) != 0) { + if (b >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[E + 16 >> 2] = b; + c[b + 24 >> 2] = E; + break; + } + } + } while (0); + b = c[a + (h + 12) >> 2] | 0; + if ((b | 0) == 0) { + break; + } + if (b >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[E + 20 >> 2] = b; + c[b + 24 >> 2] = E; + break; + } + } + } while (0); + c[q + 4 >> 2] = B | 1; + c[d + B >> 2] = B; + if ((q | 0) != (c[213] | 0)) { + H = B; + break; + } + c[210] = B; + return; + } else { + c[A >> 2] = e & -2; + c[q + 4 >> 2] = r | 1; + c[d + r >> 2] = r; + H = r; + } + } while (0); + r = H >>> 3; + if (H >>> 0 < 256) { + d = r << 1; + e = 872 + (d << 2) | 0; + A = c[208] | 0; + E = 1 << r; + do { + if ((A & E | 0) == 0) { + c[208] = A | E; + I = e; + J = 872 + (d + 2 << 2) | 0; + } else { + r = 872 + (d + 2 << 2) | 0; + h = c[r >> 2] | 0; + if (h >>> 0 >= (c[212] | 0) >>> 0) { + I = h; + J = r; + break; + } + au(); + } + } while (0); + c[J >> 2] = q; + c[I + 12 >> 2] = q; + c[q + 8 >> 2] = I; + c[q + 12 >> 2] = e; + return; + } + e = q; + I = H >>> 8; + do { + if ((I | 0) == 0) { + K = 0; + } else { + if (H >>> 0 > 16777215) { + K = 31; + break; + } + J = (I + 1048320 | 0) >>> 16 & 8; + d = I << J; + E = (d + 520192 | 0) >>> 16 & 4; + A = d << E; + d = (A + 245760 | 0) >>> 16 & 2; + r = 14 - (E | J | d) + (A << d >>> 15) | 0; + K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; + } + } while (0); + I = 1136 + (K << 2) | 0; + c[q + 28 >> 2] = K; + c[q + 20 >> 2] = 0; + c[q + 16 >> 2] = 0; + r = c[209] | 0; + d = 1 << K; + do { + if ((r & d | 0) == 0) { + c[209] = r | d; + c[I >> 2] = e; + c[q + 24 >> 2] = I; + c[q + 12 >> 2] = q; + c[q + 8 >> 2] = q; + } else { + if ((K | 0) == 31) { + L = 0; + } else { + L = 25 - (K >>> 1) | 0; + } + A = H << L; + J = c[I >> 2] | 0; + while (1) { + if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { + break; + } + M = J + 16 + (A >>> 31 << 2) | 0; + E = c[M >> 2] | 0; + if ((E | 0) == 0) { + N = 621; + break; + } else { + A = A << 1; + J = E; + } + } + if ((N | 0) == 621) { + if (M >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[M >> 2] = e; + c[q + 24 >> 2] = J; + c[q + 12 >> 2] = q; + c[q + 8 >> 2] = q; + break; + } + } + A = J + 8 | 0; + B = c[A >> 2] | 0; + E = c[212] | 0; + if (J >>> 0 < E >>> 0) { + au(); + } + if (B >>> 0 < E >>> 0) { + au(); + } else { + c[B + 12 >> 2] = e; + c[A >> 2] = e; + c[q + 8 >> 2] = B; + c[q + 12 >> 2] = J; + c[q + 24 >> 2] = 0; + break; + } + } + } while (0); + q = (c[216] | 0) - 1 | 0; + c[216] = q; + if ((q | 0) == 0) { + O = 1288; + } else { + return; + } + while (1) { + q = c[O >> 2] | 0; + if ((q | 0) == 0) { + break; + } else { + O = q + 8 | 0; + } + } + c[216] = -1; + return; +} +function bN(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + do { + if ((a | 0) == 0) { + d = 0; + } else { + e = ad(b, a) | 0; + if ((b | a) >>> 0 <= 65535) { + d = e; + break; + } + d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; + } + } while (0); + b = bL(d) | 0; + if ((b | 0) == 0) { + return b | 0; + } + if ((c[b - 4 >> 2] & 3 | 0) == 0) { + return b | 0; + } + cL(b | 0, 0, d | 0); + return b | 0; +} +function bO(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0; + if ((a | 0) == 0) { + d = bL(b) | 0; + return d | 0; + } + if (b >>> 0 > 4294967231) { + c[(aX() | 0) >> 2] = 12; + d = 0; + return d | 0; + } + if (b >>> 0 < 11) { + e = 16; + } else { + e = b + 11 & -8; + } + f = bT(a - 8 | 0, e) | 0; + if ((f | 0) != 0) { + d = f + 8 | 0; + return d | 0; + } + f = bL(b) | 0; + if ((f | 0) == 0) { + d = 0; + return d | 0; + } + e = c[a - 4 >> 2] | 0; + g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; + e = g >>> 0 < b >>> 0 ? g : b; + cK(f | 0, a | 0, e) | 0; + bM(a); + d = f; + return d | 0; +} +function bP(a, b) { + a = a | 0; + b = b | 0; + var d = 0; + if ((a | 0) == 0) { + return 0; + } + if (b >>> 0 > 4294967231) { + c[(aX() | 0) >> 2] = 12; + return 0; + } + if (b >>> 0 < 11) { + d = 16; + } else { + d = b + 11 & -8; + } + b = a - 8 | 0; + return ((bT(b, d) | 0) == (b | 0) ? a : 0) | 0; +} +function bQ(a, b) { + a = a | 0; + b = b | 0; + var c = 0; + if (a >>> 0 < 9) { + c = bL(b) | 0; + return c | 0; + } else { + c = bR(a, b) | 0; + return c | 0; + } + return 0; +} +function bR(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + d = a >>> 0 < 16 ? 16 : a; + if ((d - 1 & d | 0) == 0) { + e = d; + } else { + a = 16; + while (1) { + if (a >>> 0 < d >>> 0) { + a = a << 1; + } else { + e = a; + break; + } + } + } + if ((-64 - e | 0) >>> 0 <= b >>> 0) { + c[(aX() | 0) >> 2] = 12; + f = 0; + return f | 0; + } + if (b >>> 0 < 11) { + g = 16; + } else { + g = b + 11 & -8; + } + b = bL(e + 12 + g | 0) | 0; + if ((b | 0) == 0) { + f = 0; + return f | 0; + } + a = b - 8 | 0; + d = a; + h = e - 1 | 0; + do { + if ((b & h | 0) == 0) { + i = d; + } else { + j = b + h & -e; + k = j - 8 | 0; + l = a; + if ((k - l | 0) >>> 0 > 15) { + m = k; + } else { + m = j + (e - 8) | 0; + } + j = m; + k = m - l | 0; + l = b - 4 | 0; + n = c[l >> 2] | 0; + o = (n & -8) - k | 0; + if ((n & 3 | 0) == 0) { + c[m >> 2] = (c[a >> 2] | 0) + k; + c[m + 4 >> 2] = o; + i = j; + break; + } else { + n = m + 4 | 0; + c[n >> 2] = o | c[n >> 2] & 1 | 2; + n = m + (o + 4) | 0; + c[n >> 2] = c[n >> 2] | 1; + c[l >> 2] = k | c[l >> 2] & 1 | 2; + l = b + (k - 4) | 0; + c[l >> 2] = c[l >> 2] | 1; + b9(d, k); + i = j; + break; + } + } + } while (0); + d = i + 4 | 0; + b = c[d >> 2] | 0; + do { + if ((b & 3 | 0) != 0) { + m = b & -8; + if (m >>> 0 <= (g + 16 | 0) >>> 0) { + break; + } + a = m - g | 0; + e = i; + c[d >> 2] = g | b & 1 | 2; + c[e + (g | 4) >> 2] = a | 3; + h = e + (m | 4) | 0; + c[h >> 2] = c[h >> 2] | 1; + b9(e + g | 0, a); + } + } while (0); + f = i + 8 | 0; + return f | 0; +} +function bS(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; + do { + if ((c[200] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[202] = b; + c[201] = b; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + return 0; + } + } + } while (0); + if (a >>> 0 >= 4294967232) { + d = 0; + return d | 0; + } + b = c[214] | 0; + if ((b | 0) == 0) { + d = 0; + return d | 0; + } + e = c[211] | 0; + do { + if (e >>> 0 > (a + 40 | 0) >>> 0) { + f = c[202] | 0; + g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; + h = b; + i = 1280; + while (1) { + j = c[i >> 2] | 0; + if (j >>> 0 <= h >>> 0) { + if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { + k = i; + break; + } + } + j = c[i + 8 >> 2] | 0; + if ((j | 0) == 0) { + k = 0; + break; + } else { + i = j; + } + } + if ((c[k + 12 >> 2] & 8 | 0) != 0) { + break; + } + i = aV(0) | 0; + h = k + 4 | 0; + if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { + break; + } + j = aV(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; + l = aV(0) | 0; + if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { + break; + } + j = i - l | 0; + if ((i | 0) == (l | 0)) { + break; + } + c[h >> 2] = (c[h >> 2] | 0) - j; + c[316] = (c[316] | 0) - j; + h = c[214] | 0; + m = (c[211] | 0) - j | 0; + j = h; + n = h + 8 | 0; + if ((n & 7 | 0) == 0) { + o = 0; + } else { + o = -n & 7; + } + n = m - o | 0; + c[214] = j + o; + c[211] = n; + c[j + (o + 4) >> 2] = n | 1; + c[j + (m + 4) >> 2] = 40; + c[215] = c[204]; + d = (i | 0) != (l | 0) | 0; + return d | 0; + } + } while (0); + if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { + d = 0; + return d | 0; + } + c[215] = -1; + d = 0; + return d | 0; +} +function bT(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; + d = a + 4 | 0; + e = c[d >> 2] | 0; + f = e & -8; + g = a; + h = g + f | 0; + i = h; + j = c[212] | 0; + if (g >>> 0 < j >>> 0) { + au(); + return 0; + } + k = e & 3; + if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { + au(); + return 0; + } + l = g + (f | 4) | 0; + m = c[l >> 2] | 0; + if ((m & 1 | 0) == 0) { + au(); + return 0; + } + if ((k | 0) == 0) { + if (b >>> 0 < 256) { + n = 0; + return n | 0; + } + do { + if (f >>> 0 >= (b + 4 | 0) >>> 0) { + if ((f - b | 0) >>> 0 > c[202] << 1 >>> 0) { + break; + } else { + n = a; + } + return n | 0; + } + } while (0); + n = 0; + return n | 0; + } + if (f >>> 0 >= b >>> 0) { + k = f - b | 0; + if (k >>> 0 <= 15) { + n = a; + return n | 0; + } + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = k | 3; + c[l >> 2] = c[l >> 2] | 1; + b9(g + b | 0, k); + n = a; + return n | 0; + } + if ((i | 0) == (c[214] | 0)) { + k = (c[211] | 0) + f | 0; + if (k >>> 0 <= b >>> 0) { + n = 0; + return n | 0; + } + l = k - b | 0; + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = l | 1; + c[214] = g + b; + c[211] = l; + n = a; + return n | 0; + } + if ((i | 0) == (c[213] | 0)) { + l = (c[210] | 0) + f | 0; + if (l >>> 0 < b >>> 0) { + n = 0; + return n | 0; + } + k = l - b | 0; + if (k >>> 0 > 15) { + c[d >> 2] = e & 1 | b | 2; + c[g + (b + 4) >> 2] = k | 1; + c[g + l >> 2] = k; + o = g + (l + 4) | 0; + c[o >> 2] = c[o >> 2] & -2; + p = g + b | 0; + q = k; + } else { + c[d >> 2] = e & 1 | l | 2; + e = g + (l + 4) | 0; + c[e >> 2] = c[e >> 2] | 1; + p = 0; + q = 0; + } + c[210] = q; + c[213] = p; + n = a; + return n | 0; + } + if ((m & 2 | 0) != 0) { + n = 0; + return n | 0; + } + p = (m & -8) + f | 0; + if (p >>> 0 < b >>> 0) { + n = 0; + return n | 0; + } + q = p - b | 0; + e = m >>> 3; + L1056 : do { + if (m >>> 0 < 256) { + l = c[g + (f + 8) >> 2] | 0; + k = c[g + (f + 12) >> 2] | 0; + o = 872 + (e << 1 << 2) | 0; + do { + if ((l | 0) != (o | 0)) { + if (l >>> 0 < j >>> 0) { + au(); + return 0; + } + if ((c[l + 12 >> 2] | 0) == (i | 0)) { + break; + } + au(); + return 0; + } + } while (0); + if ((k | 0) == (l | 0)) { + c[208] = c[208] & ~(1 << e); + break; + } + do { + if ((k | 0) == (o | 0)) { + r = k + 8 | 0; + } else { + if (k >>> 0 < j >>> 0) { + au(); + return 0; + } + s = k + 8 | 0; + if ((c[s >> 2] | 0) == (i | 0)) { + r = s; + break; + } + au(); + return 0; + } + } while (0); + c[l + 12 >> 2] = k; + c[r >> 2] = l; + } else { + o = h; + s = c[g + (f + 24) >> 2] | 0; + t = c[g + (f + 12) >> 2] | 0; + do { + if ((t | 0) == (o | 0)) { + u = g + (f + 20) | 0; + v = c[u >> 2] | 0; + if ((v | 0) == 0) { + w = g + (f + 16) | 0; + x = c[w >> 2] | 0; + if ((x | 0) == 0) { + y = 0; + break; + } else { + z = x; + A = w; + } + } else { + z = v; + A = u; + } + while (1) { + u = z + 20 | 0; + v = c[u >> 2] | 0; + if ((v | 0) != 0) { + z = v; + A = u; + continue; + } + u = z + 16 | 0; + v = c[u >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + z = v; + A = u; + } + } + if (A >>> 0 < j >>> 0) { + au(); + return 0; + } else { + c[A >> 2] = 0; + y = z; + break; + } + } else { + u = c[g + (f + 8) >> 2] | 0; + if (u >>> 0 < j >>> 0) { + au(); + return 0; + } + v = u + 12 | 0; + if ((c[v >> 2] | 0) != (o | 0)) { + au(); + return 0; + } + w = t + 8 | 0; + if ((c[w >> 2] | 0) == (o | 0)) { + c[v >> 2] = t; + c[w >> 2] = u; + y = t; + break; + } else { + au(); + return 0; + } + } + } while (0); + if ((s | 0) == 0) { + break; + } + t = g + (f + 28) | 0; + l = 1136 + (c[t >> 2] << 2) | 0; + do { + if ((o | 0) == (c[l >> 2] | 0)) { + c[l >> 2] = y; + if ((y | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[t >> 2]); + break L1056; + } else { + if (s >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + k = s + 16 | 0; + if ((c[k >> 2] | 0) == (o | 0)) { + c[k >> 2] = y; + } else { + c[s + 20 >> 2] = y; + } + if ((y | 0) == 0) { + break L1056; + } + } + } while (0); + if (y >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } + c[y + 24 >> 2] = s; + o = c[g + (f + 16) >> 2] | 0; + do { + if ((o | 0) != 0) { + if (o >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[y + 16 >> 2] = o; + c[o + 24 >> 2] = y; + break; + } + } + } while (0); + o = c[g + (f + 20) >> 2] | 0; + if ((o | 0) == 0) { + break; + } + if (o >>> 0 < (c[212] | 0) >>> 0) { + au(); + return 0; + } else { + c[y + 20 >> 2] = o; + c[o + 24 >> 2] = y; + break; + } + } + } while (0); + if (q >>> 0 < 16) { + c[d >> 2] = p | c[d >> 2] & 1 | 2; + y = g + (p | 4) | 0; + c[y >> 2] = c[y >> 2] | 1; + n = a; + return n | 0; + } else { + c[d >> 2] = c[d >> 2] & 1 | b | 2; + c[g + (b + 4) >> 2] = q | 3; + d = g + (p | 4) | 0; + c[d >> 2] = c[d >> 2] | 1; + b9(g + b | 0, q); + n = a; + return n | 0; + } + return 0; +} +function bU() { + return c[316] | 0; +} +function bV() { + return c[317] | 0; +} +function bW() { + var a = 0; + a = c[318] | 0; + return ((a | 0) == 0 ? -1 : a) | 0; +} +function bX(a) { + a = a | 0; + var b = 0, d = 0; + if ((a | 0) == -1) { + b = 0; + } else { + d = c[202] | 0; + b = a - 1 + d & -d; + } + c[318] = b; + return b | 0; +} +function bY(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + do { + if ((a | 0) == 0) { + b = 0; + } else { + d = c[a - 4 >> 2] | 0; + e = d & 3; + if ((e | 0) == 1) { + b = 0; + break; + } + b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; + } + } while (0); + return b | 0; +} +function bZ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0; + do { + if ((b | 0) == 8) { + e = bL(d) | 0; + } else { + f = b >>> 2; + if ((b & 3 | 0) != 0 | (f | 0) == 0) { + g = 22; + return g | 0; + } + if ((f + 1073741823 & f | 0) != 0) { + g = 22; + return g | 0; + } + if ((-64 - b | 0) >>> 0 < d >>> 0) { + g = 12; + return g | 0; + } else { + e = bR(b >>> 0 < 16 ? 16 : b, d) | 0; + break; + } + } + } while (0); + if ((e | 0) == 0) { + g = 12; + return g | 0; + } + c[a >> 2] = e; + g = 0; + return g | 0; +} +function b_(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 8 | 0; + f = e | 0; + c[f >> 2] = b; + b = b2(a, f, 3, d) | 0; + i = e; + return b | 0; +} +function b$(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return b2(a, b, 0, c) | 0; +} +function b0(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + if ((c[200] | 0) != 0) { + b = c[201] | 0; + d = bQ(b, a) | 0; + return d | 0; + } + e = ar(8) | 0; + if ((e - 1 & e | 0) != 0) { + au(); + return 0; + } + c[202] = e; + c[201] = e; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + b = c[201] | 0; + d = bQ(b, a) | 0; + return d | 0; +} +function b1(a) { + a = a | 0; + var b = 0; + do { + if ((c[200] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[202] = b; + c[201] = b; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + return 0; + } + } + } while (0); + b = c[201] | 0; + return bQ(b, a - 1 + b & -b) | 0; +} +function b2(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; + do { + if ((c[200] | 0) == 0) { + f = ar(8) | 0; + if ((f - 1 & f | 0) == 0) { + c[202] = f; + c[201] = f; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + return 0; + } + } + } while (0); + f = (a | 0) == 0; + do { + if ((e | 0) == 0) { + if (f) { + g = bL(0) | 0; + return g | 0; + } else { + h = a << 2; + if (h >>> 0 < 11) { + i = 0; + j = 16; + break; + } + i = 0; + j = h + 11 & -8; + break; + } + } else { + if (f) { + g = e; + } else { + i = e; + j = 0; + break; + } + return g | 0; + } + } while (0); + do { + if ((d & 1 | 0) == 0) { + if (f) { + k = 0; + l = 0; + break; + } else { + m = 0; + n = 0; + } + while (1) { + e = c[b + (n << 2) >> 2] | 0; + if (e >>> 0 < 11) { + o = 16; + } else { + o = e + 11 & -8; + } + e = o + m | 0; + h = n + 1 | 0; + if ((h | 0) == (a | 0)) { + k = 0; + l = e; + break; + } else { + m = e; + n = h; + } + } + } else { + h = c[b >> 2] | 0; + if (h >>> 0 < 11) { + p = 16; + } else { + p = h + 11 & -8; + } + k = p; + l = ad(p, a) | 0; + } + } while (0); + p = bL(j - 4 + l | 0) | 0; + if ((p | 0) == 0) { + g = 0; + return g | 0; + } + n = p - 8 | 0; + m = c[p - 4 >> 2] & -8; + if ((d & 2 | 0) != 0) { + cL(p | 0, 0, -4 - j + m | 0); + } + if ((i | 0) == 0) { + c[p + (l - 4) >> 2] = m - l | 3; + q = p + l | 0; + r = l; + } else { + q = i; + r = m; + } + c[q >> 2] = p; + p = a - 1 | 0; + L1216 : do { + if ((p | 0) == 0) { + s = n; + t = r; + } else { + if ((k | 0) == 0) { + u = n; + v = r; + w = 0; + } else { + a = n; + m = r; + i = 0; + while (1) { + l = m - k | 0; + c[a + 4 >> 2] = k | 3; + j = a + k | 0; + d = i + 1 | 0; + c[q + (d << 2) >> 2] = a + (k + 8); + if ((d | 0) == (p | 0)) { + s = j; + t = l; + break L1216; + } else { + a = j; + m = l; + i = d; + } + } + } + while (1) { + i = c[b + (w << 2) >> 2] | 0; + if (i >>> 0 < 11) { + x = 16; + } else { + x = i + 11 & -8; + } + i = v - x | 0; + c[u + 4 >> 2] = x | 3; + m = u + x | 0; + a = w + 1 | 0; + c[q + (a << 2) >> 2] = u + (x + 8); + if ((a | 0) == (p | 0)) { + s = m; + t = i; + break; + } else { + u = m; + v = i; + w = a; + } + } + } + } while (0); + c[s + 4 >> 2] = t | 3; + g = q; + return g | 0; +} +function b3(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; + d = a + (b << 2) | 0; + L1229 : do { + if ((b | 0) != 0) { + e = a; + L1230 : while (1) { + f = c[e >> 2] | 0; + L1232 : do { + if ((f | 0) == 0) { + g = e + 4 | 0; + } else { + h = f - 8 | 0; + i = h; + j = f - 4 | 0; + k = c[j >> 2] & -8; + c[e >> 2] = 0; + if (h >>> 0 < (c[212] | 0) >>> 0) { + l = 935; + break L1230; + } + h = c[j >> 2] | 0; + if ((h & 3 | 0) == 1) { + l = 936; + break L1230; + } + m = e + 4 | 0; + n = h - 8 & -8; + do { + if ((m | 0) != (d | 0)) { + if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { + break; + } + o = (c[f + (n | 4) >> 2] & -8) + k | 0; + c[j >> 2] = h & 1 | o | 2; + p = f + (o - 4) | 0; + c[p >> 2] = c[p >> 2] | 1; + c[m >> 2] = f; + g = m; + break L1232; + } + } while (0); + b9(i, k); + g = m; + } + } while (0); + if ((g | 0) == (d | 0)) { + break L1229; + } else { + e = g; + } + } + if ((l | 0) == 935) { + au(); + return 0; + } else if ((l | 0) == 936) { + au(); + return 0; + } + } + } while (0); + if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { + return 0; + } + bS(0) | 0; + return 0; +} +function b4(a) { + a = a | 0; + var b = 0, d = 0; + if ((c[200] | 0) != 0) { + b = bS(a) | 0; + return b | 0; + } + d = ar(8) | 0; + if ((d - 1 & d | 0) != 0) { + au(); + return 0; + } + c[202] = d; + c[201] = d; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + b = bS(a) | 0; + return b | 0; +} +function b5(a) { + a = a | 0; + var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; + do { + if ((c[200] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[202] = b; + c[201] = b; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + } + } + } while (0); + b = c[214] | 0; + if ((b | 0) == 0) { + d = 0; + e = 0; + f = 0; + g = 0; + h = 0; + i = 0; + j = 0; + } else { + k = c[211] | 0; + l = k + 40 | 0; + m = 1; + n = l; + o = l; + l = 1280; + while (1) { + p = c[l >> 2] | 0; + q = p + 8 | 0; + if ((q & 7 | 0) == 0) { + r = 0; + } else { + r = -q & 7; + } + q = p + (c[l + 4 >> 2] | 0) | 0; + s = m; + t = n; + u = o; + v = p + r | 0; + while (1) { + if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { + w = s; + x = t; + y = u; + break; + } + z = c[v + 4 >> 2] | 0; + if ((z | 0) == 7) { + w = s; + x = t; + y = u; + break; + } + A = z & -8; + B = A + u | 0; + if ((z & 3 | 0) == 1) { + C = A + t | 0; + D = s + 1 | 0; + } else { + C = t; + D = s; + } + z = v + A | 0; + if (z >>> 0 < p >>> 0) { + w = D; + x = C; + y = B; + break; + } else { + s = D; + t = C; + u = B; + v = z; + } + } + v = c[l + 8 >> 2] | 0; + if ((v | 0) == 0) { + break; + } else { + m = w; + n = x; + o = y; + l = v; + } + } + l = c[316] | 0; + d = k; + e = y; + f = w; + g = l - y | 0; + h = c[317] | 0; + i = l - x | 0; + j = x; + } + c[a >> 2] = e; + c[a + 4 >> 2] = f; + f = a + 8 | 0; + c[f >> 2] = 0; + c[f + 4 >> 2] = 0; + c[a + 16 >> 2] = g; + c[a + 20 >> 2] = h; + c[a + 24 >> 2] = 0; + c[a + 28 >> 2] = i; + c[a + 32 >> 2] = j; + c[a + 36 >> 2] = d; + return; +} +function b6() { + var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; + a = i; + do { + if ((c[200] | 0) == 0) { + b = ar(8) | 0; + if ((b - 1 & b | 0) == 0) { + c[202] = b; + c[201] = b; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + } + } + } while (0); + b = c[214] | 0; + if ((b | 0) == 0) { + d = 0; + e = 0; + f = 0; + } else { + g = c[317] | 0; + h = c[316] | 0; + j = h - 40 - (c[211] | 0) | 0; + k = 1280; + while (1) { + l = c[k >> 2] | 0; + m = l + 8 | 0; + if ((m & 7 | 0) == 0) { + n = 0; + } else { + n = -m & 7; + } + m = l + (c[k + 4 >> 2] | 0) | 0; + p = j; + q = l + n | 0; + while (1) { + if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { + r = p; + break; + } + s = c[q + 4 >> 2] | 0; + if ((s | 0) == 7) { + r = p; + break; + } + t = s & -8; + u = p - ((s & 3 | 0) == 1 ? t : 0) | 0; + s = q + t | 0; + if (s >>> 0 < l >>> 0) { + r = u; + break; + } else { + p = u; + q = s; + } + } + q = c[k + 8 >> 2] | 0; + if ((q | 0) == 0) { + d = r; + e = h; + f = g; + break; + } else { + j = r; + k = q; + } + } + } + av(c[o >> 2] | 0, 520, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + av(c[o >> 2] | 0, 488, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + av(c[o >> 2] | 0, 400, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; + i = a; + return; +} +function b7(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + do { + if ((c[200] | 0) == 0) { + d = ar(8) | 0; + if ((d - 1 & d | 0) == 0) { + c[202] = d; + c[201] = d; + c[203] = -1; + c[204] = 2097152; + c[205] = 0; + c[319] = 0; + c[200] = (a_(0) | 0) & -16 ^ 1431655768; + break; + } else { + au(); + return 0; + } + } + } while (0); + if ((a | 0) == (-1 | 0)) { + c[204] = b; + e = 1; + return e | 0; + } else if ((a | 0) == (-2 | 0)) { + if ((c[201] | 0) >>> 0 > b >>> 0) { + e = 0; + return e | 0; + } + if ((b - 1 & b | 0) != 0) { + e = 0; + return e | 0; + } + c[202] = b; + e = 1; + return e | 0; + } else if ((a | 0) == (-3 | 0)) { + c[203] = b; + e = 1; + return e | 0; + } else { + e = 0; + return e | 0; + } + return 0; +} +function b8() { + return (F = c[328] | 0, c[328] = F + 0, F) | 0; +} +function b9(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; + d = a; + e = d + b | 0; + f = e; + g = c[a + 4 >> 2] | 0; + L1325 : do { + if ((g & 1 | 0) == 0) { + h = c[a >> 2] | 0; + if ((g & 3 | 0) == 0) { + return; + } + i = d + (-h | 0) | 0; + j = i; + k = h + b | 0; + l = c[212] | 0; + if (i >>> 0 < l >>> 0) { + au(); + } + if ((j | 0) == (c[213] | 0)) { + m = d + (b + 4) | 0; + if ((c[m >> 2] & 3 | 0) != 3) { + n = j; + o = k; + break; + } + c[210] = k; + c[m >> 2] = c[m >> 2] & -2; + c[d + (4 - h) >> 2] = k | 1; + c[e >> 2] = k; + return; + } + m = h >>> 3; + if (h >>> 0 < 256) { + p = c[d + (8 - h) >> 2] | 0; + q = c[d + (12 - h) >> 2] | 0; + r = 872 + (m << 1 << 2) | 0; + do { + if ((p | 0) != (r | 0)) { + if (p >>> 0 < l >>> 0) { + au(); + } + if ((c[p + 12 >> 2] | 0) == (j | 0)) { + break; + } + au(); + } + } while (0); + if ((q | 0) == (p | 0)) { + c[208] = c[208] & ~(1 << m); + n = j; + o = k; + break; + } + do { + if ((q | 0) == (r | 0)) { + s = q + 8 | 0; + } else { + if (q >>> 0 < l >>> 0) { + au(); + } + t = q + 8 | 0; + if ((c[t >> 2] | 0) == (j | 0)) { + s = t; + break; + } + au(); + } + } while (0); + c[p + 12 >> 2] = q; + c[s >> 2] = p; + n = j; + o = k; + break; + } + r = i; + m = c[d + (24 - h) >> 2] | 0; + t = c[d + (12 - h) >> 2] | 0; + do { + if ((t | 0) == (r | 0)) { + u = 16 - h | 0; + v = d + (u + 4) | 0; + w = c[v >> 2] | 0; + if ((w | 0) == 0) { + x = d + u | 0; + u = c[x >> 2] | 0; + if ((u | 0) == 0) { + y = 0; + break; + } else { + z = u; + A = x; + } + } else { + z = w; + A = v; + } + while (1) { + v = z + 20 | 0; + w = c[v >> 2] | 0; + if ((w | 0) != 0) { + z = w; + A = v; + continue; + } + v = z + 16 | 0; + w = c[v >> 2] | 0; + if ((w | 0) == 0) { + break; + } else { + z = w; + A = v; + } + } + if (A >>> 0 < l >>> 0) { + au(); + } else { + c[A >> 2] = 0; + y = z; + break; + } + } else { + v = c[d + (8 - h) >> 2] | 0; + if (v >>> 0 < l >>> 0) { + au(); + } + w = v + 12 | 0; + if ((c[w >> 2] | 0) != (r | 0)) { + au(); + } + x = t + 8 | 0; + if ((c[x >> 2] | 0) == (r | 0)) { + c[w >> 2] = t; + c[x >> 2] = v; + y = t; + break; + } else { + au(); + } + } + } while (0); + if ((m | 0) == 0) { + n = j; + o = k; + break; + } + t = d + (28 - h) | 0; + l = 1136 + (c[t >> 2] << 2) | 0; + do { + if ((r | 0) == (c[l >> 2] | 0)) { + c[l >> 2] = y; + if ((y | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[t >> 2]); + n = j; + o = k; + break L1325; + } else { + if (m >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + i = m + 16 | 0; + if ((c[i >> 2] | 0) == (r | 0)) { + c[i >> 2] = y; + } else { + c[m + 20 >> 2] = y; + } + if ((y | 0) == 0) { + n = j; + o = k; + break L1325; + } + } + } while (0); + if (y >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + c[y + 24 >> 2] = m; + r = 16 - h | 0; + t = c[d + r >> 2] | 0; + do { + if ((t | 0) != 0) { + if (t >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[y + 16 >> 2] = t; + c[t + 24 >> 2] = y; + break; + } + } + } while (0); + t = c[d + (r + 4) >> 2] | 0; + if ((t | 0) == 0) { + n = j; + o = k; + break; + } + if (t >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[y + 20 >> 2] = t; + c[t + 24 >> 2] = y; + n = j; + o = k; + break; + } + } else { + n = a; + o = b; + } + } while (0); + a = c[212] | 0; + if (e >>> 0 < a >>> 0) { + au(); + } + y = d + (b + 4) | 0; + z = c[y >> 2] | 0; + do { + if ((z & 2 | 0) == 0) { + if ((f | 0) == (c[214] | 0)) { + A = (c[211] | 0) + o | 0; + c[211] = A; + c[214] = n; + c[n + 4 >> 2] = A | 1; + if ((n | 0) != (c[213] | 0)) { + return; + } + c[213] = 0; + c[210] = 0; + return; + } + if ((f | 0) == (c[213] | 0)) { + A = (c[210] | 0) + o | 0; + c[210] = A; + c[213] = n; + c[n + 4 >> 2] = A | 1; + c[n + A >> 2] = A; + return; + } + A = (z & -8) + o | 0; + s = z >>> 3; + L1424 : do { + if (z >>> 0 < 256) { + g = c[d + (b + 8) >> 2] | 0; + t = c[d + (b + 12) >> 2] | 0; + h = 872 + (s << 1 << 2) | 0; + do { + if ((g | 0) != (h | 0)) { + if (g >>> 0 < a >>> 0) { + au(); + } + if ((c[g + 12 >> 2] | 0) == (f | 0)) { + break; + } + au(); + } + } while (0); + if ((t | 0) == (g | 0)) { + c[208] = c[208] & ~(1 << s); + break; + } + do { + if ((t | 0) == (h | 0)) { + B = t + 8 | 0; + } else { + if (t >>> 0 < a >>> 0) { + au(); + } + m = t + 8 | 0; + if ((c[m >> 2] | 0) == (f | 0)) { + B = m; + break; + } + au(); + } + } while (0); + c[g + 12 >> 2] = t; + c[B >> 2] = g; + } else { + h = e; + m = c[d + (b + 24) >> 2] | 0; + l = c[d + (b + 12) >> 2] | 0; + do { + if ((l | 0) == (h | 0)) { + i = d + (b + 20) | 0; + p = c[i >> 2] | 0; + if ((p | 0) == 0) { + q = d + (b + 16) | 0; + v = c[q >> 2] | 0; + if ((v | 0) == 0) { + C = 0; + break; + } else { + D = v; + E = q; + } + } else { + D = p; + E = i; + } + while (1) { + i = D + 20 | 0; + p = c[i >> 2] | 0; + if ((p | 0) != 0) { + D = p; + E = i; + continue; + } + i = D + 16 | 0; + p = c[i >> 2] | 0; + if ((p | 0) == 0) { + break; + } else { + D = p; + E = i; + } + } + if (E >>> 0 < a >>> 0) { + au(); + } else { + c[E >> 2] = 0; + C = D; + break; + } + } else { + i = c[d + (b + 8) >> 2] | 0; + if (i >>> 0 < a >>> 0) { + au(); + } + p = i + 12 | 0; + if ((c[p >> 2] | 0) != (h | 0)) { + au(); + } + q = l + 8 | 0; + if ((c[q >> 2] | 0) == (h | 0)) { + c[p >> 2] = l; + c[q >> 2] = i; + C = l; + break; + } else { + au(); + } + } + } while (0); + if ((m | 0) == 0) { + break; + } + l = d + (b + 28) | 0; + g = 1136 + (c[l >> 2] << 2) | 0; + do { + if ((h | 0) == (c[g >> 2] | 0)) { + c[g >> 2] = C; + if ((C | 0) != 0) { + break; + } + c[209] = c[209] & ~(1 << c[l >> 2]); + break L1424; + } else { + if (m >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + t = m + 16 | 0; + if ((c[t >> 2] | 0) == (h | 0)) { + c[t >> 2] = C; + } else { + c[m + 20 >> 2] = C; + } + if ((C | 0) == 0) { + break L1424; + } + } + } while (0); + if (C >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + c[C + 24 >> 2] = m; + h = c[d + (b + 16) >> 2] | 0; + do { + if ((h | 0) != 0) { + if (h >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[C + 16 >> 2] = h; + c[h + 24 >> 2] = C; + break; + } + } + } while (0); + h = c[d + (b + 20) >> 2] | 0; + if ((h | 0) == 0) { + break; + } + if (h >>> 0 < (c[212] | 0) >>> 0) { + au(); + } else { + c[C + 20 >> 2] = h; + c[h + 24 >> 2] = C; + break; + } + } + } while (0); + c[n + 4 >> 2] = A | 1; + c[n + A >> 2] = A; + if ((n | 0) != (c[213] | 0)) { + F = A; + break; + } + c[210] = A; + return; + } else { + c[y >> 2] = z & -2; + c[n + 4 >> 2] = o | 1; + c[n + o >> 2] = o; + F = o; + } + } while (0); + o = F >>> 3; + if (F >>> 0 < 256) { + z = o << 1; + y = 872 + (z << 2) | 0; + C = c[208] | 0; + b = 1 << o; + do { + if ((C & b | 0) == 0) { + c[208] = C | b; + G = y; + H = 872 + (z + 2 << 2) | 0; + } else { + o = 872 + (z + 2 << 2) | 0; + d = c[o >> 2] | 0; + if (d >>> 0 >= (c[212] | 0) >>> 0) { + G = d; + H = o; + break; + } + au(); + } + } while (0); + c[H >> 2] = n; + c[G + 12 >> 2] = n; + c[n + 8 >> 2] = G; + c[n + 12 >> 2] = y; + return; + } + y = n; + G = F >>> 8; + do { + if ((G | 0) == 0) { + I = 0; + } else { + if (F >>> 0 > 16777215) { + I = 31; + break; + } + H = (G + 1048320 | 0) >>> 16 & 8; + z = G << H; + b = (z + 520192 | 0) >>> 16 & 4; + C = z << b; + z = (C + 245760 | 0) >>> 16 & 2; + o = 14 - (b | H | z) + (C << z >>> 15) | 0; + I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; + } + } while (0); + G = 1136 + (I << 2) | 0; + c[n + 28 >> 2] = I; + c[n + 20 >> 2] = 0; + c[n + 16 >> 2] = 0; + o = c[209] | 0; + z = 1 << I; + if ((o & z | 0) == 0) { + c[209] = o | z; + c[G >> 2] = y; + c[n + 24 >> 2] = G; + c[n + 12 >> 2] = n; + c[n + 8 >> 2] = n; + return; + } + if ((I | 0) == 31) { + J = 0; + } else { + J = 25 - (I >>> 1) | 0; + } + I = F << J; + J = c[G >> 2] | 0; + while (1) { + if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { + break; + } + K = J + 16 + (I >>> 31 << 2) | 0; + G = c[K >> 2] | 0; + if ((G | 0) == 0) { + L = 1120; + break; + } else { + I = I << 1; + J = G; + } + } + if ((L | 0) == 1120) { + if (K >>> 0 < (c[212] | 0) >>> 0) { + au(); + } + c[K >> 2] = y; + c[n + 24 >> 2] = J; + c[n + 12 >> 2] = n; + c[n + 8 >> 2] = n; + return; + } + K = J + 8 | 0; + L = c[K >> 2] | 0; + I = c[212] | 0; + if (J >>> 0 < I >>> 0) { + au(); + } + if (L >>> 0 < I >>> 0) { + au(); + } + c[L + 12 >> 2] = y; + c[K >> 2] = y; + c[n + 8 >> 2] = L; + c[n + 12 >> 2] = J; + c[n + 24 >> 2] = 0; + return; +} +function ca(a) { + a = a | 0; + var b = 0, d = 0, e = 0; + b = (a | 0) == 0 ? 1 : a; + while (1) { + d = bL(b) | 0; + if ((d | 0) != 0) { + e = 1164; + break; + } + a = (F = c[328] | 0, c[328] = F + 0, F); + if ((a | 0) == 0) { + break; + } + a5[a & 1](); + } + if ((e | 0) == 1164) { + return d | 0; + } + d = aJ(4) | 0; + c[d >> 2] = 560; + as(d | 0, 688, 6); + return 0; +} +function cb(a, b) { + a = a | 0; + b = b | 0; + return ca(a) | 0; +} +function cc(a) { + a = a | 0; + return; +} +function cd(a) { + a = a | 0; + return 360 | 0; +} +function ce(a) { + a = a | 0; + return 448 | 0; +} +function cf(a) { + a = a | 0; + return (F = c[328] | 0, c[328] = a, F) | 0; +} +function cg(a) { + a = a | 0; + c[a >> 2] = 560; + return; +} +function ch(a) { + a = a | 0; + c[a >> 2] = 592; + return; +} +function ci(a) { + a = a | 0; + if ((a | 0) != 0) { + bM(a); + } + return; +} +function cj(a, b) { + a = a | 0; + b = b | 0; + ci(a); + return; +} +function ck(a) { + a = a | 0; + ci(a); + return; +} +function cl(a, b) { + a = a | 0; + b = b | 0; + ck(a); + return; +} +function cm(a) { + a = a | 0; + ci(a); + return; +} +function cn(a) { + a = a | 0; + ci(a); + return; +} +function co(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return cp(a, b, c, 0, 0, 0) | 0; +} +function cp(b, d, e, f, g, h) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + h = h | 0; + var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; + j = i; + if ((e | 0) == 0) { + k = -1; + i = j; + return k | 0; + } + l = c[44] | 0; + if ((l | 0) == 0) { + c[196] = 1; + c[44] = 1; + m = 1; + n = 1; + o = 1190; + } else { + p = c[196] | 0; + q = c[74] | 0; + if ((q | 0) == -1 | (p | 0) != 0) { + m = p; + n = l; + o = 1190; + } else { + r = q; + s = p; + t = l; + } + } + if ((o | 0) == 1190) { + l = (aP(344) | 0) != 0 | 0; + c[74] = l; + r = l; + s = m; + t = n; + } + n = a[e] | 0; + if (n << 24 >> 24 == 45) { + u = h | 2; + o = 1194; + } else { + m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; + if (n << 24 >> 24 == 43) { + u = m; + o = 1194; + } else { + v = e; + w = m; + } + } + if ((o | 0) == 1194) { + v = e + 1 | 0; + w = u; + } + c[198] = 0; + if ((s | 0) == 0) { + x = t; + o = 1198; + } else { + c[50] = -1; + c[48] = -1; + z = t; + A = s; + o = 1197; + } + while (1) { + if ((o | 0) == 1197) { + o = 0; + if ((A | 0) == 0) { + x = z; + o = 1198; + continue; + } else { + B = z; + } + } else if ((o | 0) == 1198) { + o = 0; + s = c[40] | 0; + if ((a[s] | 0) == 0) { + B = x; + } else { + C = s; + D = x; + break; + } + } + c[196] = 0; + if ((B | 0) >= (b | 0)) { + o = 1200; + break; + } + E = d + (B << 2) | 0; + F = c[E >> 2] | 0; + c[40] = F; + if ((a[F] | 0) == 45) { + G = F + 1 | 0; + H = a[G] | 0; + if (H << 24 >> 24 != 0) { + o = 1232; + break; + } + if ((aB(v | 0, 45) | 0) != 0) { + o = 1232; + break; + } + } + c[40] = 824; + if ((w & 2 | 0) != 0) { + o = 1217; + break; + } + if ((w & 1 | 0) == 0) { + k = -1; + o = 1298; + break; + } + s = c[48] | 0; + do { + if ((s | 0) == -1) { + c[48] = B; + I = B; + J = 0; + } else { + t = c[50] | 0; + if ((t | 0) == -1) { + I = B; + J = 0; + break; + } + u = t - s | 0; + e = B - t | 0; + m = (u | 0) % (e | 0) | 0; + if ((m | 0) == 0) { + K = e; + } else { + n = e; + h = m; + while (1) { + m = (n | 0) % (h | 0) | 0; + if ((m | 0) == 0) { + K = h; + break; + } else { + n = h; + h = m; + } + } + } + h = (B - s | 0) / (K | 0) | 0; + do { + if ((K | 0) > 0) { + n = -u | 0; + if ((h | 0) > 0) { + L = 0; + } else { + M = B; + N = t; + O = s; + P = 0; + break; + } + do { + m = L + t | 0; + r = d + (m << 2) | 0; + l = 0; + p = m; + m = c[r >> 2] | 0; + while (1) { + q = ((p | 0) < (t | 0) ? e : n) + p | 0; + Q = d + (q << 2) | 0; + R = c[Q >> 2] | 0; + c[Q >> 2] = m; + c[r >> 2] = R; + Q = l + 1 | 0; + if ((Q | 0) < (h | 0)) { + l = Q; + p = q; + m = R; + } else { + break; + } + } + L = L + 1 | 0; + } while ((L | 0) < (K | 0)); + M = c[44] | 0; + N = c[50] | 0; + O = c[48] | 0; + P = c[196] | 0; + } else { + M = B; + N = t; + O = s; + P = 0; + } + } while (0); + c[48] = M - N + O; + c[50] = -1; + I = M; + J = P; + } + } while (0); + s = I + 1 | 0; + c[44] = s; + z = s; + A = J; + o = 1197; + } + do { + if ((o | 0) == 1298) { + i = j; + return k | 0; + } else if ((o | 0) == 1232) { + J = c[48] | 0; + A = c[50] | 0; + if ((J | 0) != -1 & (A | 0) == -1) { + c[50] = B; + S = a[G] | 0; + T = B; + } else { + S = H; + T = A; + } + if (S << 24 >> 24 == 0) { + C = F; + D = B; + break; + } + c[40] = G; + if ((a[G] | 0) != 45) { + C = G; + D = B; + break; + } + if ((a[F + 2 | 0] | 0) != 0) { + C = G; + D = B; + break; + } + A = B + 1 | 0; + c[44] = A; + c[40] = 824; + if ((T | 0) != -1) { + z = T - J | 0; + I = A - T | 0; + P = (z | 0) % (I | 0) | 0; + if ((P | 0) == 0) { + U = I; + } else { + M = I; + O = P; + while (1) { + P = (M | 0) % (O | 0) | 0; + if ((P | 0) == 0) { + U = O; + break; + } else { + M = O; + O = P; + } + } + } + O = (A - J | 0) / (U | 0) | 0; + do { + if ((U | 0) > 0) { + M = -z | 0; + if ((O | 0) > 0) { + V = 0; + } else { + W = T; + X = J; + Y = A; + break; + } + do { + P = V + T | 0; + N = d + (P << 2) | 0; + K = 0; + L = P; + P = c[N >> 2] | 0; + while (1) { + x = ((L | 0) < (T | 0) ? I : M) + L | 0; + s = d + (x << 2) | 0; + t = c[s >> 2] | 0; + c[s >> 2] = P; + c[N >> 2] = t; + s = K + 1 | 0; + if ((s | 0) < (O | 0)) { + K = s; + L = x; + P = t; + } else { + break; + } + } + V = V + 1 | 0; + } while ((V | 0) < (U | 0)); + W = c[50] | 0; + X = c[48] | 0; + Y = c[44] | 0; + } else { + W = T; + X = J; + Y = A; + } + } while (0); + c[44] = X - W + Y; + } + c[50] = -1; + c[48] = -1; + k = -1; + i = j; + return k | 0; + } else if ((o | 0) == 1200) { + c[40] = 824; + A = c[50] | 0; + J = c[48] | 0; + do { + if ((A | 0) == -1) { + if ((J | 0) == -1) { + break; + } + c[44] = J; + } else { + O = A - J | 0; + I = B - A | 0; + z = (O | 0) % (I | 0) | 0; + if ((z | 0) == 0) { + Z = I; + } else { + M = I; + P = z; + while (1) { + z = (M | 0) % (P | 0) | 0; + if ((z | 0) == 0) { + Z = P; + break; + } else { + M = P; + P = z; + } + } + } + P = (B - J | 0) / (Z | 0) | 0; + do { + if ((Z | 0) > 0) { + M = -O | 0; + if ((P | 0) > 0) { + _ = 0; + } else { + $ = A; + aa = J; + ab = B; + break; + } + do { + z = _ + A | 0; + L = d + (z << 2) | 0; + K = 0; + N = z; + z = c[L >> 2] | 0; + while (1) { + t = ((N | 0) < (A | 0) ? I : M) + N | 0; + x = d + (t << 2) | 0; + s = c[x >> 2] | 0; + c[x >> 2] = z; + c[L >> 2] = s; + x = K + 1 | 0; + if ((x | 0) < (P | 0)) { + K = x; + N = t; + z = s; + } else { + break; + } + } + _ = _ + 1 | 0; + } while ((_ | 0) < (Z | 0)); + $ = c[50] | 0; + aa = c[48] | 0; + ab = c[44] | 0; + } else { + $ = A; + aa = J; + ab = B; + } + } while (0); + c[44] = aa - $ + ab; + } + } while (0); + c[50] = -1; + c[48] = -1; + k = -1; + i = j; + return k | 0; + } else if ((o | 0) == 1217) { + c[44] = B + 1; + c[198] = c[E >> 2]; + k = 1; + i = j; + return k | 0; + } + } while (0); + E = (f | 0) != 0; + L1659 : do { + if (E) { + if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { + ac = C; + break; + } + B = a[C] | 0; + do { + if (B << 24 >> 24 == 45) { + c[40] = C + 1; + ad = 0; + } else { + if ((w & 4 | 0) == 0) { + ac = C; + break L1659; + } + if (B << 24 >> 24 == 58) { + ad = 0; + break; + } + ad = (aB(v | 0, B << 24 >> 24 | 0) | 0) != 0 | 0; + } + } while (0); + B = cv(d, v, f, g, ad) | 0; + if ((B | 0) == -1) { + ac = c[40] | 0; + break; + } + c[40] = 824; + k = B; + i = j; + return k | 0; + } else { + ac = C; + } + } while (0); + C = ac + 1 | 0; + c[40] = C; + ad = a[ac] | 0; + ac = ad << 24 >> 24; + if ((ad << 24 >> 24 | 0) == 45) { + if ((a[C] | 0) == 0) { + o = 1260; + } + } else if ((ad << 24 >> 24 | 0) == 58) { + o = 1263; + } else { + o = 1260; + } + do { + if ((o | 0) == 1260) { + w = aB(v | 0, ac | 0) | 0; + if ((w | 0) == 0) { + if (ad << 24 >> 24 != 45) { + o = 1263; + break; + } + if ((a[C] | 0) == 0) { + k = -1; + } else { + break; + } + i = j; + return k | 0; + } + D = a[w + 1 | 0] | 0; + if (E & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { + do { + if ((a[C] | 0) == 0) { + B = (c[44] | 0) + 1 | 0; + c[44] = B; + if ((B | 0) < (b | 0)) { + c[40] = c[d + (B << 2) >> 2]; + break; + } + c[40] = 824; + do { + if ((c[46] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[42] = ac; + k = (a[v] | 0) == 58 ? 58 : 63; + i = j; + return k | 0; + } + } while (0); + B = cv(d, v, f, g, 0) | 0; + c[40] = 824; + k = B; + i = j; + return k | 0; + } + if (D << 24 >> 24 != 58) { + if ((a[C] | 0) != 0) { + k = ac; + i = j; + return k | 0; + } + c[44] = (c[44] | 0) + 1; + k = ac; + i = j; + return k | 0; + } + c[198] = 0; + do { + if ((a[C] | 0) == 0) { + if ((a[w + 2 | 0] | 0) == 58) { + break; + } + B = (c[44] | 0) + 1 | 0; + c[44] = B; + if ((B | 0) < (b | 0)) { + c[198] = c[d + (B << 2) >> 2]; + break; + } + c[40] = 824; + do { + if ((c[46] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[42] = ac; + k = (a[v] | 0) == 58 ? 58 : 63; + i = j; + return k | 0; + } else { + c[198] = C; + } + } while (0); + c[40] = 824; + c[44] = (c[44] | 0) + 1; + k = ac; + i = j; + return k | 0; + } + } while (0); + do { + if ((o | 0) == 1263) { + if ((a[C] | 0) != 0) { + break; + } + c[44] = (c[44] | 0) + 1; + } + } while (0); + do { + if ((c[46] | 0) != 0) { + if ((a[v] | 0) == 58) { + break; + } + cx(272, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); + } + } while (0); + c[42] = ac; + k = 63; + i = j; + return k | 0; +} +function cq(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return cp(a, b, c, d, e, 1) | 0; +} +function cr(a, b, c, d, e) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + e = e | 0; + return cp(a, b, c, d, e, 5) | 0; +} +function cs(a) { + a = a | 0; + return ca(a) | 0; +} +function ct(a, b) { + a = a | 0; + b = b | 0; + return cs(a) | 0; +} +function cu() { + var a = 0; + a = aJ(4) | 0; + c[a >> 2] = 560; + as(a | 0, 688, 6); +} +function cv(b, d, e, f, g) { + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + g = g | 0; + var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; + h = i; + j = c[40] | 0; + k = c[44] | 0; + l = k + 1 | 0; + c[44] = l; + m = aB(j | 0, 61) | 0; + if ((m | 0) == 0) { + n = cM(j | 0) | 0; + o = 0; + } else { + n = m - j | 0; + o = m + 1 | 0; + } + m = c[e >> 2] | 0; + L1739 : do { + if ((m | 0) != 0) { + L1741 : do { + if ((g | 0) != 0 & (n | 0) == 1) { + p = 0; + q = m; + while (1) { + if ((a[j] | 0) == (a[q] | 0)) { + if ((cM(q | 0) | 0) == 1) { + r = p; + break L1741; + } + } + p = p + 1 | 0; + q = c[e + (p << 4) >> 2] | 0; + if ((q | 0) == 0) { + break L1739; + } + } + } else { + q = 0; + p = -1; + s = m; + while (1) { + if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { + if ((cM(s | 0) | 0) == (n | 0)) { + r = q; + break L1741; + } + if ((p | 0) == -1) { + t = q; + } else { + break; + } + } else { + t = p; + } + u = q + 1 | 0; + v = c[e + (u << 4) >> 2] | 0; + if ((v | 0) == 0) { + r = t; + break L1741; + } else { + q = u; + p = t; + s = v; + } + } + do { + if ((c[46] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + cx(304, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); + } + } while (0); + c[42] = 0; + w = 63; + i = h; + return w | 0; + } + } while (0); + if ((r | 0) == -1) { + break; + } + s = e + (r << 4) + 4 | 0; + p = c[s >> 2] | 0; + q = (o | 0) == 0; + if (!((p | 0) != 0 | q)) { + do { + if ((c[46] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + cx(208, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); + } + } while (0); + if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { + x = c[e + (r << 4) + 12 >> 2] | 0; + } else { + x = 0; + } + c[42] = x; + w = (a[d] | 0) == 58 ? 58 : 63; + i = h; + return w | 0; + } + do { + if ((p - 1 | 0) >>> 0 < 2) { + if (!q) { + c[198] = o; + break; + } + if ((p | 0) != 1) { + break; + } + c[44] = k + 2; + c[198] = c[b + (l << 2) >> 2]; + } + } while (0); + if (!((c[s >> 2] | 0) == 1 & (c[198] | 0) == 0)) { + if ((f | 0) != 0) { + c[f >> 2] = r; + } + p = c[e + (r << 4) + 8 >> 2] | 0; + q = c[e + (r << 4) + 12 >> 2] | 0; + if ((p | 0) == 0) { + w = q; + i = h; + return w | 0; + } + c[p >> 2] = q; + w = 0; + i = h; + return w | 0; + } + do { + if ((c[46] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + cx(8, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); + } + } while (0); + if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { + z = c[e + (r << 4) + 12 >> 2] | 0; + } else { + z = 0; + } + c[42] = z; + c[44] = (c[44] | 0) - 1; + w = (a[d] | 0) == 58 ? 58 : 63; + i = h; + return w | 0; + } + } while (0); + if ((g | 0) != 0) { + c[44] = k; + w = -1; + i = h; + return w | 0; + } + do { + if ((c[46] | 0) != 0) { + if ((a[d] | 0) == 58) { + break; + } + cx(248, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); + } + } while (0); + c[42] = 0; + w = 63; + i = h; + return w | 0; +} +function cw(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + i = i + 16 | 0; + e = d | 0; + f = e; + c[f >> 2] = b; + c[f + 4 >> 2] = 0; + cy(a, e | 0); + i = d; + return; +} +function cx(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + i = i + 16 | 0; + e = d | 0; + f = e; + c[f >> 2] = b; + c[f + 4 >> 2] = 0; + cz(a, e | 0); + i = d; + return; +} +function cy(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0, f = 0; + d = i; + e = c[(aX() | 0) >> 2] | 0; + f = c[r >> 2] | 0; + av(c[o >> 2] | 0, 432, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + if ((a | 0) != 0) { + f = c[o >> 2] | 0; + aQ(f | 0, a | 0, b | 0) | 0; + b = c[o >> 2] | 0; + aE(472, 2, 1, b | 0) | 0; + } + b = c[o >> 2] | 0; + a = at(e | 0) | 0; + av(b | 0, 384, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; + i = d; + return; +} +function cz(a, b) { + a = a | 0; + b = b | 0; + var d = 0, e = 0; + d = i; + e = c[r >> 2] | 0; + av(c[o >> 2] | 0, 376, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + if ((a | 0) != 0) { + e = c[o >> 2] | 0; + aQ(e | 0, a | 0, b | 0) | 0; + } + aC(10, c[o >> 2] | 0) | 0; + i = d; + return; +} +function cA(b, d) { + b = b | 0; + d = d | 0; + var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; + e = b; + while (1) { + f = e + 1 | 0; + if ((aK(a[e] | 0) | 0) == 0) { + break; + } else { + e = f; + } + } + g = a[e] | 0; + if ((g << 24 >> 24 | 0) == 45) { + i = f; + j = 1; + } else if ((g << 24 >> 24 | 0) == 43) { + i = f; + j = 0; + } else { + i = e; + j = 0; + } + e = -1; + f = 0; + g = i; + while (1) { + k = a[g] | 0; + if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { + l = e; + } else { + if (k << 24 >> 24 != 46 | (e | 0) > -1) { + break; + } else { + l = f; + } + } + e = l; + f = f + 1 | 0; + g = g + 1 | 0; + } + l = g + (-f | 0) | 0; + i = (e | 0) < 0; + m = ((i ^ 1) << 31 >> 31) + f | 0; + n = (m | 0) > 18; + o = (n ? -18 : -m | 0) + (i ? f : e) | 0; + e = n ? 18 : m; + do { + if ((e | 0) == 0) { + p = b; + q = 0.0; + } else { + if ((e | 0) > 9) { + m = l; + n = e; + f = 0; + while (1) { + i = a[m] | 0; + r = m + 1 | 0; + if (i << 24 >> 24 == 46) { + s = a[r] | 0; + t = m + 2 | 0; + } else { + s = i; + t = r; + } + u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; + r = n - 1 | 0; + if ((r | 0) > 9) { + m = t; + n = r; + f = u; + } else { + break; + } + } + v = +(u | 0) * 1.0e9; + w = 9; + x = t; + y = 1393; + } else { + if ((e | 0) > 0) { + v = 0.0; + w = e; + x = l; + y = 1393; + } else { + z = 0.0; + A = 0.0; + } + } + if ((y | 0) == 1393) { + f = x; + n = w; + m = 0; + while (1) { + r = a[f] | 0; + i = f + 1 | 0; + if (r << 24 >> 24 == 46) { + B = a[i] | 0; + C = f + 2 | 0; + } else { + B = r; + C = i; + } + D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; + i = n - 1 | 0; + if ((i | 0) > 0) { + f = C; + n = i; + m = D; + } else { + break; + } + } + z = +(D | 0); + A = v; + } + E = A + z; + do { + if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { + m = g + 1 | 0; + n = a[m] | 0; + if ((n << 24 >> 24 | 0) == 43) { + F = g + 2 | 0; + G = 0; + } else if ((n << 24 >> 24 | 0) == 45) { + F = g + 2 | 0; + G = 1; + } else { + F = m; + G = 0; + } + m = a[F] | 0; + if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { + H = F; + I = 0; + J = m; + } else { + K = 0; + L = F; + M = G; + break; + } + while (1) { + m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; + n = H + 1 | 0; + f = a[n] | 0; + if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { + H = n; + I = m; + J = f; + } else { + K = m; + L = n; + M = G; + break; + } + } + } else { + K = 0; + L = g; + M = 0; + } + } while (0); + n = o + ((M | 0) == 0 ? K : -K | 0) | 0; + m = (n | 0) < 0 ? -n | 0 : n; + if ((m | 0) > 511) { + c[(aX() | 0) >> 2] = 34; + N = 1.0; + O = 88; + P = 511; + y = 1410; + } else { + if ((m | 0) == 0) { + Q = 1.0; + } else { + N = 1.0; + O = 88; + P = m; + y = 1410; + } + } + if ((y | 0) == 1410) { + while (1) { + y = 0; + if ((P & 1 | 0) == 0) { + R = N; + } else { + R = N * +h[O >> 3]; + } + m = P >> 1; + if ((m | 0) == 0) { + Q = R; + break; + } else { + N = R; + O = O + 8 | 0; + P = m; + y = 1410; + } + } + } + if ((n | 0) > -1) { + p = L; + q = E * Q; + break; + } else { + p = L; + q = E / Q; + break; + } + } + } while (0); + if ((d | 0) != 0) { + c[d >> 2] = p; + } + if ((j | 0) == 0) { + S = q; + return +S; + } + S = -0.0 - q; + return +S; +} +function cB(a, b) { + a = a | 0; + b = b | 0; + return +(+cA(a, b)); +} +function cC(a, b) { + a = a | 0; + b = b | 0; + return +(+cA(a, b)); +} +function cD(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return +(+cA(a, b)); +} +function cE(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return +(+cA(a, b)); +} +function cF(a) { + a = a | 0; + return +(+cA(a, 0)); +} +function cG(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + e = f; + c[e >> 2] = d; + c[e + 4 >> 2] = 0; + cI(a, b, f | 0); +} +function cH(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = i; + i = i + 16 | 0; + f = e | 0; + e = f; + c[e >> 2] = d; + c[e + 4 >> 2] = 0; + cJ(a, b, f | 0); +} +function cI(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0, f = 0; + e = c[(aX() | 0) >> 2] | 0; + f = c[r >> 2] | 0; + av(c[o >> 2] | 0, 336, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; + if ((b | 0) != 0) { + f = c[o >> 2] | 0; + aQ(f | 0, b | 0, d | 0) | 0; + d = c[o >> 2] | 0; + aE(480, 2, 1, d | 0) | 0; + } + d = c[o >> 2] | 0; + b = at(e | 0) | 0; + av(d | 0, 392, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; + aH(a | 0); +} +function cJ(a, b, d) { + a = a | 0; + b = b | 0; + d = d | 0; + var e = 0; + e = c[r >> 2] | 0; + av(c[o >> 2] | 0, 440, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; + if ((b | 0) != 0) { + e = c[o >> 2] | 0; + aQ(e | 0, b | 0, d | 0) | 0; + } + aC(10, c[o >> 2] | 0) | 0; + aH(a | 0); +} +function cK(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0; + f = b | 0; + if ((b & 3) == (d & 3)) { + while (b & 3) { + if ((e | 0) == 0) return f | 0; + a[b] = a[d] | 0; + b = b + 1 | 0; + d = d + 1 | 0; + e = e - 1 | 0; + } + while ((e | 0) >= 4) { + c[b >> 2] = c[d >> 2]; + b = b + 4 | 0; + d = d + 4 | 0; + e = e - 4 | 0; + } + } + while ((e | 0) > 0) { + a[b] = a[d] | 0; + b = b + 1 | 0; + d = d + 1 | 0; + e = e - 1 | 0; + } + return f | 0; +} +function cL(b, d, e) { + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0; + f = b + e | 0; + if ((e | 0) >= 20) { + d = d & 255; + e = b & 3; + g = d | d << 8 | d << 16 | d << 24; + h = f & ~3; + if (e) { + e = b + 4 - e | 0; + while ((b | 0) < (e | 0)) { + a[b] = d; + b = b + 1 | 0; + } + } + while ((b | 0) < (h | 0)) { + c[b >> 2] = g; + b = b + 4 | 0; + } + } + while ((b | 0) < (f | 0)) { + a[b] = d; + b = b + 1 | 0; + } +} +function cM(b) { + b = b | 0; + var c = 0; + c = b; + while (a[c] | 0) { + c = c + 1 | 0; + } + return c - b | 0; +} +function cN(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = a + c >>> 0; + return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; +} +function cO(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = b - d >>> 0; + e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; + return (H = e, a - c >>> 0 | 0) | 0; +} +function cP(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; + return a << c; + } + H = a << c - 32; + return 0; +} +function cQ(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b >>> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c; + } + H = 0; + return b >>> c - 32 | 0; +} +function cR(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + if ((c | 0) < 32) { + H = b >> c; + return a >>> c | (b & (1 << c) - 1) << 32 - c; + } + H = (b | 0) < 0 ? -1 : 0; + return b >> c - 32 | 0; +} +function cS(b) { + b = b | 0; + var c = 0; + c = a[n + (b >>> 24) | 0] | 0; + if ((c | 0) < 8) return c | 0; + c = a[n + (b >> 16 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 8 | 0; + c = a[n + (b >> 8 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 16 | 0; + return (a[n + (b & 255) | 0] | 0) + 24 | 0; +} +function cT(b) { + b = b | 0; + var c = 0; + c = a[m + (b & 255) | 0] | 0; + if ((c | 0) < 8) return c | 0; + c = a[m + (b >> 8 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 8 | 0; + c = a[m + (b >> 16 & 255) | 0] | 0; + if ((c | 0) < 8) return c + 16 | 0; + return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; +} +function cU(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0; + c = a & 65535; + d = b & 65535; + e = ad(d, c) | 0; + f = a >>> 16; + a = (e >>> 16) + (ad(d, f) | 0) | 0; + d = b >>> 16; + b = ad(d, c) | 0; + return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; +} +function cV(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; + h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; + i = cO(e ^ a, f ^ b, e, f) | 0; + b = H; + a = g ^ e; + e = h ^ f; + f = cO((c_(i, b, cO(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; + return (H = H, f) | 0; +} +function cW(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; + f = i; + i = i + 8 | 0; + g = f | 0; + h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; + l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; + m = cO(h ^ a, j ^ b, h, j) | 0; + b = H; + a = cO(k ^ d, l ^ e, k, l) | 0; + c_(m, b, a, H, g) | 0; + a = cO(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; + j = H; + i = f; + return (H = j, a) | 0; +} +function cX(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0; + e = a; + a = c; + c = cU(e, a) | 0; + f = H; + return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; +} +function cY(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0; + e = c_(a, b, c, d, 0) | 0; + return (H = H, e) | 0; +} +function cZ(a, b, d, e) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + var f = 0, g = 0; + f = i; + i = i + 8 | 0; + g = f | 0; + c_(a, b, d, e, g) | 0; + i = f; + return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; +} +function c_(a, b, d, e, f) { + a = a | 0; + b = b | 0; + d = d | 0; + e = e | 0; + f = f | 0; + var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; + g = a; + h = b; + i = h; + j = d; + k = e; + l = k; + if ((i | 0) == 0) { + m = (f | 0) != 0; + if ((l | 0) == 0) { + if (m) { + c[f >> 2] = (g >>> 0) % (j >>> 0); + c[f + 4 >> 2] = 0; + } + n = 0; + o = (g >>> 0) / (j >>> 0) >>> 0; + return (H = n, o) | 0; + } else { + if (!m) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } + } + m = (l | 0) == 0; + do { + if ((j | 0) == 0) { + if (m) { + if ((f | 0) != 0) { + c[f >> 2] = (i >>> 0) % (j >>> 0); + c[f + 4 >> 2] = 0; + } + n = 0; + o = (i >>> 0) / (j >>> 0) >>> 0; + return (H = n, o) | 0; + } + if ((g | 0) == 0) { + if ((f | 0) != 0) { + c[f >> 2] = 0; + c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); + } + n = 0; + o = (i >>> 0) / (l >>> 0) >>> 0; + return (H = n, o) | 0; + } + p = l - 1 | 0; + if ((p & l | 0) == 0) { + if ((f | 0) != 0) { + c[f >> 2] = a | 0; + c[f + 4 >> 2] = p & i | b & 0; + } + n = 0; + o = i >>> ((cT(l | 0) | 0) >>> 0); + return (H = n, o) | 0; + } + p = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; + if (p >>> 0 <= 30) { + q = p + 1 | 0; + r = 31 - p | 0; + s = q; + t = i << r | g >>> (q >>> 0); + u = i >>> (q >>> 0); + v = 0; + w = g << r; + break; + } + if ((f | 0) == 0) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = h | b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } else { + if (!m) { + r = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; + if (r >>> 0 <= 31) { + q = r + 1 | 0; + p = 31 - r | 0; + x = r - 31 >> 31; + s = q; + t = g >>> (q >>> 0) & x | i << p; + u = i >>> (q >>> 0) & x; + v = 0; + w = g << p; + break; + } + if ((f | 0) == 0) { + n = 0; + o = 0; + return (H = n, o) | 0; + } + c[f >> 2] = a | 0; + c[f + 4 >> 2] = h | b & 0; + n = 0; + o = 0; + return (H = n, o) | 0; + } + p = j - 1 | 0; + if ((p & j | 0) != 0) { + x = (cS(j | 0) | 0) + 33 - (cS(i | 0) | 0) | 0; + q = 64 - x | 0; + r = 32 - x | 0; + y = r >> 31; + z = x - 32 | 0; + A = z >> 31; + s = x; + t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; + u = A & i >>> (x >>> 0); + v = g << q & y; + w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; + break; + } + if ((f | 0) != 0) { + c[f >> 2] = p & g; + c[f + 4 >> 2] = 0; + } + if ((j | 0) == 1) { + n = h | b & 0; + o = a | 0 | 0; + return (H = n, o) | 0; + } else { + p = cT(j | 0) | 0; + n = i >>> (p >>> 0) | 0; + o = i << 32 - p | g >>> (p >>> 0) | 0; + return (H = n, o) | 0; + } + } + } while (0); + if ((s | 0) == 0) { + B = w; + C = v; + D = u; + E = t; + F = 0; + G = 0; + } else { + g = d | 0 | 0; + d = k | e & 0; + e = cN(g, d, -1, -1) | 0; + k = H; + i = w; + w = v; + v = u; + u = t; + t = s; + s = 0; + while (1) { + I = w >>> 31 | i << 1; + J = s | w << 1; + j = u << 1 | i >>> 31 | 0; + a = u >>> 31 | v << 1 | 0; + cO(e, k, j, a) | 0; + b = H; + h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; + K = h & 1; + L = cO(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; + M = H; + b = t - 1 | 0; + if ((b | 0) == 0) { + break; + } else { + i = I; + w = J; + v = M; + u = L; + t = b; + s = K; + } + } + B = I; + C = J; + D = M; + E = L; + F = 0; + G = K; + } + K = C; + C = 0; + if ((f | 0) != 0) { + c[f >> 2] = E; + c[f + 4 >> 2] = D; + } + n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; + o = (K << 1 | 0 >>> 31) & -2 | G; + return (H = n, o) | 0; +} +function c$(a, b) { + a = a | 0; + b = b | 0; + a1[a & 15](b | 0); +} +function c0(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + a2[a & 15](b | 0, c | 0); +} +function c1(a, b) { + a = a | 0; + b = b | 0; + return a3[a & 7](b | 0) | 0; +} +function c2(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + a4[a & 15](b | 0, c | 0, d | 0); +} +function c3(a) { + a = a | 0; + a5[a & 1](); +} +function c4(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + return a6[a & 1](b | 0, c | 0) | 0; +} +function c5(a) { + a = a | 0; + ae(0); +} +function c6(a, b) { + a = a | 0; + b = b | 0; + ae(1); +} +function c7(a) { + a = a | 0; + ae(2); + return 0; +} +function c8(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + ae(3); +} +function c9() { + ae(4); +} +function da(a, b) { + a = a | 0; + b = b | 0; + ae(5); + return 0; +} +// EMSCRIPTEN_END_FUNCS + var a1 = [ c5, c5, ch, c5, cn, c5, cc, c5, cg, c5, cm, c5, c5, c5, c5, c5 ]; + var a2 = [ c6, c6, cw, c6, cy, c6, cx, c6, cz, c6, c6, c6, c6, c6, c6, c6 ]; + var a3 = [ c7, c7, cd, c7, ce, c7, c7, c7 ]; + var a4 = [ c8, c8, cJ, c8, cI, c8, cG, c8, cH, c8, c8, c8, c8, c8, c8, c8 ]; + var a5 = [ c9, c9 ]; + var a6 = [ da, da ]; + return { + _crypto_scrypt: bu, + _strlen: cM, + _free: bM, + _realloc: bO, + _memset: cL, + _malloc: bL, + _memcpy: cK, + _calloc: bN, + runPostSets: bn, + stackAlloc: a7, + stackSave: a8, + stackRestore: a9, + setThrew: ba, + setTempRet0: bd, + setTempRet1: be, + setTempRet2: bf, + setTempRet3: bg, + setTempRet4: bh, + setTempRet5: bi, + setTempRet6: bj, + setTempRet7: bk, + setTempRet8: bl, + setTempRet9: bm, + dynCall_vi: c$, + dynCall_vii: c0, + dynCall_ii: c1, + dynCall_viii: c2, + dynCall_v: c3, + dynCall_iii: c4 + }; +// EMSCRIPTEN_END_ASM +})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:w, asmPrintInt:function(a, b) { + s.print("int " + a + "," + b) +}, asmPrintFloat:function(a, b) { + s.print("float " + a + "," + b) +}, min:Xc, invoke_vi:function(a, b) { + try { + s.dynCall_vi(a, b) + }catch(c) { + "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) + } +}, invoke_vii:function(a, b, c) { + try { + s.dynCall_vii(a, b, c) + }catch(d) { + "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) + } +}, invoke_ii:function(a, b) { + try { + return s.dynCall_ii(a, b) + }catch(c) { + "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) + } +}, invoke_viii:function(a, b, c, d) { + try { + s.dynCall_viii(a, b, c, d) + }catch(e) { + "number" !== typeof e && "longjmp" !== e && g(e), V.setThrew(1, 0) + } +}, invoke_v:function(a) { + try { + s.dynCall_v(a) + }catch(b) { + "number" !== typeof b && "longjmp" !== b && g(b), V.setThrew(1, 0) + } +}, invoke_iii:function(a, b, c) { + try { + return s.dynCall_iii(a, b, c) + }catch(d) { + "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) + } +}, _strncmp:function(a, b, c) { + for(var d = 0;d < c;) { + var e = G[a + d | 0], f = G[b + d | 0]; + if(e == f && 0 == e) { + break + } + if(0 == e) { + return-1 + } + if(0 == f) { + return 1 + } + if(e == f) { + d++ + }else { + return e > f ? 1 : -1 + } + } + return 0 +}, _llvm_va_end:aa(), _sysconf:function(a) { + switch(a) { + case 8: + return 4096; + case 54: + ; + case 56: + ; + case 21: + ; + case 61: + ; + case 63: + ; + case 22: + ; + case 67: + ; + case 23: + ; + case 24: + ; + case 25: + ; + case 26: + ; + case 27: + ; + case 69: + ; + case 28: + ; + case 101: + ; + case 70: + ; + case 71: + ; + case 29: + ; + case 30: + ; + case 199: + ; + case 75: + ; + case 76: + ; + case 32: + ; + case 43: + ; + case 44: + ; + case 80: + ; + case 46: + ; + case 47: + ; + case 45: + ; + case 48: + ; + case 49: + ; + case 42: + ; + case 82: + ; + case 33: + ; + case 7: + ; + case 108: + ; + case 109: + ; + case 107: + ; + case 112: + ; + case 119: + ; + case 121: + return 200809; + case 13: + ; + case 104: + ; + case 94: + ; + case 95: + ; + case 34: + ; + case 35: + ; + case 77: + ; + case 81: + ; + case 83: + ; + case 84: + ; + case 85: + ; + case 86: + ; + case 87: + ; + case 88: + ; + case 89: + ; + case 90: + ; + case 91: + ; + case 94: + ; + case 95: + ; + case 110: + ; + case 111: + ; + case 113: + ; + case 114: + ; + case 115: + ; + case 116: + ; + case 117: + ; + case 118: + ; + case 120: + ; + case 40: + ; + case 16: + ; + case 79: + ; + case 19: + return-1; + case 92: + ; + case 93: + ; + case 5: + ; + case 72: + ; + case 6: + ; + case 74: + ; + case 92: + ; + case 93: + ; + case 96: + ; + case 97: + ; + case 98: + ; + case 99: + ; + case 102: + ; + case 103: + ; + case 105: + return 1; + case 38: + ; + case 66: + ; + case 50: + ; + case 51: + ; + case 4: + return 1024; + case 15: + ; + case 64: + ; + case 41: + return 32; + case 55: + ; + case 37: + ; + case 17: + return 2147483647; + case 18: + ; + case 1: + return 47839; + case 59: + ; + case 57: + return 99; + case 68: + ; + case 58: + return 2048; + case 0: + return 2097152; + case 3: + return 65536; + case 14: + return 32768; + case 73: + return 32767; + case 39: + return 16384; + case 60: + return 1E3; + case 106: + return 700; + case 52: + return 256; + case 62: + return 255; + case 2: + return 100; + case 65: + return 64; + case 36: + return 20; + case 100: + return 16; + case 20: + return 6; + case 53: + return 4; + case 10: + return 1 + } + M(N.A); + return-1 +}, ___cxa_throw:rc, _strerror:zc, _abort:function() { + s.abort() +}, _fprintf:mc, _llvm_eh_exception:U, ___cxa_free_exception:sc, _fflush:aa(), ___buildEnvironment:wc, __reallyNegative:jc, _strchr:function(a, b) { + a--; + do { + a++; + var c = A[a]; + if(c == b) { + return a + } + }while(c); + return 0 +}, _fputc:Bc, ___setErrNo:M, _fwrite:hc, _send:fc, _write:gc, _exit:function(a) { + Ac(a) +}, ___cxa_find_matching_catch:function(a, b) { + -1 == a && (a = B[U.m >> 2]); + -1 == b && (b = B[U.m + 4 >> 2]); + var c = Array.prototype.slice.call(arguments, 2); + 0 != b && !pc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); + for(var d = 0;d < c.length;d++) { + if(qc(c[d], b, a)) { + return(V.setTempRet0(c[d]), a) | 0 + } + } + return(V.setTempRet0(b), a) | 0 +}, ___cxa_allocate_exception:function(a) { + return Oa(a) +}, _isspace:function(a) { + return 32 == a || 9 <= a && 13 >= a +}, __formatString:kc, ___resumeException:function(a) { + 0 == B[U.m >> 2] && (B[U.m >> 2] = a); + g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") +}, _llvm_uadd_with_overflow_i32:function(a, b) { + a >>>= 0; + b >>>= 0; + return(V.setTempRet0(4294967295 < a + b), a + b >>> 0) | 0 +}, ___cxa_does_inherit:qc, _getenv:xc, _vfprintf:function(a, b, c) { + return mc(a, b, B[c >> 2]) +}, ___cxa_begin_catch:function(a) { + oc.ta--; + return a +}, __ZSt18uncaught_exceptionv:oc, _pwrite:function(a, b, c, d) { + a = R[a]; + if(!a) { + return M(N.$), -1 + } + try { + return Ib(a, A, b, c, d) + }catch(e) { + return Zb(e), -1 + } +}, ___cxa_call_unexpected:function(a) { + s.P("Unexpected exception thrown, this is not properly supported - aborting"); + za = l; + g(a) +}, _sbrk:nc, _strerror_r:yc, ___errno_location:function() { + return rb +}, ___gxx_personality_v0:aa(), ___cxa_is_number_type:pc, _time:function(a) { + var b = Math.floor(Date.now() / 1E3); + a && (B[a >> 2] = b); + return b +}, __exit:Ac, ___cxa_end_catch:uc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Wc, ctlz_i8:Vc, NaN:NaN, Infinity:Infinity, _stderr:nb, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I); +s._crypto_scrypt = V._crypto_scrypt; +var ic = s._strlen = V._strlen, tc = s._free = V._free; +s._realloc = V._realloc; +var tb = s._memset = V._memset, Oa = s._malloc = V._malloc, sb = s._memcpy = V._memcpy; +s._calloc = V._calloc; +var mb = s.runPostSets = V.runPostSets; +s.dynCall_vi = V.dynCall_vi; +s.dynCall_vii = V.dynCall_vii; +s.dynCall_ii = V.dynCall_ii; +s.dynCall_viii = V.dynCall_viii; +s.dynCall_v = V.dynCall_v; +s.dynCall_iii = V.dynCall_iii; +var qa = function(a) { + return V.stackAlloc(a) +}, ja = function() { + return V.stackSave() +}, ka = function(a) { + V.stackRestore(a) +}, lc; +function X(a, b) { + a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) +} +function Yc() { + return new X(m) +} +function Zc(a, b) { + var c = $c[a.charCodeAt(b)]; + return c == m ? -1 : c +} +function ad(a) { + var b = Yc(); + b.D(a); + return b +} +function Y(a, b) { + this.h = a | 0; + this.j = b | 0 +} +Y.Ca = {}; +Y.D = function(a) { + if(-128 <= a && 128 > a) { + var b = Y.Ca[a]; + if(b) { + return b + } + } + b = new Y(a | 0, 0 > a ? -1 : 0); + -128 <= a && 128 > a && (Y.Ca[a] = b); + return b +}; +Y.p = function(a) { + return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) +}; +Y.v = function(a, b) { + return new Y(a, b) +}; +Y.k = function(a, b) { + 0 == a.length && g(Error("number format error: empty string")); + var c = b || 10; + (2 > c || 36 < c) && g(Error("radix out of range: " + c)); + if("-" == a.charAt(0)) { + return Y.k(a.substring(1), c).i() + } + 0 <= a.indexOf("-") && g(Error('number format error: interior "-" character: ' + a)); + for(var d = Y.p(Math.pow(c, 8)), e = Y.ZERO, f = 0;f < a.length;f += 8) { + var h = Math.min(8, a.length - f), i = parseInt(a.substring(f, f + h), c); + 8 > h ? (h = Y.p(Math.pow(c, h)), e = e.multiply(h).add(Y.p(i))) : (e = e.multiply(d), e = e.add(Y.p(i))) + } + return e +}; +Y.ea = 65536; +Y.Od = 16777216; +Y.B = Y.ea * Y.ea; +Y.Pd = Y.B / 2; +Y.Qd = Y.B * Y.ea; +Y.eb = Y.B * Y.B; +Y.Ea = Y.eb / 2; +Y.ZERO = Y.D(0); +Y.ONE = Y.D(1); +Y.Da = Y.D(-1); +Y.MAX_VALUE = Y.v(-1, 2147483647); +Y.MIN_VALUE = Y.v(0, -2147483648); +Y.cb = Y.D(16777216); +q = Y.prototype; +q.Z = function() { + return this.j * Y.B + this.ob() +}; +q.toString = function(a) { + a = a || 10; + (2 > a || 36 < a) && g(Error("radix out of range: " + a)); + if(this.G()) { + return"0" + } + if(this.n()) { + if(this.o(Y.MIN_VALUE)) { + var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); + return c.toString(a) + b.h.toString(a) + } + return"-" + this.i().toString(a) + } + for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { + var e = b.F(c), f = b.R(e.multiply(c)).h.toString(a), b = e; + if(b.G()) { + return f + d + } + for(;6 > f.length;) { + f = "0" + f + } + d = "" + f + d + } +}; +q.ob = function() { + return 0 <= this.h ? this.h : Y.B + this.h +}; +q.G = function() { + return 0 == this.j && 0 == this.h +}; +q.n = function() { + return 0 > this.j +}; +q.Pa = function() { + return 1 == (this.h & 1) +}; +q.o = function(a) { + return this.j == a.j && this.h == a.h +}; +q.Ra = function() { + return 0 > this.ja(Y.cb) +}; +q.qb = function(a) { + return 0 < this.ja(a) +}; +q.rb = function(a) { + return 0 <= this.ja(a) +}; +q.ja = function(a) { + if(this.o(a)) { + return 0 + } + var b = this.n(), c = a.n(); + return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 +}; +q.i = function() { + return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) +}; +q.add = function(a) { + var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = a.j >>> 16, f = a.j & 65535, h = a.h >>> 16, i; + i = 0 + ((this.h & 65535) + (a.h & 65535)); + a = 0 + (i >>> 16); + a += d + h; + d = 0 + (a >>> 16); + d += c + f; + c = 0 + (d >>> 16); + c = c + (b + e) & 65535; + return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) +}; +q.R = function(a) { + return this.add(a.i()) +}; +q.multiply = function(a) { + if(this.G() || a.G()) { + return Y.ZERO + } + if(this.o(Y.MIN_VALUE)) { + return a.Pa() ? Y.MIN_VALUE : Y.ZERO + } + if(a.o(Y.MIN_VALUE)) { + return this.Pa() ? Y.MIN_VALUE : Y.ZERO + } + if(this.n()) { + return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() + } + if(a.n()) { + return this.multiply(a.i()).i() + } + if(this.Ra() && a.Ra()) { + return Y.p(this.Z() * a.Z()) + } + var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = this.h & 65535, f = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, n, y, v; + v = 0 + e * a; + y = 0 + (v >>> 16); + y += d * a; + n = 0 + (y >>> 16); + y = (y & 65535) + e * i; + n += y >>> 16; + y &= 65535; + n += c * a; + j = 0 + (n >>> 16); + n = (n & 65535) + d * i; + j += n >>> 16; + n &= 65535; + n += e * h; + j += n >>> 16; + n &= 65535; + j = j + (b * a + c * i + d * h + e * f) & 65535; + return Y.v(y << 16 | v & 65535, j << 16 | n) +}; +q.F = function(a) { + a.G() && g(Error("division by zero")); + if(this.G()) { + return Y.ZERO + } + if(this.o(Y.MIN_VALUE)) { + if(a.o(Y.ONE) || a.o(Y.Da)) { + return Y.MIN_VALUE + } + if(a.o(Y.MIN_VALUE)) { + return Y.ONE + } + var b = this.Db().F(a).shiftLeft(1); + if(b.o(Y.ZERO)) { + return a.n() ? Y.ONE : Y.Da + } + var c = this.R(a.multiply(b)); + return b.add(c.F(a)) + } + if(a.o(Y.MIN_VALUE)) { + return Y.ZERO + } + if(this.n()) { + return a.n() ? this.i().F(a.i()) : this.i().F(a).i() + } + if(a.n()) { + return this.F(a.i()).i() + } + for(var d = Y.ZERO, c = this;c.rb(a);) { + for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), e = Math.ceil(Math.log(b) / Math.LN2), e = 48 >= e ? 1 : Math.pow(2, e - 48), f = Y.p(b), h = f.multiply(a);h.n() || h.qb(c);) { + b -= e, f = Y.p(b), h = f.multiply(a) + } + f.G() && (f = Y.ONE); + d = d.add(f); + c = c.R(h) + } + return d +}; +q.xb = function() { + return Y.v(~this.h, ~this.j) +}; +q.shiftLeft = function(a) { + a &= 63; + if(0 == a) { + return this + } + var b = this.h; + return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) +}; +q.Db = function() { + var a; + a = 1; + if(0 == a) { + return this + } + var b = this.j; + return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) +}; +q = X.prototype; +q.ga = function(a, b, c, d) { + for(var e = 0, f = 0;0 <= --d;) { + var h = a * this[e++] + b[c] + f, f = Math.floor(h / 67108864); + b[c++] = h & 67108863 + } + return f +}; +q.f = 26; +q.u = 67108863; +q.K = 67108864; +q.bb = Math.pow(2, 52); +q.Aa = 26; +q.Ba = 0; +var $c = [], bd, Z; +bd = 48; +for(Z = 0;9 >= Z;++Z) { + $c[bd++] = Z +} +bd = 97; +for(Z = 10;36 > Z;++Z) { + $c[bd++] = Z +} +bd = 65; +for(Z = 10;36 > Z;++Z) { + $c[bd++] = Z +} +q = X.prototype; +q.copyTo = function(a) { + for(var b = this.b - 1;0 <= b;--b) { + a[b] = this[b] + } + a.b = this.b; + a.c = this.c +}; +q.D = function(a) { + this.b = 1; + this.c = 0 > a ? -1 : 0; + 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 +}; +q.k = function(a, b) { + var c; + if(16 == b) { + c = 4 + }else { + if(8 == b) { + c = 3 + }else { + if(256 == b) { + c = 8 + }else { + if(2 == b) { + c = 1 + }else { + if(32 == b) { + c = 5 + }else { + if(4 == b) { + c = 2 + }else { + this.nb(a, b); + return + } + } + } + } + } + } + this.c = this.b = 0; + for(var d = a.length, e = p, f = 0;0 <= --d;) { + var h = 8 == c ? a[d] & 255 : Zc(a, d); + 0 > h ? "-" == a.charAt(d) && (e = l) : (e = p, 0 == f ? this[this.b++] = h : f + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - f) - 1) << f, this[this.b++] = h >> this.f - f) : this[this.b - 1] |= h << f, f += c, f >= this.f && (f -= this.f)) + } + 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < f && (this[this.b - 1] |= (1 << this.f - f) - 1 << f)); + this.C(); + e && X.ZERO.t(this, this) +}; +q.C = function() { + for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { + --this.b + } +}; +q.la = function(a, b) { + var c; + for(c = this.b - 1;0 <= c;--c) { + b[c + a] = this[c] + } + for(c = a - 1;0 <= c;--c) { + b[c] = 0 + } + b.b = this.b + a; + b.c = this.c +}; +q.jb = function(a, b) { + for(var c = a;c < this.b;++c) { + b[c - a] = this[c] + } + b.b = Math.max(this.b - a, 0); + b.c = this.c +}; +q.Qa = function(a, b) { + var c = a % this.f, d = this.f - c, e = (1 << d) - 1, f = Math.floor(a / this.f), h = this.c << c & this.u, i; + for(i = this.b - 1;0 <= i;--i) { + b[i + f + 1] = this[i] >> d | h, h = (this[i] & e) << c + } + for(i = f - 1;0 <= i;--i) { + b[i] = 0 + } + b[f] = h; + b.b = this.b + f + 1; + b.c = this.c; + b.C() +}; +q.zb = function(a, b) { + b.c = this.c; + var c = Math.floor(a / this.f); + if(c >= this.b) { + b.b = 0 + }else { + var d = a % this.f, e = this.f - d, f = (1 << d) - 1; + b[0] = this[c] >> d; + for(var h = c + 1;h < this.b;++h) { + b[h - c - 1] |= (this[h] & f) << e, b[h - c] = this[h] >> d + } + 0 < d && (b[this.b - c - 1] |= (this.c & f) << e); + b.b = this.b - c; + b.C() + } +}; +q.t = function(a, b) { + for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { + d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f + } + if(a.b < this.b) { + for(d -= a.c;c < this.b;) { + d += this[c], b[c++] = d & this.u, d >>= this.f + } + d += this.c + }else { + for(d += this.c;c < a.b;) { + d -= a[c], b[c++] = d & this.u, d >>= this.f + } + d -= a.c + } + b.c = 0 > d ? -1 : 0; + -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); + b.b = c; + b.C() +}; +q.vb = function(a) { + var b = $.Xa, c = this.abs(), d = b.abs(), e = c.b; + for(a.b = e + d.b;0 <= --e;) { + a[e] = 0 + } + for(e = 0;e < d.b;++e) { + a[e + c.b] = c.ga(d[e], a, e, c.b) + } + a.c = 0; + a.C(); + this.c != b.c && X.ZERO.t(a, a) +}; +q.Ja = function(a, b, c) { + var d = a.abs(); + if(!(0 >= d.b)) { + var e = this.abs(); + if(e.b < d.b) { + b != m && b.D(0), c != m && this.copyTo(c) + }else { + c == m && (c = Yc()); + var f = Yc(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, n; + if(0 != (n = i >>> 16)) { + i = n, j += 16 + } + if(0 != (n = i >> 8)) { + i = n, j += 8 + } + if(0 != (n = i >> 4)) { + i = n, j += 4 + } + if(0 != (n = i >> 2)) { + i = n, j += 2 + } + 0 != i >> 1 && (j += 1); + i = this.f - j; + 0 < i ? (d.Qa(i, f), e.Qa(i, c)) : (d.copyTo(f), e.copyTo(c)); + d = f.b; + e = f[d - 1]; + if(0 != e) { + n = e * (1 << this.Aa) + (1 < d ? f[d - 2] >> this.Ba : 0); + j = this.bb / n; + n = (1 << this.Aa) / n; + var y = 1 << this.Ba, v = c.b, C = v - d, D = b == m ? Yc() : b; + f.la(C, D); + 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); + X.ONE.la(d, D); + for(D.t(f, f);f.b < d;) { + f[f.b++] = 0 + } + for(;0 <= --C;) { + var K = c[--v] == e ? this.u : Math.floor(c[v] * j + (c[v - 1] + y) * n); + if((c[v] += f.ga(K, c, C, d)) < K) { + f.la(C, D); + for(c.t(D, c);c[v] < --K;) { + c.t(D, c) + } + } + } + b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); + c.b = d; + c.C(); + 0 < i && c.zb(i, c); + 0 > h && X.ZERO.t(c, c) + } + } + } +}; +q.toString = function(a) { + if(0 > this.c) { + return"-" + this.i().toString(a) + } + if(16 == a) { + a = 4 + }else { + if(8 == a) { + a = 3 + }else { + if(2 == a) { + a = 1 + }else { + if(32 == a) { + a = 5 + }else { + if(4 == a) { + a = 2 + }else { + return this.Fb(a) + } + } + } + } + } + var b = (1 << a) - 1, c, d = p, e = "", f = this.b, h = this.f - f * this.f % a; + if(0 < f--) { + if(h < this.f && 0 < (c = this[f] >> h)) { + d = l, e = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) + } + for(;0 <= f;) { + h < a ? (c = (this[f] & (1 << h) - 1) << a - h, c |= this[--f] >> (h += this.f - a)) : (c = this[f] >> (h -= a) & b, 0 >= h && (h += this.f, --f)), 0 < c && (d = l), d && (e += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) + } + } + return d ? e : "0" +}; +q.i = function() { + var a = Yc(); + X.ZERO.t(this, a); + return a +}; +q.abs = function() { + return 0 > this.c ? this.i() : this +}; +q.U = function(a) { + var b = this.c - a.c; + if(0 != b) { + return b + } + var c = this.b, b = c - a.b; + if(0 != b) { + return 0 > this.c ? -b : b + } + for(;0 <= --c;) { + if(0 != (b = this[c] - a[c])) { + return b + } + } + return 0 +}; +X.ZERO = ad(0); +X.ONE = ad(1); +q = X.prototype; +q.nb = function(a, b) { + this.D(0); + b == m && (b = 10); + for(var c = this.S(b), d = Math.pow(b, c), e = p, f = 0, h = 0, i = 0;i < a.length;++i) { + var j = Zc(a, i); + 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (e = l) : (h = b * h + j, ++f >= c && (this.Ia(d), this.Ha(h), h = f = 0)) + } + 0 < f && (this.Ia(Math.pow(b, f)), this.Ha(h)); + e && X.ZERO.t(this, this) +}; +q.S = function(a) { + return Math.floor(Math.LN2 * this.f / Math.log(a)) +}; +q.ra = function() { + return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 +}; +q.Ia = function(a) { + this[this.b] = this.ga(a - 1, this, 0, this.b); + ++this.b; + this.C() +}; +q.Ha = function(a) { + var b = 0; + if(0 != a) { + for(;this.b <= b;) { + this[this.b++] = 0 + } + for(this[b] += a;this[b] >= this.K;) { + this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] + } + } +}; +q.Fb = function(a) { + a == m && (a = 10); + if(0 == this.ra() || 2 > a || 36 < a) { + return"0" + } + var b = this.S(a), b = Math.pow(a, b), c = ad(b), d = Yc(), e = Yc(), f = ""; + for(this.Ja(c, d, e);0 < d.ra();) { + f = (b + e.Oa()).toString(a).substr(1) + f, d.Ja(c, d, e) + } + return e.Oa().toString(a) + f +}; +q.Oa = function() { + if(0 > this.c) { + if(1 == this.b) { + return this[0] - this.K + } + if(0 == this.b) { + return-1 + } + }else { + if(1 == this.b) { + return this[0] + } + if(0 == this.b) { + return 0 + } + } + return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] +}; +q.fa = function(a, b) { + for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { + d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f + } + if(a.b < this.b) { + for(d += a.c;c < this.b;) { + d += this[c], b[c++] = d & this.u, d >>= this.f + } + d += this.c + }else { + for(d += this.c;c < a.b;) { + d += a[c], b[c++] = d & this.u, d >>= this.f + } + d += a.c + } + b.c = 0 > d ? -1 : 0; + 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); + b.b = c; + b.C() +}; +var $ = {abs:function(a, b) { + var c = new Y(a, b), c = c.n() ? c.i() : c; + B[qb >> 2] = c.h; + B[qb + 4 >> 2] = c.j +}, Ka:function() { + $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) +}, me:function(a, b) { + var c = new X; + c.k(b.toString(), 10); + var d = new X; + c.vb(d); + c = new X; + c.k(a.toString(), 10); + var e = new X; + c.fa(d, e); + return e +}, stringify:function(a, b, c) { + a = (new Y(a, b)).toString(); + c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); + return a +}, k:function(a, b, c, d, e) { + $.Ka(); + var f = new X; + f.k(a, b); + a = new X; + a.k(c, 10); + c = new X; + c.k(d, 10); + e && 0 > f.U(X.ZERO) && (d = new X, f.fa($.sa, d), f = d); + d = p; + 0 > f.U(a) ? (f = a, d = l) : 0 < f.U(c) && (f = c, d = l); + f = Y.k(f.toString()); + B[qb >> 2] = f.h; + B[qb + 4 >> 2] = f.j; + d && g("range error") +}}; +lc = $; +var cd, dd; +s.callMain = s.$d = function(a) { + function b() { + for(var a = 0;3 > a;a++) { + d.push(0) + } + } + w(0 == L, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); + w(0 == Wa.length, "cannot call main when preRun functions remain to be called"); + a = a || []; + ab || (ab = l, Va(Xa)); + var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; + b(); + for(var e = 0;e < c - 1;e += 1) { + d.push(F(J(a[e]), "i8", Ka)), b() + } + d.push(0); + d = F(d, "i32", Ka); + cd = u; + dd = l; + var f; + try { + f = s._main(c, d, 0) + }catch(h) { + if(h && "object" == typeof h && "ExitStatus" == h.type) { + return s.print("Exit Status: " + h.value), h.value + } + "SimulateInfiniteLoop" == h ? s.noExitRuntime = l : g(h) + }finally { + dd = p + } + s.noExitRuntime || ed(f) +}; +function lb(a) { + function b() { + ab || (ab = l, Va(Xa)); + Va(Ya); + gb = l; + s._main && kb && s.callMain(a); + if(s.postRun) { + for("function" == typeof s.postRun && (s.postRun = [s.postRun]);s.postRun.length;) { + cb(s.postRun.shift()) + } + } + Va($a) + } + a = a || s.arguments; + if(0 < L) { + s.P("run() called, but dependencies remain, so not running") + }else { + if(s.preRun) { + for("function" == typeof s.preRun && (s.preRun = [s.preRun]);s.preRun.length;) { + bb(s.preRun.shift()) + } + } + Va(Wa); + 0 < L || (s.setStatus ? (s.setStatus("Running..."), setTimeout(function() { + setTimeout(function() { + s.setStatus("") + }, 1); + za || b() + }, 1)) : b()) + } +} +s.run = s.we = lb; +function ed(a) { + za = l; + u = cd; + Va(Za); + dd && g({type:"ExitStatus", value:a}) +} +s.exit = s.de = ed; +function wa(a) { + a && s.print(a); + za = l; + g("abort() at " + Error().stack) +} +s.abort = s.abort = wa; +if(s.preInit) { + for("function" == typeof s.preInit && (s.preInit = [s.preInit]);0 < s.preInit.length;) { + s.preInit.pop()() + } +} +var kb = l; +s.noInitialRun && (kb = p); +lb(); +var scrypt = (function () { + var exports = {}; + + //--------------------------------------------------------------------------- + // Horrifying UTF-8 and hex codecs + + function encode_utf8(s) { + return encode_latin1(unescape(encodeURIComponent(s))); + } + + function encode_latin1(s) { + var result = new Uint8Array(s.length); + for (var i = 0; i < s.length; i++) { + var c = s.charCodeAt(i); + if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; + result[i] = (c & 0xff); + } + return result; + } + + function decode_utf8(bs) { + return decodeURIComponent(escape(decode_latin1(bs))); + } + + function decode_latin1(bs) { + var encoded = []; + for (var i = 0; i < bs.length; i++) { + encoded.push(String.fromCharCode(bs[i])); + } + return encoded.join(''); + } + + function to_hex(bs) { + var encoded = []; + for (var i = 0; i < bs.length; i++) { + encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); + encoded.push("0123456789abcdef"[bs[i] & 15]); + } + return encoded.join(''); + } + + //--------------------------------------------------------------------------- + + function injectBytes(bs, leftPadding) { + var p = leftPadding || 0; + var address = scrypt_raw._malloc(bs.length + p); + scrypt_raw.HEAPU8.set(bs, address + p); + for (var i = address; i < address + p; i++) { + scrypt_raw.HEAPU8[i] = 0; + } + return address; + } + + function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { + check_length(function_name, what, thing, expected_length); + return injectBytes(thing, leftPadding); + } + + function extractBytes(address, length) { + var result = new Uint8Array(length); + result.set(scrypt_raw.HEAPU8.subarray(address, address + length)); + return result; + } + + //--------------------------------------------------------------------------- + + function check(function_name, result) { + if (result !== 0) { + throw {message: "scrypt_raw." + function_name + " signalled an error"}; + } + } + + function check_length(function_name, what, thing, expected_length) { + if (thing.length !== expected_length) { + throw {message: "scrypt." + function_name + " expected " + + expected_length + "-byte " + what + " but got length " + thing.length}; + } + } + + function Target(length) { + this.length = length; + this.address = scrypt_raw._malloc(length); + } + + Target.prototype.extractBytes = function (offset) { + var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); + scrypt_raw._free(this.address); + this.address = null; + return result; + }; + + function free_all(addresses) { + for (var i = 0; i < addresses.length; i++) { + scrypt_raw._free(addresses[i]); + } + } + + //--------------------------------------------------------------------------- + + function random_bytes(count) { + var bs = new Uint8Array(count); + if(typeof(window.crypto) !== "undefined") { + if(typeof(window.crypto.getRandomValues) !== "undefined") { + window.crypto.getRandomValues(bs); + return bs; + } + } + if(typeof(window.msCrypto) !== "undefined") { + if(typeof(window.msCrypto.getRandomValues) !== "undefined") { + window.msCrypto.getRandomValues(bs); + return bs; + } + } + throw { message: "No suitable random number generator found!"}; + } + + function crypto_scrypt(passwd, salt, n, r, p, buflen) { + var buf = new Target(buflen); + var pa = injectBytes(passwd); + var sa = injectBytes(salt); + check("_crypto_scrypt", + scrypt_raw._crypto_scrypt(pa, passwd.length, + sa, salt.length, + n, 0, // 64 bits; zero upper half + r, + p, + buf.address, buf.length)); + free_all([pa, sa]); + return buf.extractBytes(); + } + + //--------------------------------------------------------------------------- + + exports.encode_utf8 = encode_utf8; + exports.encode_latin1 = encode_latin1; + exports.decode_utf8 = decode_utf8; + exports.decode_latin1 = decode_latin1; + exports.to_hex = to_hex; + + exports.random_bytes = random_bytes; + exports.crypto_scrypt = crypto_scrypt; + + return exports; +})(); + return scrypt; +}); + diff --git a/www/templates/account/view_transfer.html b/www/templates/account/view_transfer.html new file mode 100644 index 000000000..1d77a5707 --- /dev/null +++ b/www/templates/account/view_transfer.html @@ -0,0 +1,52 @@ +<ion-view view-title="Transfer" left-buttons="leftButtons"> + <ion-nav-buttons side="secondary"> + <button class="button button-positive" ng-click="doTransfer()"> + <i class="icon ion-android-send"></i> + </button> + </ion-nav-buttons> + + <ion-content> + <div class="scroll"> + <div class="list"> + <span class="item item-icon-left"> + <i class="icon ion-key"></i> + From + <span class="badge badge-calm">{{walletData.pubkey.substr(0,8)}}</span> + </span> + + <span class="item item-icon-left item-button-right" ng-click="openSearch()"> + <i class="icon ion-person"></i> + To + <span class="badge badge-royal">{{dest}}</span> + <i class="button button-clear ion-chevron-right"></i> + </span> + + <div class="item item-input item-floating-label" ng-if="!walletData.useRelative"> + <span class="input-label">Amount ({{unit | abbreviate}}<sub>{{udUnit | abbreviate}}</sub>)</span> + <input type="number" placeholder="Amount ({{unit | abbreviate}}{{udUnit | abbreviate}})" ng-model="formData.amount" > + </div> + + <div class="item item-input item-floating-label" ng-if="walletData.useRelative"> + <span class="input-label">Amount ({{unit | abbreviate}}<sub>{{udUnit | abbreviate}}</sub>)</span> + <input type="text" placeholder="Amount ({{unit | abbreviate}}{{udUnit | abbreviate}})" ng-model="formData.amount" > + </div> + + <div class="item item-toggle dark"> + Use Relative Unit (UD) + <label class="toggle toggle-royal"> + <input type="checkbox" ng-model="walletData.useRelative"> + <div class="track"> + <div class="handle"></div> + </div> + </label> + </div> + + <label class="item item-input"> + <textarea placeholder="Comments" ng-model="formData.comments"></textarea> + </label> + </div> + + <div class="scroll-bar scroll-bar-v"></div> + </div> + </ion-content> +</ion-view> \ No newline at end of file diff --git a/www/templates/account/view_wallet.html b/www/templates/account/view_wallet.html new file mode 100644 index 000000000..5b91218a8 --- /dev/null +++ b/www/templates/account/view_wallet.html @@ -0,0 +1,58 @@ +<ion-view view-title="My Account" left-buttons="leftButtons"> + <ion-content> + <div class="scroll"> + <div class="list"> + <span class="item item-icon-left"> + <i class="icon ion-key"></i> + Pubkey + <span class="badge">{{walletData.pubkey | formatPubkey}}</span> + </span> + + <span class="item item-icon-left"> + <i class="icon ion-card"></i> + Balance + <span class="badge badge-balanced" ng-if="!walletData.useRelative">{{convertedBalance | formatInteger}} {{unit | abbreviate}}</span> + <span class="badge badge-balanced" ng-if="walletData.useRelative">{{convertedBalance | formatDecimal}} {{unit | abbreviate}}<sub>{{udUnit | abbreviate}}</sub></span> + </span> + + + <div class="item item-toggle dark"> + Use Relative Unit (UD) + <label class="toggle toggle-royal"> + <input type="checkbox" ng-model="walletData.useRelative"> + <div class="track"> + <div class="handle"></div> + </div> + </label> + </div> + + <div class="item"> + + </div> + + <div class="item item-button-right positive" ng-if="hasCredit" ng-click="transfer()"> + Send money + <a class="button button-clear button-positive" > + <i class="icon-right ion-chevron-right"></i> + </a> + </div> + + <div class="item"> + + </div> + + <div class="item item-divider"> + Last transactions + </div> + + <a href="#" class="item" ng-repeat="tx in walletData.history" ng-if="walletData.history"> + <h3>{{tx.time | formatDate}}</h3> + <p ng-if="tx.issuer">pubkey: {{tx.issuer | formatPubkey}}</p> + <span class="badge item-note" ng-if="!walletData.useRelative">{{tx.amount | formatInteger}}</span> + <span class="badge item-note" ng-if="walletData.useRelative">{{tx.amount/walletData.currentUD | formatDecimal}}</span> + </a> + </div> + <div class="scroll-bar scroll-bar-v"></div> + </div> + </ion-content> +</ion-view> \ No newline at end of file diff --git a/www/templates/home.html b/www/templates/home.html index 47feeeba0..ad1ab233b 100644 --- a/www/templates/home.html +++ b/www/templates/home.html @@ -1,17 +1,22 @@ <ion-view view-title="Home"> - <ion-content class="padding" id="home"> - <!--<div class="card" ng-show="accounts.length == 0">--> + <ion-content class="has-header padding" id="home"> + <!-- <div class="card" ng-show="!isLogged()"> - <!--<div href="#" class="item item-text-wrap item-icon-left">--> - <!--<i class="icon ion-alert"></i>--> - <!--No account registered yet!--> - <!--Please tap « Add an account » to register one.--> - <!--</div>--> + <div href="#" class="item item-text-wrap item-icon-left"> + <i class="icon ion-alert"></i> + No account registered yet! + Please tap « Add an account » to register one. + </div> + + </div> --> - <!--</div>--> <h1>Welcome.</h1> <h2><b>Cesium</b> is still in development phase. There is not much to see right now. :-)</h2> + <a ui-sref="app.explore_currency" class="button button-block button-stable icon icon-left ion-search">Explore a currency</a> - <!--<button ng-click="addAccount()" class="button button-block button-positive icon icon-left ion-ios-color-wand">Add an account</button>--> + + <button ng-click="login()" ng-show="!isLogged()" class="button button-block button-positive icon icon-left ion-log-in">Login</button> + <!-- <button ng-click="addAccount()" ng-show="!isLogged()" class="button button-block button-assertive icon icon-left ion-ios-color-wand">Add an account</button> --> + </ion-content> </ion-view> diff --git a/www/templates/login.html b/www/templates/login.html index 793bd7f6e..95910a238 100644 --- a/www/templates/login.html +++ b/www/templates/login.html @@ -1,24 +1,41 @@ <ion-modal-view> - <ion-header-bar> + <ion-header-bar class="bar-positive"> + <button class="button button-positive" ng-click="closeLogin()">Cancel + </button> <h1 class="title">Login</h1> - <div class="buttons"> - <button class="button button-clear" ng-click="closeLogin()">Close</button> - </div> + <button class="button button-positive" ng-click="doLogin()">OK + </button> </ion-header-bar> - <ion-content> + + <ion-content scroll="false"> <form ng-submit="doLogin()"> <div class="list"> - <label class="item item-input"> + <label class="item item-input item-floating-label"> <span class="input-label">Username</span> - <input type="text" ng-model="loginData.username"> + <input type="text" placeholder="Username" ng-model="loginData.username" ng-change="loginDataChanged()"> </label> - <label class="item item-input"> + <label class="item item-input item-floating-label"> <span class="input-label">Password</span> - <input type="password" ng-model="loginData.password"> - </label> - <label class="item"> - <button class="button button-block button-positive" type="submit">Log in</button> + <input type="password" placeholder="Password" ng-model="loginData.password" ng-change="loginDataChanged()"> </label> + <div class="item item-icon-left item-button-right"> + <i class="icon ion-key"/> + Public key + <a class="button button-light button-small" ng-click="showLoginPubkey()" ng-if="!(loginData.pubkey || loginData.computing || !loginData.username || !loginData.password)" + class="animate-if"> + Show + </a> + </label> + + <span class="badge badge-energized" ng-if="loginData.pubkey"> + {{loginData.pubkey | formatPubkey}} + </span> + </div> + </div> + <div class="padding"> + <button class="button button-block button-positive" type="submit"> + OK + </button> </div> </form> </ion-content> diff --git a/www/templates/menu.html b/www/templates/menu.html index 89f0e7353..5e165b92c 100644 --- a/www/templates/menu.html +++ b/www/templates/menu.html @@ -2,23 +2,32 @@ <!-- MENU --> <ion-side-menu side="left"> - <ion-header-bar class="bar-assertive"> - <h1 class="title">Menu</h1> + <ion-header-bar class="bar-royal"> + <h1 class="title"> + Cesium + </h1> + <button class="button button-assertive" ng-click="logout()" ng-if="isLogged()"> + <i class="icon ion-log-out"></i> + Logout + </button> </ion-header-bar> - <ion-content> - <ion-list> - <!--<ion-item menu-close ng-click="login()">--> - <!--Login--> - <!--</ion-item>--> + <ion-content scroll="false"> <ion-item menu-close href="#/app/home"> Home </ion-item> <ion-item menu-close href="#/app/home/explore"> Explore </ion-item> - <!--<ion-item menu-close ng-click="addAccount()">--> - <!--Add account--> - <!--</ion-item>--> + + <ion-item menu-close ng-click="login()" ng-if="!isLogged()"> + My account + </ion-item> + <ion-item menu-close href="#" ui-sref="app.view_wallet" ng-if="isLogged()"> + My account + </ion-item> + <!-- <ion-item menu-close ng-click="addAccount()"> + Add account + </ion-item> --> </ion-list> </ion-content> </ion-side-menu> diff --git a/www/templates/wot/lookup.html b/www/templates/wot/lookup.html index a7babb2f6..d3f0df7ef 100644 --- a/www/templates/wot/lookup.html +++ b/www/templates/wot/lookup.html @@ -9,10 +9,10 @@ <ion-spinner icon="android"></ion-spinner> </label> - <a class="item item-icon-left" ng-repeat="found in search.results"> + <a class="item item-icon-left" ng-repeat="found in search.results" ng-click="doSelectIdentity('{{found.pub}}', '{{found.uid}}')"> <i class="icon ion-person"></i> <h2>{{found.uid}}</h2> - <p>pubkey: {{found.pub.substr(0,24)}}</p> + <p>pubkey: {{found.pub | formatPubkey}}</p> <span class="badge item-note">{{found.sigDate | formatDate}}</span> </a> </div> diff --git a/www/templates/wot/modal_lookup.html b/www/templates/wot/modal_lookup.html new file mode 100644 index 000000000..9c5c2d912 --- /dev/null +++ b/www/templates/wot/modal_lookup.html @@ -0,0 +1,26 @@ +<ion-modal-view> + <ion-header-bar class="bar-positive"> + <h1 class="title">Search</h1> + <button class="button button-positive" ng-click="closeLookup()">Cancel</button> + </ion-header-bar> + + <ion-content class="lookupForm"> + <div class="list"> + <label class="item item-input"> + <i class="icon ion-search placeholder-icon"></i> + <input type="text" placeholder="Search" ng-model="search.text" ng-change="searchChanged()"> + </label> + + <label class="item center" ng-if="search.looking"> + <ion-spinner icon="android"></ion-spinner> + </label> + + <a class="item item-icon-left" ng-repeat="found in search.results" ng-click="doSelectIdentity('{{found.pub}}', '{{found.uid}}')"> + <i class="icon ion-person"></i> + <h2>{{found.uid}}</h2> + <p>pubkey: {{found.pub.substr(0,24)}}</p> + <span class="badge item-note">{{found.sigDate | formatDate}}</span> + </a> + </div> +</ion-content> +</ion-modal-view> \ No newline at end of file diff --git a/www/templates/wot/view_identity.html b/www/templates/wot/view_identity.html new file mode 100644 index 000000000..a018e468b --- /dev/null +++ b/www/templates/wot/view_identity.html @@ -0,0 +1,48 @@ +<ion-view view-title="Identity {{identity.uid}}" left-buttons="leftButtons"> +<ion-content> + <div class="scroll"> + <div class="list"> + <span class="item item-icon-left"> + <i class="icon ion-person"></i> + Uid + <span class="badge badge-royal">{{identity.uid}}</span> + </span> + + <span class="item item-icon-left"> + <i class="icon ion-key"></i> + Public key + <span class="badge">{{identity.pub | formatPubkey}}</span> + </span> + + <span class="item item-icon-left"> + <i class="icon ion-calendar"></i> + Registration date + <span class="badge badge-calm">{{identity.sigDate | formatDate}}</span> + </span> + + <div class="item "> + + </div> + + <div class="item item-button-right positive" ng-click="transfer()"> + Send money + <a class="button button-clear button-positive" > + <i class="icon-right ion-chevron-right"></i> + </a> + </div> + <div class="item item-button-right positive" ng-click="signIdentity()"> + Certify + <a class="button button-clear button-positive" > + <i class="icon-right ion-chevron-right"></i> + </a> + </div> + + <div class="item item-divider" ng-if="isLogged()"> + Last transactions + </div> + + </div> + <div class="scroll-bar scroll-bar-v"></div> + </div> +</ion-content> +</ion-view> -- GitLab