From 1105781154fc4cdc28e225e5758b26ed8a9979b7 Mon Sep 17 00:00:00 2001 From: EtherCore Contributor Date: Fri, 14 Feb 2020 21:47:00 +0000 Subject: [PATCH] Initial commit --- .babelrc | 3 + .codeclimate.yml | 23 + .editorconfig | 9 + .eslintignore | 2 + .eslintrc.yml | 47 + .github/ISSUE_TEMPLATE.md | 37 + .github/PULL_REQUEST_TEMPLATE.md | 9 + .github/config.yml | 2 + .github/move.yml | 16 + .github/triage.yml | 2 + .gitignore | 14 + .gitmodules | 3 + .nvmrc | 1 + .prettierignore | 2 + .prettierrc | 1 + .travis.yml | 84 + AUTHORS | 5 + CODE_OF_CONDUCT.md | 80 + CONTRIBUTING.md | 41 + LICENSE | 619 ++ MISTAPI.md | 224 + README.md | 5 + Wallet-README.txt | 60 + clientBinaries.json | 75 + customProtocols.js | 45 + errorPages/400.html | 19 + errorPages/404.html | 19 + errorPages/500.html | 19 + gulpTasks/building.js | 294 + gulpTasks/maintenance.js | 224 + gulpTasks/publishing.js | 146 + gulpTasks/testing.js | 14 + gulpfile.js | 86 + icons/mist/icon.icns | Bin 0 -> 1127234 bytes icons/mist/icon.ico | Bin 0 -> 370070 bytes icons/mist/icon.png | Bin 0 -> 25926 bytes icons/mist/icon2x.png | Bin 0 -> 72354 bytes icons/wallet/icon.icns | Bin 0 -> 53093 bytes icons/wallet/icon.ico | Bin 0 -> 104786 bytes icons/wallet/icon.png | Bin 0 -> 4662 bytes icons/wallet/icon2x.fw.png | Bin 0 -> 10356 bytes icons/wallet/icon2x.png | Bin 0 -> 10356 bytes interface/.eslintrc.yml | 17 + interface/.meteor/.finished-upgraders | 15 + interface/.meteor/.gitignore | 1 + interface/.meteor/.id | 7 + interface/.meteor/packages | 46 + interface/.meteor/platforms | 2 + interface/.meteor/release | 1 + interface/.meteor/versions | 107 + interface/client/actions.js | 15 + interface/client/appStart.js | 96 + interface/client/collections.js | 39 + .../client/lib/ethereum/1_web3js_init.js | 10 + .../client/lib/helpers/helperFunctions.js | 438 + .../client/lib/helpers/templateHelpers.js | 167 + interface/client/lib/signatures.js | 6462 +++++++++++++++ interface/client/lib/thirdParty.js | 19 + interface/client/mistAPIBackend.js | 155 + .../client/styles/animations.import.less | 61 + .../client/styles/browserbar.import.less | 364 + interface/client/styles/constants.import.less | 25 + interface/client/styles/elements.import.less | 41 + .../client/styles/importAccount.import.less | 303 + interface/client/styles/layout.import.less | 197 + interface/client/styles/menu.import.less | 335 + interface/client/styles/mixins.import.less | 17 + .../styles/networkIndicator.import.less | 27 + .../client/styles/popupWindows.import.less | 622 ++ .../client/styles/splashScreen.import.less | 184 + interface/client/styles/styles.less | 14 + interface/client/templates/elements/img.html | 4 + interface/client/templates/elements/img.js | 33 + .../templates/elements/networkIndicator.html | 21 + .../templates/elements/networkIndicator.js | 78 + .../client/templates/elements/nodeInfo.html | 34 + .../client/templates/elements/nodeInfo.js | 155 + interface/client/templates/index.html | 19 + interface/client/templates/index.js | 61 + .../client/templates/layout/browserBar.html | 37 + .../client/templates/layout/browserBar.js | 173 + interface/client/templates/layout/main.html | 8 + .../client/templates/layout/sidebar.html | 71 + interface/client/templates/layout/sidebar.js | 235 + .../client/templates/layout/webviews.html | 9 + interface/client/templates/layout/webviews.js | 23 + .../client/templates/popupWindows/about.html | 16 + .../client/templates/popupWindows/about.js | 13 + .../popupWindows/clientUpdateAvailable.html | 36 + .../popupWindows/clientUpdateAvailable.js | 14 + .../popupWindows/connectAccount.html | 72 + .../templates/popupWindows/connectAccount.js | 182 + .../templates/popupWindows/generic.html | 4 + .../client/templates/popupWindows/generic.js | 13 + .../templates/popupWindows/importAccount.html | 31 + .../templates/popupWindows/importAccount.js | 163 + .../templates/popupWindows/loadingWindow.html | 5 + .../popupWindows/requestAccount.html | 25 + .../templates/popupWindows/requestAccount.js | 84 + .../sendTransactionConfirmation.html | 181 + .../sendTransactionConfirmation.js | 495 ++ .../templates/popupWindows/splashScreen.html | 35 + .../templates/popupWindows/splashScreen.js | 300 + .../popupWindows/unlockMasterPassword.html | 18 + .../popupWindows/unlockMasterPassword.js | 56 + .../popupWindows/updateAvailable.html | 49 + .../templates/popupWindows/updateAvailable.js | 49 + interface/client/templates/views/webview.html | 9 + interface/client/templates/views/webview.js | 191 + interface/client/templates/webviewEvents.js | 151 + interface/client/windowEvents.js | 55 + interface/i18n/app.ca.i18n.json | 36 + interface/i18n/app.de.i18n.json | 36 + interface/i18n/app.en.i18n.json | 36 + interface/i18n/app.es.i18n.json | 36 + interface/i18n/app.fa.i18n.json | 36 + interface/i18n/app.fr.i18n.json | 36 + interface/i18n/app.it.i18n.json | 36 + interface/i18n/app.ja.i18n.json | 36 + interface/i18n/app.ko.i18n.json | 36 + interface/i18n/app.nb.i18n.json | 36 + interface/i18n/app.nl.i18n.json | 36 + interface/i18n/app.pt.i18n.json | 36 + interface/i18n/app.ru.i18n.json | 36 + interface/i18n/app.sq.i18n.json | 36 + interface/i18n/app.zh-TW.i18n.json | 36 + interface/i18n/app.zh.i18n.json | 36 + interface/i18n/mist.ca.i18n.json | 309 + interface/i18n/mist.de.i18n.json | 281 + interface/i18n/mist.en.i18n.json | 313 + interface/i18n/mist.es.i18n.json | 283 + interface/i18n/mist.fa.i18n.json | 281 + interface/i18n/mist.fr.i18n.json | 282 + interface/i18n/mist.it.i18n.json | 272 + interface/i18n/mist.ja.i18n.json | 283 + interface/i18n/mist.ko.i18n.json | 253 + interface/i18n/mist.kr.i18n.json | 251 + interface/i18n/mist.nb.i18n.json | 282 + interface/i18n/mist.nl.i18n.json | 300 + interface/i18n/mist.pt.i18n.json | 283 + interface/i18n/mist.ru.i18n.json | 281 + interface/i18n/mist.sq.i18n.json | 290 + interface/i18n/mist.zh-TW.i18n.json | 282 + interface/i18n/mist.zh.i18n.json | 282 + interface/package.json | 27 + interface/project-tap.i18n | 7 + interface/public/icons/browse-icon.png | Bin 0 -> 4078 bytes interface/public/icons/browse-icon@2x.png | Bin 0 -> 11003 bytes interface/public/icons/expand-icon.png | Bin 0 -> 539 bytes interface/public/icons/mask-icon.png | Bin 0 -> 1836 bytes interface/public/icons/mask-icon.svg | 12 + interface/public/images/anonymous-icon.png | Bin 0 -> 3307 bytes interface/public/images/bg-homestead.jpg | Bin 0 -> 53901 bytes interface/public/images/bg-metropolis.jpg | Bin 0 -> 63219 bytes interface/public/images/dmg-background.jpg | Bin 0 -> 108784 bytes .../public/images/onboarding-logo-metal.png | Bin 0 -> 32551 bytes .../public/images/tutorial-crowdsale.png | Bin 0 -> 70384 bytes interface/public/images/tutorial-dao.png | Bin 0 -> 57308 bytes interface/public/images/tutorial-token.png | Bin 0 -> 65193 bytes interface/yarn.lock | 18 + main.js | 415 + modules/abi.js | 55 + modules/blurOverlay.js | 18 + modules/clientBinaryManager.js | 352 + modules/core/rootReducer.js | 8 + modules/core/settings/actions.js | 181 + modules/core/settings/reducer.js | 79 + modules/core/store.js | 17 + modules/core/ui/actions.js | 29 + modules/core/ui/reducer.js | 41 + modules/db.js | 69 + modules/dbSync.js | 194 + modules/ethereumNode.js | 594 ++ modules/i18n.js | 53 + modules/ipc/ipcProviderBackend.js | 485 ++ modules/ipc/ipcProviderWrapper.js | 121 + modules/ipc/methods/base.js | 103 + modules/ipc/methods/eth_accounts.js | 31 + modules/ipc/methods/eth_coinbase.js | 29 + modules/ipc/methods/eth_compileSolidity.js | 50 + .../ipc/methods/eth_getTransactionReceipt.js | 70 + modules/ipc/methods/eth_sendTransaction.js | 95 + modules/ipcCommunicator.js | 290 + modules/menuItems.js | 698 ++ modules/nodeSync.js | 200 + modules/preloader/.eslintrc.yml | 2 + modules/preloader/browser.js | 166 + modules/preloader/dapps.js | 4 + modules/preloader/include/common.js | 16 + .../preloader/include/consoleLogCapture.js | 60 + modules/preloader/include/getFavicon.js | 28 + modules/preloader/include/getMetaTags.js | 25 + .../include/legacyWeb3IpcProvider.js | 207 + modules/preloader/include/mistAPI.js | 243 + modules/preloader/include/openExternal.js | 32 + modules/preloader/include/setBasePath.js | 19 + .../preloader/include/suppressWindowPrompt.js | 5 + .../preloader/include/web3CurrentProvider.js | 21 + modules/preloader/injected/BigNumber.js | 1321 +++ .../preloader/injected/EthereumProvider.js | 191 + modules/preloader/injected/EventEmitter3.js | 340 + modules/preloader/injected/mistAPI.js | 279 + modules/preloader/mistUI.js | 195 + modules/preloader/popupWindows.js | 18 + modules/preloader/popupWindowsNoWeb3.js | 24 + modules/preloader/rendererStore.js | 20 + modules/preloader/splashScreen.js | 21 + modules/preloader/tests.js | 22 + modules/preloader/walletMain.js | 25 + modules/settings.js | 497 ++ modules/socketManager.js | 77 + modules/sockets/base.js | 213 + modules/sockets/web3Base.js | 150 + modules/sockets/web3Http.js | 128 + modules/sockets/web3Ipc.js | 68 + modules/swarmNode.js | 117 + modules/updateChecker.js | 110 + modules/utils/logger.js | 53 + modules/utils/underscore.js | 39 + modules/web3Admin.js | 227 + modules/windows.js | 676 ++ package.json | 85 + release.js | 12 + scripts/Locate.nsh | 51 + scripts/MoveFileFolder.nsh | 256 + scripts/SimpleFC.dll | Bin 0 -> 179712 bytes scripts/ZipDLL.dll | Bin 0 -> 167424 bytes scripts/locate.dll | Bin 0 -> 17920 bytes scripts/windows-installer.nsi | 269 + scripts/zipdll.nsh | 419 + sounds/bip.mp3 | Bin 0 -> 13837 bytes sounds/bloop.mp3 | Bin 0 -> 40290 bytes sounds/invite.mp3 | Bin 0 -> 76025 bytes tests/.eslintrc.yml | 9 + tests/.gitignore | 4 + tests/_base.js | 489 ++ tests/fixtures/fixture-popup.html | 10 + tests/fixtures/index.html | 11 + tests/fixtures/js-redirect.html | 17 + tests/fixtures/meta-redirect.html | 9 + tests/fixtures/page-01.html | 8 + tests/mist/basic.test.js | 331 + tests/mocha-in-browser/.eslintrc.yml | 14 + tests/mocha-in-browser/.gitignore | 1 + tests/mocha-in-browser/Makefile | 10 + tests/mocha-in-browser/README.md | 12 + .../lib/browser/jquery-1.10.1.min.js | 6 + tests/mocha-in-browser/lib/browser/mocha.css | 270 + tests/mocha-in-browser/lib/chai.js | 6142 ++++++++++++++ tests/mocha-in-browser/lib/mocha.js | 5692 +++++++++++++ tests/mocha-in-browser/package.json | 10 + tests/mocha-in-browser/runner.html | 31 + tests/mocha-in-browser/spec/general-spec.js | 146 + tests/mocha-in-browser/spec/ipc-spec.js | 128 + .../mocha-in-browser/spec/permissions-spec.js | 161 + tests/unit/core/settings/actions.test.js | 95 + tests/unit/core/settings/reducer.test.js | 65 + tests/unit/core/ui/actions.test.js | 23 + tests/unit/core/ui/reducer.test.js | 73 + tests/wallet/basic.test.js | 111 + yarn.lock | 7208 +++++++++++++++++ 261 files changed, 52767 insertions(+) create mode 100644 .babelrc create mode 100644 .codeclimate.yml create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.yml create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/config.yml create mode 100644 .github/move.yml create mode 100644 .github/triage.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .travis.yml create mode 100644 AUTHORS create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 MISTAPI.md create mode 100644 README.md create mode 100644 Wallet-README.txt create mode 100644 clientBinaries.json create mode 100644 customProtocols.js create mode 100644 errorPages/400.html create mode 100644 errorPages/404.html create mode 100644 errorPages/500.html create mode 100644 gulpTasks/building.js create mode 100644 gulpTasks/maintenance.js create mode 100644 gulpTasks/publishing.js create mode 100644 gulpTasks/testing.js create mode 100644 gulpfile.js create mode 100644 icons/mist/icon.icns create mode 100644 icons/mist/icon.ico create mode 100644 icons/mist/icon.png create mode 100644 icons/mist/icon2x.png create mode 100644 icons/wallet/icon.icns create mode 100644 icons/wallet/icon.ico create mode 100644 icons/wallet/icon.png create mode 100644 icons/wallet/icon2x.fw.png create mode 100644 icons/wallet/icon2x.png create mode 100644 interface/.eslintrc.yml create mode 100644 interface/.meteor/.finished-upgraders create mode 100644 interface/.meteor/.gitignore create mode 100644 interface/.meteor/.id create mode 100644 interface/.meteor/packages create mode 100644 interface/.meteor/platforms create mode 100644 interface/.meteor/release create mode 100644 interface/.meteor/versions create mode 100644 interface/client/actions.js create mode 100644 interface/client/appStart.js create mode 100644 interface/client/collections.js create mode 100644 interface/client/lib/ethereum/1_web3js_init.js create mode 100644 interface/client/lib/helpers/helperFunctions.js create mode 100644 interface/client/lib/helpers/templateHelpers.js create mode 100644 interface/client/lib/signatures.js create mode 100644 interface/client/lib/thirdParty.js create mode 100644 interface/client/mistAPIBackend.js create mode 100644 interface/client/styles/animations.import.less create mode 100644 interface/client/styles/browserbar.import.less create mode 100644 interface/client/styles/constants.import.less create mode 100644 interface/client/styles/elements.import.less create mode 100644 interface/client/styles/importAccount.import.less create mode 100644 interface/client/styles/layout.import.less create mode 100644 interface/client/styles/menu.import.less create mode 100644 interface/client/styles/mixins.import.less create mode 100644 interface/client/styles/networkIndicator.import.less create mode 100644 interface/client/styles/popupWindows.import.less create mode 100644 interface/client/styles/splashScreen.import.less create mode 100644 interface/client/styles/styles.less create mode 100644 interface/client/templates/elements/img.html create mode 100644 interface/client/templates/elements/img.js create mode 100644 interface/client/templates/elements/networkIndicator.html create mode 100644 interface/client/templates/elements/networkIndicator.js create mode 100644 interface/client/templates/elements/nodeInfo.html create mode 100644 interface/client/templates/elements/nodeInfo.js create mode 100644 interface/client/templates/index.html create mode 100644 interface/client/templates/index.js create mode 100644 interface/client/templates/layout/browserBar.html create mode 100644 interface/client/templates/layout/browserBar.js create mode 100644 interface/client/templates/layout/main.html create mode 100644 interface/client/templates/layout/sidebar.html create mode 100644 interface/client/templates/layout/sidebar.js create mode 100644 interface/client/templates/layout/webviews.html create mode 100644 interface/client/templates/layout/webviews.js create mode 100644 interface/client/templates/popupWindows/about.html create mode 100644 interface/client/templates/popupWindows/about.js create mode 100644 interface/client/templates/popupWindows/clientUpdateAvailable.html create mode 100644 interface/client/templates/popupWindows/clientUpdateAvailable.js create mode 100644 interface/client/templates/popupWindows/connectAccount.html create mode 100644 interface/client/templates/popupWindows/connectAccount.js create mode 100644 interface/client/templates/popupWindows/generic.html create mode 100644 interface/client/templates/popupWindows/generic.js create mode 100644 interface/client/templates/popupWindows/importAccount.html create mode 100644 interface/client/templates/popupWindows/importAccount.js create mode 100644 interface/client/templates/popupWindows/loadingWindow.html create mode 100644 interface/client/templates/popupWindows/requestAccount.html create mode 100644 interface/client/templates/popupWindows/requestAccount.js create mode 100644 interface/client/templates/popupWindows/sendTransactionConfirmation.html create mode 100644 interface/client/templates/popupWindows/sendTransactionConfirmation.js create mode 100644 interface/client/templates/popupWindows/splashScreen.html create mode 100644 interface/client/templates/popupWindows/splashScreen.js create mode 100644 interface/client/templates/popupWindows/unlockMasterPassword.html create mode 100644 interface/client/templates/popupWindows/unlockMasterPassword.js create mode 100644 interface/client/templates/popupWindows/updateAvailable.html create mode 100644 interface/client/templates/popupWindows/updateAvailable.js create mode 100644 interface/client/templates/views/webview.html create mode 100644 interface/client/templates/views/webview.js create mode 100644 interface/client/templates/webviewEvents.js create mode 100644 interface/client/windowEvents.js create mode 100644 interface/i18n/app.ca.i18n.json create mode 100644 interface/i18n/app.de.i18n.json create mode 100644 interface/i18n/app.en.i18n.json create mode 100644 interface/i18n/app.es.i18n.json create mode 100644 interface/i18n/app.fa.i18n.json create mode 100644 interface/i18n/app.fr.i18n.json create mode 100644 interface/i18n/app.it.i18n.json create mode 100644 interface/i18n/app.ja.i18n.json create mode 100644 interface/i18n/app.ko.i18n.json create mode 100644 interface/i18n/app.nb.i18n.json create mode 100644 interface/i18n/app.nl.i18n.json create mode 100644 interface/i18n/app.pt.i18n.json create mode 100644 interface/i18n/app.ru.i18n.json create mode 100644 interface/i18n/app.sq.i18n.json create mode 100644 interface/i18n/app.zh-TW.i18n.json create mode 100644 interface/i18n/app.zh.i18n.json create mode 100644 interface/i18n/mist.ca.i18n.json create mode 100644 interface/i18n/mist.de.i18n.json create mode 100644 interface/i18n/mist.en.i18n.json create mode 100644 interface/i18n/mist.es.i18n.json create mode 100644 interface/i18n/mist.fa.i18n.json create mode 100644 interface/i18n/mist.fr.i18n.json create mode 100644 interface/i18n/mist.it.i18n.json create mode 100644 interface/i18n/mist.ja.i18n.json create mode 100644 interface/i18n/mist.ko.i18n.json create mode 100644 interface/i18n/mist.kr.i18n.json create mode 100644 interface/i18n/mist.nb.i18n.json create mode 100644 interface/i18n/mist.nl.i18n.json create mode 100644 interface/i18n/mist.pt.i18n.json create mode 100644 interface/i18n/mist.ru.i18n.json create mode 100644 interface/i18n/mist.sq.i18n.json create mode 100644 interface/i18n/mist.zh-TW.i18n.json create mode 100644 interface/i18n/mist.zh.i18n.json create mode 100644 interface/package.json create mode 100644 interface/project-tap.i18n create mode 100644 interface/public/icons/browse-icon.png create mode 100644 interface/public/icons/browse-icon@2x.png create mode 100644 interface/public/icons/expand-icon.png create mode 100644 interface/public/icons/mask-icon.png create mode 100644 interface/public/icons/mask-icon.svg create mode 100644 interface/public/images/anonymous-icon.png create mode 100644 interface/public/images/bg-homestead.jpg create mode 100644 interface/public/images/bg-metropolis.jpg create mode 100644 interface/public/images/dmg-background.jpg create mode 100644 interface/public/images/onboarding-logo-metal.png create mode 100644 interface/public/images/tutorial-crowdsale.png create mode 100644 interface/public/images/tutorial-dao.png create mode 100644 interface/public/images/tutorial-token.png create mode 100644 interface/yarn.lock create mode 100644 main.js create mode 100644 modules/abi.js create mode 100644 modules/blurOverlay.js create mode 100644 modules/clientBinaryManager.js create mode 100644 modules/core/rootReducer.js create mode 100644 modules/core/settings/actions.js create mode 100644 modules/core/settings/reducer.js create mode 100644 modules/core/store.js create mode 100644 modules/core/ui/actions.js create mode 100644 modules/core/ui/reducer.js create mode 100644 modules/db.js create mode 100644 modules/dbSync.js create mode 100644 modules/ethereumNode.js create mode 100644 modules/i18n.js create mode 100644 modules/ipc/ipcProviderBackend.js create mode 100644 modules/ipc/ipcProviderWrapper.js create mode 100644 modules/ipc/methods/base.js create mode 100644 modules/ipc/methods/eth_accounts.js create mode 100644 modules/ipc/methods/eth_coinbase.js create mode 100644 modules/ipc/methods/eth_compileSolidity.js create mode 100644 modules/ipc/methods/eth_getTransactionReceipt.js create mode 100644 modules/ipc/methods/eth_sendTransaction.js create mode 100644 modules/ipcCommunicator.js create mode 100644 modules/menuItems.js create mode 100644 modules/nodeSync.js create mode 100644 modules/preloader/.eslintrc.yml create mode 100644 modules/preloader/browser.js create mode 100644 modules/preloader/dapps.js create mode 100644 modules/preloader/include/common.js create mode 100644 modules/preloader/include/consoleLogCapture.js create mode 100644 modules/preloader/include/getFavicon.js create mode 100644 modules/preloader/include/getMetaTags.js create mode 100644 modules/preloader/include/legacyWeb3IpcProvider.js create mode 100644 modules/preloader/include/mistAPI.js create mode 100644 modules/preloader/include/openExternal.js create mode 100644 modules/preloader/include/setBasePath.js create mode 100644 modules/preloader/include/suppressWindowPrompt.js create mode 100644 modules/preloader/include/web3CurrentProvider.js create mode 100644 modules/preloader/injected/BigNumber.js create mode 100644 modules/preloader/injected/EthereumProvider.js create mode 100644 modules/preloader/injected/EventEmitter3.js create mode 100644 modules/preloader/injected/mistAPI.js create mode 100644 modules/preloader/mistUI.js create mode 100644 modules/preloader/popupWindows.js create mode 100644 modules/preloader/popupWindowsNoWeb3.js create mode 100644 modules/preloader/rendererStore.js create mode 100644 modules/preloader/splashScreen.js create mode 100644 modules/preloader/tests.js create mode 100644 modules/preloader/walletMain.js create mode 100644 modules/settings.js create mode 100644 modules/socketManager.js create mode 100644 modules/sockets/base.js create mode 100644 modules/sockets/web3Base.js create mode 100644 modules/sockets/web3Http.js create mode 100644 modules/sockets/web3Ipc.js create mode 100644 modules/swarmNode.js create mode 100644 modules/updateChecker.js create mode 100644 modules/utils/logger.js create mode 100644 modules/utils/underscore.js create mode 100644 modules/web3Admin.js create mode 100644 modules/windows.js create mode 100644 package.json create mode 100644 release.js create mode 100755 scripts/Locate.nsh create mode 100644 scripts/MoveFileFolder.nsh create mode 100755 scripts/SimpleFC.dll create mode 100755 scripts/ZipDLL.dll create mode 100755 scripts/locate.dll create mode 100644 scripts/windows-installer.nsi create mode 100755 scripts/zipdll.nsh create mode 100644 sounds/bip.mp3 create mode 100644 sounds/bloop.mp3 create mode 100644 sounds/invite.mp3 create mode 100644 tests/.eslintrc.yml create mode 100644 tests/.gitignore create mode 100644 tests/_base.js create mode 100644 tests/fixtures/fixture-popup.html create mode 100644 tests/fixtures/index.html create mode 100644 tests/fixtures/js-redirect.html create mode 100644 tests/fixtures/meta-redirect.html create mode 100644 tests/fixtures/page-01.html create mode 100644 tests/mist/basic.test.js create mode 100644 tests/mocha-in-browser/.eslintrc.yml create mode 100644 tests/mocha-in-browser/.gitignore create mode 100644 tests/mocha-in-browser/Makefile create mode 100644 tests/mocha-in-browser/README.md create mode 100644 tests/mocha-in-browser/lib/browser/jquery-1.10.1.min.js create mode 100644 tests/mocha-in-browser/lib/browser/mocha.css create mode 100644 tests/mocha-in-browser/lib/chai.js create mode 100755 tests/mocha-in-browser/lib/mocha.js create mode 100644 tests/mocha-in-browser/package.json create mode 100755 tests/mocha-in-browser/runner.html create mode 100644 tests/mocha-in-browser/spec/general-spec.js create mode 100644 tests/mocha-in-browser/spec/ipc-spec.js create mode 100644 tests/mocha-in-browser/spec/permissions-spec.js create mode 100644 tests/unit/core/settings/actions.test.js create mode 100644 tests/unit/core/settings/reducer.test.js create mode 100644 tests/unit/core/ui/actions.test.js create mode 100644 tests/unit/core/ui/reducer.test.js create mode 100644 tests/wallet/basic.test.js create mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..9896c6f --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2016-node5"] +} diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000..804d002 --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,23 @@ +engines: + duplication: + enabled: true + config: + languages: + javascript: + mass_threshold: 40 ## default threshold + eslint: + enabled: true + channel: "eslint-3" ## required for airbnb-base config + checks: + complexity: + enabled: true + csslint: + enabled: true + +ratings: ## enables GPA rating + paths: + - "**.css" + - "**.js" + +exclude_paths: +- "tests/" diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c6c8b36 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..9650bc3 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +node_modules +interface/client/lib/signatures.js diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..cf3b408 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,47 @@ +extends: airbnb-base + +plugins: + - import + +settings: + import/core-modules: ## don't lint for these missing packages in package.json + - electron ## 'electron' is only needed as devDependency / global installation + +rules: + # "off" or 0 - turn the rule off + # "warn" or 1 - turn the rule on as a warning (doesn’t affect exit code) + # "error" or 2 - turn the rule on as an error (exit code is 1 when triggered) + indent: + - error + - 4 ## number of spaces + no-console: off ## allowed for chrome dev-console + padded-blocks: off + arrow-body-style: off + prefer-arrow-callback: off + no-underscore-dangle: off + object-curly-spacing: off + func-names: off + global-require: off + class-methods-use-this: off + comma-dangle: + - error + - only-multiline ## no comma after last item if one line, though allow comma if multiline + import/no-extraneous-dependencies: ## checks if required modules are missing in packages.json + - error + - devDependencies: ## declares files, whose imports belong to devDependencies + - "**/tests/_base.js" + - "**/*.test.js" + - "**/gulpTasks/*.js" + +globals: # don't warn about missing declarations + i18n: true + mist: true + beforeEach: true + LocalStore: true + web3: true + Tabs: true + Tracker: true + _: true + window: true + location: true + document: true diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..1d046a3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,37 @@ +* [ ] I've asked for help in the [Mist Gitter](http://gitter.im/ethereum/mist) before filing this issue. + + + +``` +Version: `0.0.0` +OS & Version: windows/linux/osx +Node version: `geth 0.0.0` +Number of blocks synchronized: 0 +``` + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..41af470 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +#### What does it do? + +#### Any helpful background information? + +#### Which code should the reviewer start with? + +#### New dependencies? What are they used for? + +#### Relevant screenshots? diff --git a/.github/config.yml b/.github/config.yml new file mode 100644 index 0000000..1a85a87 --- /dev/null +++ b/.github/config.yml @@ -0,0 +1,2 @@ +maintainers: + - ethcoreorg diff --git a/.github/move.yml b/.github/move.yml new file mode 100644 index 0000000..5e532e3 --- /dev/null +++ b/.github/move.yml @@ -0,0 +1,16 @@ +# Configuration for move-issues - https://github.com/dessant/move-issues + +# Delete the command comment. Ignored when the comment also contains other content +deleteCommand: true + +# Close the source issue after moving +closeSourceIssue: true + +# Lock the source issue after moving +lockSourceIssue: false + +# Set custom aliases for targets +aliases: + wallet: ethercore/meteor-dapp-wallet + geth: ethercore/go-ethercore + parity: paritytech/parity-ethereum diff --git a/.github/triage.yml b/.github/triage.yml new file mode 100644 index 0000000..1012c93 --- /dev/null +++ b/.github/triage.yml @@ -0,0 +1,2 @@ +initLabels: + - "Status: Triage" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ec8e116 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +.DS_Store +node_modules/ +packages/ +interface_build/ +interface/public/i18n/ +interface/.meteor/dev_bundle +interface/.meteor/public/ +dist_wallet/ +dist_mist/ +nodes/geth/ +config.json +mist.log +npm-debug.log +/yarn.lock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..eaad99e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "dapp-styles"] + path = interface/public/dapp-styles + url = git://github.com/ethereum/dapp-styles.git diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..37722eb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +7.4 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d8d9455 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +interface/.meteor +tests/mocha-in-browser/lib diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..337354d --- /dev/null +++ b/.prettierrc @@ -0,0 +1 @@ +singleQuote: true \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..961cc97 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,84 @@ +language: node_js +node_js: '8' +cache: + yarn: true + directories: + - node_modules + - 'interface/.meteor' + +sudo: required + +branches: + only: + - develop + - master + +matrix: + include: + # WINDOWS cross-built from linux + - os: linux + dist: trusty + env: + - GULP_PLATFORM=win + addons: + apt: + packages: + - icnsutils + - graphicsmagick + - xz-utils + - nsis + - g++-multilib + sources: + - mono + before_install: + - sudo dpkg --add-architecture i386 && sudo add-apt-repository ppa:ubuntu-wine/ppa -y + - sudo apt-get update -q + - sudo apt-get install --no-install-recommends -y mono-devel ca-certificates-mono wine1.8 + + # LINUX + - os: linux + dist: trusty + env: + - GULP_PLATFORM=linux + addons: + apt: + packages: + - icnsutils + - graphicsmagick + - xz-utils + - gcc-multilib + - g++-multilib + + # MAC + - os: osx + osx_image: xcode8.3 # currently xcode8.1+ doesn't support electron-builder macOS code-signing (https://github.com/electron-userland/electron-builder/issues/820#issuecomment-267777060) + env: + - GULP_PLATFORM=mac + before_install: + - npm install -g yarn # macOS xcode8 image doesn't natively support yarn yet + + allow_failures: + - os: osx + + fast_finish: true + + +install: + - echo $PATH + - PATH=$PATH:$HOME/.meteor && curl -L https://raw.githubusercontent.com/arunoda/travis-ci-meteor-packages/1390e0f96162d0d70fc1e60a6b0f4f891a0e8f42/configure.sh | /bin/sh + - export PATH=$PATH:`yarn global bin` + - yarn global add gulp-cli meteor-build-client electron@1.8.4 + - yarn + +script: + # disable macOS code-signing (production certificate) + - if [[ $GULP_PLATFORM != "mac" ]]; then unset CSC_LINK CSC_KEY_PASSWORD; fi + + # build wallet + - travis_wait 60 gulp --wallet --$GULP_PLATFORM + + # debug purposes - see what builds were successfully created + - ls -la ~/build/ethercore/desktop-wallet/dist_wallet/release + +after_success: + - gulp upload-queue --wallet --$GULP_PLATFORM diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..f5c89fc --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +The Mist Authors + +Alexander Van de Sande +Bas van Kervel +Fabian Vogelsteller \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..e37b2a9 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,80 @@ +# Code of Conduct + +## 1. Purpose + +A primary goal of Mist project is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in Mist project to help us create safe and positive experiences for everyone. + +## 2. Open Source Citizenship + +A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. + +## 3. Expected Behavior + +The following behaviors are expected and requested of all community members: + +* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. +* Exercise consideration and respect in your speech and actions. +* Attempt collaboration before conflict. +* Refrain from demeaning, discriminatory, or harassing behavior and speech. +* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. +* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + +## 4. Unacceptable Behavior + +The following behaviors are considered harassment and are unacceptable within our community: + +* Violence, threats of violence or violent language directed against another person. +* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. +* Posting or displaying sexually explicit or violent material. +* Posting or threatening to post other people’s personally identifying information ("doxing"). +* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +* Inappropriate photography or recording. +* Inappropriate physical contact. You should have someone’s consent before touching them. +* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. +* Deliberate intimidation, stalking or following (online or in person). +* Advocating for, or encouraging, any of the above behavior. +* Sustained disruption of community events, including talks and presentations. + +## 5. Consequences of Unacceptable Behavior + +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. + +If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). + +## 6. Reporting Guidelines + +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. info@ethercore.org. + +Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. + +## 7. Addressing Grievances + +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify the Mist team with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. + +## 8. Scope + +We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +## 9. Contact info + +info@ethercore.org + +## 10. License and attribution + +This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). + +Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). + +Retrieved on November 22, 2016 from [http://citizencodeofconduct.org/](http://citizencodeofconduct.org/) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2ba3329 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# How to Contribute + +## Issues / Bug reports + +**Prior to submitting, please search -and read- _both_ open and closed issues -as _it_ may already exist.** + +To help improve Mist (_Ethereum Wallet_), please include the following: + +* What do you run? (_Binary version from [releases](https://github.com/ethereum/mist/releases) or a development version from the [commandline](https://github.com/ethereum/mist#run-mist)_) +* Which version do you use? (_Check the `VERSION` file in the Mist folder_) +* What OS you're on? + +If applicable: + +* Log file (Linux: `~/.config/Mist/logs/all.log`, Windows: `%APPDATA%/Roaming/Mist/logs/all.log`, MacOSX: `~/Library/Application Support/Mist/logs/all.log`) +* Screenshot (for GUI related issues) + +## Pull Requests + +If you want to make a PR please make sure you add a understandable description of what it is you're adding/changing/fixing. + +For formatting we use 2 _spaces_ as indentation. + +If you add any modules or files, please give them a module description and or a class description: + +``` +/** +The IPC provider backend filter and tunnel all incoming request to the IPC geth bridge. + +@module ipcProviderBackend +*/ + +/** +Mist API + +Provides an API for all dapps, which specifically targets features from the Mist browser + +@class mist +@constructor +*/ +``` diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bc08fe2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,619 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. diff --git a/MISTAPI.md b/MISTAPI.md new file mode 100644 index 0000000..695417c --- /dev/null +++ b/MISTAPI.md @@ -0,0 +1,224 @@ +# Mist API + +Mist provides an API for dapp developers to use special features only available in Mist. + +## Note for dapp developers + +To make your dapp compatible with other browsers, it is recommended that you check the `mist` object before you use it: + +```js +if(typeof mist !== 'undefined') { + ... +} +``` + +You have three different possibilities to use `web3`: + +```js +// 1. simply use it: web3 comes already defined +web3; + +// 2. optionally use web3 from Mist or load if outside of Mist +if (typeof web3 === 'undefined') + web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545')); + +// 3. always use web3 provided by the dapp ("Web3" won't be supplied by Mist), but the provider from Mist +if (typeof web3 !== 'undefined') web3 = new Web3(web3.currentProvider); +else web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545')); +``` + +## API + +* [mist.platform](#mistplatform) +* [mist.requestAccount](#mistrequestaccountcallback)(callback) +* [mist.menu](#mistmenu) +* [mist.menu.add](#mistmenuaddid-options-callback)([id,] options, callback) +* [mist.menu.clear](#mistmenuclear)() +* [mist.menu.remove](#mistmenuremoveid)(id) +* [mist.menu.select](#mistmenuselectid)(text) +* [mist.menu.setBadge](#mistmenusetbadgetext)(text) +* [mist.menu.update](#mistmenuupdateid--options--callback)(id [, options][, callback]) +* [mist.sounds](#mistsounds) +* [mist.sounds.bip](#mistsoundsbip)() +* [mist.sounds.bloop](#mistsoundsbloop)() +* [mist.sounds.invite](#mistsoundsinvite)() + +### mist.platform + +Returns the current platform, mist is running on: + +* `darwin` (Mac OSX) +* `win32` (Windows) +* `linux` (Linux) + +--- + +### mist.requestAccount(callback) + +Asks the user to provide, or create a new account. + +#### Parameters + +1. `Function` The callback to be called with the new address as the second parameter. + +#### Example + +```js +mist.requestAccount(function(e, address) { + console.log('Added new account', address); +}); +``` + +--- + +### mist.menu + +Provides functionality to control the sub menu of your dapp, when its added to the sidebar. + +--- + +### mist.menu.add([id,] options, callback) + +Adds/Updates a sub menu entry, which is placed below you dapp button in the sidebar. + +#### Parameters + +1. `String` **optional** and id string to identify your sub menu entry when updating. +2. `Object` The menu options: + * `name` (`String`): The name of the sub menu button. + * `badge` (`String|null`) **optional**: The badge text for the sub menu button, e.g. `50`. + * `position` (`Number`) **optional**: The position of the submenu button, `1` is on the top. + * `selected` (`Boolean`) **optional**: Whether or not this sub menu entry is currently selected. +3. `Function` **optional**: The callback to be called when the sub menu entry is clicked. + +#### Minimal example + +```js +mist.menu.add({ name: 'My account' }); +``` + +#### Full example + +```js +mist.menu.add( + 'tkrzU', + { + name: 'My Meny Entry', + badge: 50, + position: 1, + selected: true + }, + function() { + // Redirect + window.location = 'http://domain.com/send'; + // Using history pushstate + history.pushState(null, null, '/my-entry'); + // In Meteor iron:router + Router.go('/send'); + } +); +``` + +--- + +### mist.menu.clear() + +Removes all sub menu entries. You can use this when you reload your app, +to clear up incorrect menu entries, which might have been lost since the last session. + +#### Parameters + +None + +--- + +### mist.menu.remove(id) + +Removes a sub menu entry. + +#### Parameters + +1. `String` and id string to identify your sub menu. + +--- + +### mist.menu.select(id) + +Selects the respective sub menu entry. + +#### Parameters + +1. `String` the sub menu entry identifier. + +--- + +### mist.menu.setBadge(text) + +Sets the main badge of your dapp, right below your dapps menu button. + +#### Parameters + +1. `String` the string used as the badge text. + +--- + +### mist.menu.update(id, [, options][, callback]) + +Works like `mist.menu.add()`, but only the `id` parameter is required. + +#### Parameters + +1. `String` and id string to identify your sub menu entry. +2. `Object` The menu options: + * `name` (`String`): (optional) The name of the sub menu button. + * `badge` (`String|null`): (optional) The badge text for the sub menu button, e.g. `50`. + * `position` (`Number`): (optional) The position of the submenu button, `1` is on the top. + * `selected` (`Boolean`): (optional) Whether or not this sub menu entry is currently selected. +3. `Function` (optional) The callback to be called when the sub menu entry is clicked. + +#### Example + +```js +mist.menu.update('tkrzU', { + badge: 50, + position: 2 +}); +``` + +--- + +### mist.sounds + +Provides a list of sounds. + +--- + +### mist.sounds.bip() + +Makes a bip sound. + +#### Parameters + +None + +--- + +### mist.sounds.bloop() + +Makes a bloop sound. + +#### Parameters + +None + +--- + +### mist.sounds.invite() + +Makes an invite sound. + +#### Parameters + +None + +--- diff --git a/README.md b/README.md new file mode 100644 index 0000000..a2b3384 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# EtherCore Desktop Wallet + +[![Github All Releases](https://img.shields.io/github/downloads/ethercore/desktop-wallet/total.svg)]() + +The EtherCore Desktop Wallet is the tool of choice to store and send EtherCore coins. diff --git a/Wallet-README.txt b/Wallet-README.txt new file mode 100644 index 0000000..941c5ef --- /dev/null +++ b/Wallet-README.txt @@ -0,0 +1,60 @@ +EtherCore Wallet + +The EtherCore wallet, which allows you to create simple and multisig wallets to manage your EtherCore. + +The wallet contains its own node, but can also use an already running one, if the IPC path of that node is the standard path. +(See below) + +## Running on a testnet + +When you start the wallet on a testnet (e.g. different `--datadir`) you need to make sure to set the `--ipcpath` back to the original one. + +On OSX its `~/Library/EtherCore/geth.ipc` on linux `~/.ethercore/geth.ipc` and on windows it uses a named pipe, which doesn't need to be renamed. + +Example: + + $ geth --datadir /my/chain/ --networkid 23 --ipcpath ~/Library/Ethereum/geth.ipc + +### Original contract + +Once you start the app while running a testnet, the wallet need to deploy an original contract, +which will be used by the wallet contracts you create. + +The point of the original wallet is that wallet contract creation is cheaper, +as not the full code has to be deployed for every wallet. + +You need to make sure that the account displayed for the original wallet creation is unlocked and has at least 1 ether. + +## Paths + +The paths which store your wallets database and node are different: + +The wallet (Mist) stores its data at: + +* Mac: ~/Library/Application Support/EtherCore +* Windows: %APPDATA%\Roaming\EtherCore +* Linux: ~/.config/EtherCore + +The nodes data is stored at: + +* Mac: ~/Library/EtherCore +* Windows: %APPDATA%\Roaming\EtherCore +* Linux: ~/.ethercore + +## Issues + +If you find issues or have suggestion, please report them at +https://github.com/ethercore/meteor-dapp-wallet/issues + +## Repository + +The wallet code can be found at +https://github.com/ethercore/meteor-dapp-wallet + +And the binary application code, which wraps the wallet app can be found at +https://github.com/ethercore/desktop-wallet/tree/wallet + +## Bundling the wallet + +To bundle the binaries yourself follow the instructions on the mist#wallet readme +https://github.com/ethercore/desktop-wallet/tree/wallet#deployment diff --git a/clientBinaries.json b/clientBinaries.json new file mode 100644 index 0000000..b5e9c5c --- /dev/null +++ b/clientBinaries.json @@ -0,0 +1,75 @@ +{ + "clients": { + "Geth": { + "version": "1.9.9", + "platforms": { + "mac": { + "x64": { + "download": { + "url": "https://github.com/ethercore/go-ethercore/releases/download/v1.9.9/ethercore-geth-linux-v1.9.9.tar.gz", + "type": "tar", + "md5": "b164ca5753608d8e3686d2ca15f21656", + "bin": "build/bin/geth" + }, + "bin": "geth", + "commands": { + "sanity": { + "args": [ + "version" + ], + "output": [ + "Geth-EtherCore", + "1.9.9" + ] + } + } + } + }, + "linux": { + "x64": { + "download": { + "url": "https://github.com/ethercore/go-ethercore/releases/download/v1.9.9/ethercore-geth-osx-v1.9.9.tar.gz", + "type": "tar", + "md5": "ceba564fd2fb4a9271f7577f73425efd", + "bin": "build/bin/geth" + }, + "bin": "geth", + "commands": { + "sanity": { + "args": [ + "version" + ], + "output": [ + "Geth-EtherCore", + "1.9.9" + ] + } + } + } + }, + "win": { + "x64": { + "download": { + "url": "https://github.com/ethercore/go-ethercore/releases/download/v1.9.9/mist-win-geth.zip", + "type": "zip", + "md5": "bdd338b990c53cccb9885c0e62fde6c6", + "bin": "build\\bin\\geth.exe" + }, + "bin": "geth.exe", + "commands": { + "sanity": { + "args": [ + "version" + ], + "output": [ + "Geth-EtherCore", + "1.9.9" + ] + } + } + } + } + } + } + } +} diff --git a/customProtocols.js b/customProtocols.js new file mode 100644 index 0000000..5416a92 --- /dev/null +++ b/customProtocols.js @@ -0,0 +1,45 @@ +const { protocol } = require('electron'); + +protocol.registerHttpProtocol( + 'mist', + (request, callback) => { + // callback({mimeType: 'text/html', data: new Buffer('
Response
')}); + + console.log( + request.url.indexOf('mist://interface') !== -1 + ? global.interfaceAppUrl + request.url.replace('mist://interface', '') + : '' + ); + + const call = { + url: + request.url.indexOf('mist://interface') !== -1 + ? global.interfaceAppUrl + request.url.replace('mist://interface', '') + : '', // 'http://localhost:3050/' + request.url.replace('mist://',''), + method: request.method, + referrer: request.referrer + }; + + console.log(call); + // console.log(call); + + callback(call); + }, + error => { + if (error) { + console.error('Failed to register protocol'); + } + } +); + +// protocol.registerProtocol('eth', function(request) { +// var url = request.url.substr(7) +// return new protocol.RequestStringJob({data: 'Hello'}); +// }); + +// protocol.registerProtocol('bzz', function(request) { +// var url = request.url.substr(7) +// return new protocol.RequestStringJob({data: 'Hello'}); +// }); + +// protocol.registerStandardSchemes(['mist','eth', 'bzz']); //'eth', 'bzz' diff --git a/errorPages/400.html b/errorPages/400.html new file mode 100644 index 0000000..e4ceb70 --- /dev/null +++ b/errorPages/400.html @@ -0,0 +1,19 @@ + + + Error 400 + + + +
+ This URL is not allowed. + + \ No newline at end of file diff --git a/errorPages/404.html b/errorPages/404.html new file mode 100644 index 0000000..c0eafb9 --- /dev/null +++ b/errorPages/404.html @@ -0,0 +1,19 @@ + + + Error 404 + + + + ﴾๏๏﴿

+ URL not found. + + \ No newline at end of file diff --git a/errorPages/500.html b/errorPages/500.html new file mode 100644 index 0000000..57aee2e --- /dev/null +++ b/errorPages/500.html @@ -0,0 +1,19 @@ + + + Error 500 + + + + (ノಠ益ಠ)ノ

+ Oops.. Something went wrong! + + \ No newline at end of file diff --git a/gulpTasks/building.js b/gulpTasks/building.js new file mode 100644 index 0000000..3adc944 --- /dev/null +++ b/gulpTasks/building.js @@ -0,0 +1,294 @@ +const _ = require('underscore'); +const builder = require('electron-builder'); +const del = require('del'); +const exec = require('child_process').exec; +const fs = require('fs'); +const gulp = require('gulp'); +const babel = require('gulp-babel'); +const options = require('../gulpfile.js').options; +const path = require('path'); +const Q = require('bluebird'); +const shell = require('shelljs'); +const version = require('../package.json').version; + +const type = options.type; +const applicationName = options.wallet ? 'EtherCore Wallet' : 'Mist'; + +gulp.task('clean-dist', cb => { + return del([`./dist_${type}`, './meteor-dapp-wallet'], cb); +}); + +gulp.task('copy-app-source-files', () => { + return gulp + .src( + [ + 'node_modules/**/*', + './clientBinaries.json', + './tests/**/*.*', + `./icons/${type}/*`, + './sounds/*', + './errorPages/*', + 'customProtocols.js', + '!node_modules/electron/', + '!node_modules/electron/**/*', + '!./tests/wallet/*', + '!./tests/mist/*', + '!./tests/unit/*' + ], + { + base: './' + } + ) + .pipe(gulp.dest(`./dist_${type}/app`)); +}); + +gulp.task('transpile-main', () => { + return gulp + .src('./main.js') + .pipe(babel({ presets: ['es2016-node5'] })) + .pipe(gulp.dest(`./dist_${type}/app`)); +}); + +gulp.task('transpile-modules', () => { + return gulp + .src('./modules/**') + .pipe(babel({ presets: ['es2016-node5'] })) + .pipe(gulp.dest(`./dist_${type}/app/modules`)); +}); + +gulp.task('copy-build-folder-files', () => { + return gulp + .src([`./icons/${type}/*`, './interface/public/images/dmg-background.jpg']) + .pipe(gulp.dest(`./dist_${type}/build`)); +}); + +gulp.task('switch-production', cb => { + fs.writeFile( + `./dist_${type}/app/config.json`, + JSON.stringify({ + production: true, + mode: type + }), + cb + ); +}); + +gulp.task('bundling-interface', cb => { + const bundle = additionalCommands => { + exec( + `cd interface \ + && meteor-build-client ${path.join( + '..', + `dist_${type}`, + 'app', + 'interface' + )} -p "" \ + ${additionalCommands}`, + (err, stdout) => { + console.log(stdout); + cb(err); + } + ); + }; + + if (type === 'wallet') { + if (options.walletSource === 'local') { + console.log('Use local wallet at ../meteor-dapp-wallet/app'); + bundle(`&& cd ../../meteor-dapp-wallet/app \ + && meteor-build-client ../../mist/dist_${type}/app/interface/wallet -p ""`); + } else { + console.log( + `Pulling https://github.com/ethercore/meteor-dapp-wallet/tree/${ + options.walletSource + } "${options.walletSource}" branch...` + ); + bundle(`&& cd ../dist_${type} \ + && git clone --depth 1 https://github.com/ethercore/meteor-dapp-wallet.git \ + && cd meteor-dapp-wallet/app \ + && meteor-build-client ../../app/interface/wallet -p "" \ + && cd ../../ \ + && rm -rf meteor-dapp-wallet`); + } + } else { + bundle(); + } +}); + +gulp.task('copy-i18n', () => { + return gulp + .src(['./interface/i18n/*.*', './interface/project-tap.i18n'], { + base: './' + }) + .pipe(gulp.dest(`./dist_${type}/app`)); +}); + +gulp.task('build-dist', cb => { + const appPackageJson = _.extend({}, require('../package.json'), { + // eslint-disable-line global-require + name: applicationName.replace(/\s/, ''), + productName: applicationName, + description: applicationName, + homepage: 'https://github.com/ethercore/desktop-wallet', + build: { + appId: `org.ethercore.${type}`, + asar: true, + directories: { + buildResources: '../build', + output: '../dist' + }, + linux: { + category: 'WebBrowser', + icon: `./app/${type}/icons`, + target: ['zip'] + }, + win: { + target: ['zip'] + }, + mac: { + category: 'public.app-category.productivity' + }, + dmg: { + background: '../build/dmg-background.jpg', + iconSize: 128, + contents: [ + { + x: 441, + y: 448, + type: 'link', + path: '/Applications' + }, + { + x: 441, + y: 142, + type: 'file' + } + ] + } + } + }); + + fs.writeFileSync( + path.join(__dirname, `../dist_${type}`, 'app', 'package.json'), + JSON.stringify(appPackageJson, null, 2), + 'utf-8' + ); + + const targets = []; + if (options.mac) targets.push(builder.Platform.MAC); + if (options.win) targets.push(builder.Platform.WINDOWS); + if (options.linux) targets.push(builder.Platform.LINUX); + + builder + .build({ + targets: builder.createTargets(targets, null, 'all'), + projectDir: path.join(__dirname, `../dist_${type}`, 'app'), + publish: 'never', + config: { + afterPack(params) { + return Q.try(() => { + shell.cp( + [ + path.join(__dirname, '..', 'LICENSE'), + path.join(__dirname, '..', 'README.md'), + path.join(__dirname, '..', 'AUTHORS') + ], + params.appOutDir + ); + }); + } + } + }) + .catch(err => { + throw new Error(err); + }) + .finally(() => { + cb(); + }); +}); + +gulp.task('release-dist', done => { + const distPath = path.join(__dirname, `../dist_${type}`, 'dist'); + const releasePath = path.join(__dirname, `../dist_${type}`, 'release'); + + shell.rm('-rf', releasePath); + shell.mkdir('-p', releasePath); + + const appNameHypen = applicationName.replace(/\s/, '-'); + const appNameNoSpace = applicationName.replace(/\s/, ''); + const versionDashed = version.replace(/\./g, '-'); + + const cp = (inputPath, outputPath) => { + console.info( + `Copying from ${path.join(distPath, inputPath)} to ${path.join( + releasePath, + outputPath + )}` + ); + shell.cp( + path.join(distPath, inputPath), + path.join(releasePath, outputPath) + ); + }; + + _.each(options.activePlatforms, platform => { + switch (platform) { // eslint-disable-line default-case + case 'win': + cp( + `${applicationName}-${version}-ia32-win.zip`, + `${appNameHypen}-win32-${versionDashed}.zip` + ); + cp( + `${applicationName}-${version}-win.zip`, + `${appNameHypen}-win64-${versionDashed}.zip` + ); + break; + case 'mac': + cp( + `${applicationName}-${version}.dmg`, + `${appNameHypen}-macosx-${versionDashed}.dmg` + ); + break; + case 'linux': + // .deb have underscore separators + cp( + `${appNameNoSpace}_${version}_i386.deb`, + `${appNameHypen}-linux32-${versionDashed}.deb` + ); + cp( + `${appNameNoSpace}_${version}_amd64.deb`, + `${appNameHypen}-linux64-${versionDashed}.deb` + ); + + // .zip have dash separators + cp( + `${appNameNoSpace}-${version}-ia32.zip`, + `${appNameHypen}-linux32-${versionDashed}.zip` + ); + cp( + `${appNameNoSpace}-${version}.zip`, + `${appNameHypen}-linux64-${versionDashed}.zip` + ); + break; + } + }); + + console.info('*** Listing release files ***'); + console.info(shell.ls('-l', releasePath).map(e => e.name)); + + done(); +}); + +gulp.task('build-nsis', done => { + if (!options.win) return done(); + + const typeString = `-DTYPE=${type}`; + const appNameString = `-DAPPNAME=${applicationName.replace(/\s/, '-')}`; + const versionParts = version.split('.'); + const versionString = `-DVERSIONMAJOR=${versionParts[0]} -DVERSIONMINOR=${ + versionParts[1] + } -DVERSIONBUILD=${versionParts[2]}`; + + const cmdString = `makensis ${versionString} ${typeString} ${appNameString} scripts/windows-installer.nsi`; + + exec(cmdString, done); +}); diff --git a/gulpTasks/maintenance.js b/gulpTasks/maintenance.js new file mode 100644 index 0000000..bc04543 --- /dev/null +++ b/gulpTasks/maintenance.js @@ -0,0 +1,224 @@ +/* eslint-disable +global-require +*/ + +const _ = require('underscore'); +const cmp = require('semver-compare'); +const compare = require('json-structure-diff').compareJSONObjects; +const fs = require('fs'); +const got = require('got'); +const gulp = require('gulp'); +const parseJson = require('xml2js').parseString; +const clientBinaries = require('../clientBinaries.json'); + +gulp.task('update-nodes', cb => { + const clientBinariesGeth = clientBinaries.clients.Geth; + const localGethVersion = clientBinariesGeth.version; + const newJson = clientBinaries; + const geth = newJson.clients.Geth; + + // Query latest geth version + got('https://api.github.com/repos/ethercore/go-ethercore/releases/latest', { + json: true + }) + .then(response => { + return response.body.tag_name; + }) + // Return tag name (e.g. 'v1.5.0') + .then(tagName => { + const latestGethVersion = tagName.match(/\d+\.\d+\.\d+/)[0]; + + // Compare to current geth version in clientBinaries.json + if (cmp(latestGethVersion, localGethVersion)) { + geth.version = latestGethVersion; + + // Query commit hash (first 8 characters) + got( + `https://api.github.com/repos/ethercore/go-ethercore/commits/${tagName}`, + { json: true } + ) + .then(response => { + return String(response.body.sha).substr(0, 8); + }) + .then(hash => { + let blobs; // azure blobs + + // Query Azure assets for md5 hashes + got( + 'https://gethstore.blob.core.windows.net/builds?restype=container&comp=list', + { xml: true } + ) + .then(response => { + parseJson(response.body, (err, data) => { + // eslint-disable-line + if (err) return cb(err); + + blobs = data.EnumerationResults.Blobs[0].Blob; + }); + + // For each platform/arch in clientBinaries.json + _.keys(geth.platforms).forEach(platform => { + _.keys(geth.platforms[platform]).forEach(arch => { + // Update URL + let url = geth.platforms[platform][arch].download.url; + url = url.replace( + /\d+\.\d+\.\d+-[a-z0-9]{8}/, + `${latestGethVersion}-${hash}` + ); + geth.platforms[platform][arch].download.url = url; + + // Update bin name (path in archive) + let bin = geth.platforms[platform][arch].download.bin; + bin = bin.replace( + /\d+\.\d+\.\d+-[a-z0-9]{8}/, + `${latestGethVersion}-${hash}` + ); + geth.platforms[platform][arch].download.bin = bin; + + // Update expected sanity-command version output + geth.platforms[platform][ + arch + ].commands.sanity.output[1] = String(latestGethVersion); + + // Update md5 checksum + blobs.forEach(blob => { + if ( + String(blob.Name) === + _.last( + geth.platforms[platform][arch].download.url.split('/') + ) + ) { + const sum = new Buffer( + blob.Properties[0]['Content-MD5'][0], + 'base64' + ); + + geth.platforms[platform][ + arch + ].download.md5 = sum.toString('hex'); + } + }); + }); + }); + }) + // Update clientBinares.json + .then(() => { + fs.writeFile( + './clientBinaries.json', + JSON.stringify(newJson, null, 4) + ); + cb(); + }); + }); + } else return cb(); // Already up-to-date + }) + .catch(cb); +}); + +gulp.task('download-signatures', cb => { + got( + 'https://www.4byte.directory/api/v1/signatures/?page_size=20000&ordering=created_at', + { + json: true + } + ) + .then(res => { + if (res.statusCode !== 200) { + throw new Error(res.statusText); + } + + const signatures = {}; + + _.each(res.body.results, e => { + signatures[e.hex_signature] = signatures[e.hex_signature] || []; + signatures[e.hex_signature].push(e.text_signature); + }); + + fs.writeFileSync( + 'interface/client/lib/signatures.js', + `window.SIGNATURES = ${JSON.stringify(signatures, null, 4)};` + ); + + cb(); + }) + .catch(cb); +}); + +gulp.task('update-i18n', cb => { + /** + * This script will update Mist's i18n files + * - adds missing english strings to all translations + * - removes obsolet keys from translations + */ + + const mistEN = require('../interface/i18n/mist.en.i18n.json'); // eslint-disable-line no-unused-vars + const appEN = require('../interface/i18n/app.en.i18n.json'); // eslint-disable-line no-unused-vars + + try { + ['mist', 'app'].forEach(mode => { + const en = { + parent: 'en', + content: eval(`${mode}EN`) // eslint-disable-line no-eval + }; + + const files = fs.readdirSync('./interface/i18n'); + + files.forEach(file => { + if ( + file.indexOf(`${mode}`) !== -1 && + file.indexOf(`${mode}.en`) === -1 + ) { + const langJson = require(`../interface/i18n/${file}`); // eslint-disable-line import/no-dynamic-require + const lang = { + parent: 'lang', + content: langJson + }; + let error; + + // remove unnecessary keys + error = compare([lang, en]); + if (error) { + error.forEach(diff => { + if (diff.typeOfComparedParent === 'undefined') { + eval( + `delete lang.content.${diff.parent.slice( + diff.parent.indexOf('.') + 1 + )}` + ); // eslint-disable-line no-eval + } + }); + } + + // add missing keys + error = compare([en, lang]); + if (error) { + error.forEach(diff => { + if ( + diff.typeOfComparedParent !== diff.typeOfParent && + diff.parent !== 'en.mist.applicationMenu.view.languages' && + diff.parent !== 'en.mist.applicationMenu.view.langCodes' + ) { + eval( + `lang.content.${diff.comparedParent.slice( + diff.comparedParent.indexOf('.') + 1 + )} = en.content.${diff.parent.slice( + diff.parent.indexOf('.') + 1 + )}` + ); // eslint-disable-line no-eval + } + }); + } + + fs.writeFileSync( + `./interface/i18n/${file}`, + JSON.stringify(lang.content, null, 4) + ); + } + }); + }); + } catch (e) { + console.log(e); + } finally { + cb(); // eslint-disable-line callback-return + } +}); diff --git a/gulpTasks/publishing.js b/gulpTasks/publishing.js new file mode 100644 index 0000000..9d2fad1 --- /dev/null +++ b/gulpTasks/publishing.js @@ -0,0 +1,146 @@ +const _ = require('underscore'); +const Q = require('bluebird'); +const fs = require('fs'); +const githubUpload = Q.promisify(require('gh-release-assets')); +const got = require('got'); +const gulp = require('gulp'); +const options = require('../gulpfile.js').options; +const path = require('path'); +const shell = require('shelljs'); +const version = require('../package.json').version; + +const checksums = []; +const type = options.type; + +gulp.task('checksums', cb => { + const releasePath = `./dist_${type}/release`; + const files = fs.readdirSync(releasePath); + + let command; + let argument = ''; + + if (process.platform === 'win32') { + command = 'certUtil -hashfile'; + argument = 'SHA256'; + } else { + command = 'shasum -a 256'; + } + + files.forEach(file => { + const sum = shell.exec(`${command} "${file}" ${argument}`, { + cwd: releasePath + }); + + if (sum.code !== 0) { + Error(`Error executing shasum: ${sum.stderr}`); + } + + // store checksums for 'upload-binaries' task + checksums.push(sum.stdout); + }); + + cb(); +}); + +gulp.task('upload-binaries', cb => { + + // personal access token (public_repo) must be set using travis' ENVs + const GITHUB_TOKEN = process.env.GITHUB_TOKEN; + + console.info('Checking Github releases...'); + + // query github releases + got( + `https://api.github.com/repos/ethercore/desktop-wallet/releases?access_token=${GITHUB_TOKEN}`, + { json: true } + ) + // filter draft with current version's tag + .then(res => { + const draft = + res.body[_.indexOf(_.pluck(res.body, 'tag_name'), `v${version}`)]; + + if (draft === undefined) + throw new Error( + `Couldn't find github release draft for v${version} release tag` + ); + + return draft; + }) + // upload binaries from release folders if in draft mode + .then(draft => { + // eslint-disable-line consistent-return + if (draft.draft === true) { + const dir = `dist_${type}/release`; + const files = fs.readdirSync(dir); + const filePaths = _.map(files, file => { + return path.join(dir, file); + }); + console.log('Upload files: ', filePaths); + // check if draft already contains target binaries + // note: github replaces spaces in filenames with dots + const existingAssets = _.intersection( + files.map(file => { + return file.replace(/\s/g, '.'); + }), + _.pluck(draft.assets, 'name') + ); + if (!_.isEmpty(existingAssets)) + throw new Error( + `Github release draft already contains assets (${existingAssets}); will not upload, please remove and trigger rebuild` + ); + + return ( + githubUpload({ + url: `https://uploads.github.com/repos/ethercore/desktop-wallet/releases/${ + draft.id + }/assets{?name}`, + token: [GITHUB_TOKEN], + assets: filePaths + }) + .then(res => { + console.log( + `Successfully uploaded ${res} to v${version} release draft.` + ); + }) + // append checksums to draft text + .then(() => { + console.info( + 'Appending checksums to release notes...', + checksums + ); + if (draft.body && checksums) { + const checksumRows = checksums + .map(e => { + const line = e.replace('\n', '').split(' '); + return `${line[1]} | \`${line[0]}\``; + }) + .join('\n'); + got.patch( + `https://api.github.com/repos/ethercore/desktop-wallet/releases/${ + draft.id + }?access_token=${GITHUB_TOKEN}`, + { + body: JSON.stringify({ + tag_name: `v${version}`, + // String manipulation to create a checksums table + body: `${ + draft.body + }\n\nFile | Checksum (SHA256)\n-- | -- \n${checksumRows}` + }) + } + ); + } + }) + .catch(err => { + console.log(err); + }) + ); + } + }) + .catch(err => { + console.log(err); + }) + .then(() => { + cb(); + }); +}); diff --git a/gulpTasks/testing.js b/gulpTasks/testing.js new file mode 100644 index 0000000..0e90de9 --- /dev/null +++ b/gulpTasks/testing.js @@ -0,0 +1,14 @@ +const gulp = require('gulp'); +const mocha = require('gulp-spawn-mocha'); +const options = require('../gulpfile.js').options; + +gulp.task('test', () => { + return gulp.src([`./tests/${options.type}/${options.test}.test.js`]).pipe( + mocha({ + timeout: 60000, + ui: 'exports', + reporter: 'spec', + compilers: ['js:babel-core/register'] + }) + ); +}); diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..0847767 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,86 @@ +/* eslint-disable +import/no-extraneous-dependencies, +strict, +prefer-spread +*/ + +const _ = require('underscore'); +const gulp = require('gulp'); +const minimist = require('minimist'); +const runSeq = require('run-sequence'); + +// available crossplatform builds +let platforms; +if (process.platform === 'darwin') { + platforms = ['mac', 'linux', 'win']; +} else if (process.platform === 'win32') { + platforms = ['win']; +} else { + platforms = ['linux', 'win']; +} + +// parse commandline arguments +const args = process.argv.slice(2); +const options = minimist(args, { + string: ['walletSource', 'test', 'skipTasks'], + boolean: _.flatten(['wallet', platforms]), + default: { + wallet: false, + walletSource: 'master', + test: 'basic', + skipTasks: '' + } +}); + +// echo version info and usage hints +console.log('Mist version:', require('./package.json').version); +console.log('Electron version:', require('electron/package.json').version); + +if (_.isEmpty(_.intersection(args, ['--wallet']))) { + console.log('Many gulp tasks can be run in wallet mode using: --wallet'); +} + +const platformFlags = platforms.map(platform => { + return `--${platform}`; +}); +if (_.isEmpty(_.intersection(args, platformFlags))) { + console.log( + `To specify a platform (default: all) use: ${platformFlags.join(' ')}` + ); + _.each(platforms, platform => { + options[platform] = true; + }); // activate all platform flags +} + +// prepare global variables (shared with other gulp task files) +options.type = options.wallet ? 'wallet' : 'mist'; +options.platforms = platforms; +options.activePlatforms = _.keys( + _.pick(_.pick(options, platforms), key => { + return key; + }) +); + +exports.options = options; + +// import gulp tasks +require('require-dir')('./gulpTasks'); + +gulp.task('upload-queue', gulp.series('checksums', 'upload-binaries')); + +const skipTasks = options.skipTasks.replace(/\s/g, '').split(','); +const tasks = [ + 'clean-dist', + 'copy-app-source-files', + 'transpile-main', + 'transpile-modules', + 'copy-build-folder-files', + 'switch-production', + 'bundling-interface', + 'copy-i18n', + 'build-dist', + 'release-dist', + 'build-nsis' +].filter(task => !skipTasks.includes(task)); + +gulp.task('default', gulp.series(tasks)); diff --git a/icons/mist/icon.icns b/icons/mist/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..8cefa23b7c6d4ac0fa75c444c4c5a393f12ba319 GIT binary patch literal 1127234 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

{<@*4kCdOv6+K9gz}rVE`}$DNYLmR8(me3DARG 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

aQdjlg#CGrkD;_h0w(pMU5tKl;(z zK+4e~1HFR2as_{i(}rS6dy5Ck0AO!9QqAq;kB+IQA77taZ@X>9%H_*%oIPvSP&^lK z814w*Rl)6{U*A6AxR*=`(+?UOo_Km0?(=TMljC?x03DA77IZq+QAh(i6z@}{3Ru!a zxLE*0tX}VYXdz+Tq7*kdc2voH2_solY#DaOOMWE>aBl;ZNar@8Vs*o!jLtL}CVtNe zZb(*-fz5(i#EQ;x%Ety~(?^n~0~j%pfMpsLWv4o25s$>+){Momwl`7}<#K$$0D$R7 zZa9!e`xunDN+9igcG2>1%n>ufdFPxKzW4nf;X^-N;gT=?V>svRGm?gHU2%Q5_J+Ic zeBeD{lP{wv8>w30$JLqtp@-*->1TuRZ*^yha8*QFf(*EGd!2P)V21BG@2+RD_ct(vhCOf9g8_mB)lnU{${ZCycPc zKwr!X0ls6!^5x(A!WX~zvCF>s&1b=hA8C)lpC_SC=wtz4CG901Cbp4e2-WQSe#cWvIh z41L94pLhQGmm=q9e5q1b`^t6IuizgW;C7b%-sOQZ0NA^Z*RHJP4^clx<)mlXdXuYv z{NqQ44jOdplqpjt;#I+^L~`Xf-UB@4nCZARfCmJhT8gj9@c}`<8f6ba0p7i{#7^FN zF_f9qE#)ek!Aa-Ryn~_)(&Z`2FaoD_Y%aUTWF2P?a~m6l=lEQo$~C>}jD=1)=xAHg zncJ9%niQm8^idxvDJ$x8Dut^U@FWdL8~NO7)T6%}<&cPSCA(^G5=)5`7bBtvUeP%pVJwlR`+04cN?a_t z9gq{zCW$*M&pnN7;#p{E*@KZgCe%M;?L#gWy!4c@LcfIl^zxw1SZ-;aqSRQCS-1xGWy{x^prR8X>^=_XQW+%Z93cVD!1s1PZ z7Zxm8?YENI6{x4P&MbB+GDecs4+-8wuFkkZLjYwoba)g-poEi}u$mI9VrTrKi980& z=~>R@iJm!<_n1+I_(UIhMdKX4&q

a)O@9k+(XjKDb_MkW(Uo`PF{?}rcE%L# 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

Gg!A^H9A_hQdmw58A%cS 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

pB4aANGptpg&_AJ5dd#aySGj^ov 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

5rdpJF73V=Hq}W>!W`>4X|&Yo&->= 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

&4IQ{U&^jCu+(=Xf( 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�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 rB1aWf({v*iFI~2*G#)c_O;eR{*fy$ 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 CUc;^c literal 0 HcmV?d00001 diff --git a/icons/wallet/icon.icns b/icons/wallet/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..2d325104f6b9a4a65c89d757d7dbcc972a42afe5 GIT binary patch literal 53093 zcmZ6y1FSGSur_#X+qP}nwr$(CZQFj2ZQHhOpZ)ILKbzfc+RiiSbkdooY13&fjqRKP z0Om|BjTt!qqq+b905Dbx1O%{9;ZXl!6f+l32P+3Ag8wkU|Dp2#QH%drG)oH;CjbDT z|KNWG1RVT-WB}le?QNU@{}&?sR}&eVn3@5A{4Wm(01WUyE&o%1{P!JFRz&{-TWB~yQ35EZ6{xbm} z1ppLwGBtEDH6bwaB#?J7wUbg16(?{rb#k_}w`{?n7Z=WB(i zAU8isPY2B%>yo(QDD*YEg?vRT*DfNF4sIDu&;N(d9VA`k5uvs^7NpNY1FQLfpVS}X z5k3nq@{K9Bd3si~Qx%@7sXj=ozrfAYvz3FLe$Z+5p5v4R6 zysJgMS14XTM(;uD$c`VJv<0&nWfqmc=bQF_kDE{PHH;FURmU){)F3a^a8^e?-6EuH zy35Y*$PMw|^EJI`*TI>0$G9PEV*Tfv_cE(CRX^B8Opd@DBOh{rm~k=Ji0U7sJKD9K z%_3-FNmbatzDs3Jx*(+zg$&=VZ{_%mrE;p6IKewy6G^3~ac3*Ik|gpAT1z@=1-N0y zDvny$_L7>*?h^gkJ*No}XUPjnc7G3-rJiUXCU%D--`c_HNG#$_LDX)RKKQ@jo2hdnQ0Q4C{&Jxu<0%z zED--3W_=2G^j}6tA0l00A`8~foNc3gZU%H{VEKdf3+|*bqO2jzO2p8^zGs09r-PJQ zDVPv(uNx<()#^$Rb=Tm)=xzon&ofEr?NP5^HjgxH5 zfYKyXu~f8cV$4{BvW-iX@A(e?XVzxorF_3ByjdJccIM@d5tJ3}l}!Z8zYe^4A`znv z1fv+7)686_BW)Cp^uZkmU3N6@t@33?*%%x-Ay`+dkUT0g8+da|d`Tj23_H9OR{?GJ zCBU{|_&rKQ$i-2__CbJM=b>?Tv7~5d^YRfnC?g7HukyT>j6`fbDqmQdE#^`Otdg>5 z601V>8CRzI)}JKAJcZGh)BKPkJM%>qj_FT9i5)85ZC~Qn-$bw!DKn%^;LK%=eN##s zvJtobd;Y78cim8=7w!Bc!KU+FfxcF<*``gMJP)8Q#3w@gvGo)9vKjcsaaMg9LGQfC zI?+%InURh?KV81zW}p@ULy=|p97^yNT4}~nT73-oTZKGm8M-ZBt)&M@ke~6leZDs| z2t92D( zrQ=oBpqqu~`)4s3yBhmWWDU!IE+klgeAkibJXDDAHo&Lw<5JSKm(py(CI5--7_(4Q zB=D`LNAwlN2)>Z4JY;b)ePD`I}Siu-zfoXt7tR=`X9vb zwV+Q4fl;>B{MP!<^@hhcp7MR7{I5$#W;y8}i!7!fBS^tq{C7Y4mM~$2^?lLxD3P=# zHF^5FZ}aJNZ5N`eS@D|5^}Y4){`5%xRo%e1zu`m)>Yg;uf;F~nBpg0KX2s*%a_E&0R*8YKzIosfFZ`%c-V%m0s` zmzmJX&q~f+O7h$ZDi+oW>+`41C$RN00wM0B{&g&04=-Y*AFKirU*eHY+8v&gUXrMM z9wEA6YWu;%{yiKzS4I;>8fyVB>CB=d=jynP#54zLKJ~8)4i301RKq)t} zh-S=s2>tLMfaF<$_x-EvyxMO9Gl> zucj}EaoWG92Vu)IBPu?M{Po0au^BsfK5u74yKelu(F<6fzB|wJb>}DkLi5&78j2M} z?F?y$K1BYQ*Q*Cd&n_{q6Xn^t$Nz2T6|fk(pmpU(jz8C%knf9$?@Pj}&&R`=#GE7< zMwMTjEMOfL`!VvO8DhHlt{nji(ttb4VZWDuCr-_?z~_S8zaQymwBe`Qt*q2e!AO?( z7vBDL^!8F_CH@6nsq00tTZ_x3TIzD0s0B5(jeRZnLx^UmUVbm^Y|Fn?W~$vSXbXYh z+TO9JjKOHbo6=>kCC`>x95;9k$cKMsYDQ)6Nu!@knw0+N2(7+~!ir45>Ug@XLBmr> z{j_5hAO59(O~&VCf{bg$+oYk*9g~mo#n=Ci0V87rhdae%sxn^=AsWPy9!QoLZmlPT z*%OoHP4S711`#0d8!s;G{CmkLdL5(NvBc<_X0;T4YvQE@`>PA_`?RnjP@c+Ka@{lw zcc|0#{8nHDBATIJ9hZR}w|1#4gPoePpyt!pKulPu{+0xVY#Yji zIja(|nhCjvQijN|87}UBfK=Z~K}bTico3SV8mfu|$78;u0q}3k5TAPG03yKgEivIk z0>T>>b}yBl?~}|=CE$Oi4Z(0*Rlhd{-Sz&6sGHOxVYKp7g! z_3_SRoI;u#`tT&S2*~F?W+JBkydb)4^(n**Er|{~$3C1s=ONC3w_~|C&<&_Wi$*oh zMyGE+qu5_vGz9`_HdT{Wr^+#F5bMec53A=rgN5yri5&7pq*WV7n2+tPw+2H51qTSadS^$cS0 zYozSoo1)%_nv(5D##FEpGU{o$MZugfO(U3_J{ar};$co&DR$vWYP`y-(<3zLzsP$% z-8m69U30$hPdTJO7+gcS@ri(KqA4(5>ptV~AS@I0eW66|lCTm49o{@$u0ta{D0*7| zr9VGaqd)FnQ)cFa*Gfv)PmBdwV70y1g&inh7z$0&L=Z+SNHw`VYvf0!!A0=hj;nqob#em zijP5L_}3`7y8K4k>szs+Om( zU7Rr%_CO+-2UyMecefm71H zEL+Les}T==VRt6{U)O<+%`S4=eZ1+ky&7-mww7Lq(&3x;hAY4JoA3e#!N>C1-lT(r zmDI5VY?pSBJ-~3)RyfPVLm??>4eyNHAcBpPOdr-GdqY<54D%py-A1sIpEGi9x??fb zRNm$kC`8P&S)-YJQEo}TUq7kbm9{aWjhtK>0HmLupD;sX@_bHjW58JF(-}S4G`8GO zZVH>C)fB_ZsbgDc#NCO!9%*f;P%~@c_L$69Ba!SkIti_9}mXggs+Tj{GOgJ z-MGRfeO)mtopFoR!w0m!N^GuWk;+l`Si0nZ;iF**RbG9+>98IW4#P#T6HkK9=PfrY zsPXs5_lhf?ZMvJG0%u9y`xSaG#)RxEiUL5zSpB5nB`i;VRBK`(Nx2Icmp*BMrI1-1 zJ=6o>rp}axxwyQqeM^H-xNCZSfxMJr^3m^WjomCJnp2upJVw`kcy(D1k8#R`*0R8Z zbt8Yng|y~oTmH(0Uy=m;LPK+(5~1{(m*uRffVORbbaZE>m?)x)_xobo2JOU;tm0W9 zbMAEi>XP0hbbUn?#(01EwVxyMcW7foplzp30%yWRVsRH=iPuO`h(qij%ltoL)3*T| zqr9#Npw_PXCY3P{f+b%Q$V?xPk%Az$jUs1(b}3K{Dt#*=7AnG9Kj8*n?Ui1OJhTtGQ9~pYG(J8 zi2jZWle=jZn||zwGYIy14N%Wt^ z^gW*ZshT6gS+w?bPe_4`d=$~9siV!8^mI_Cq{1wfA|XOCWp!|YF`-s1)1dile-xPF zOsU81Yeb?D55g#Zqli9u(OS)(a+bayJ`y)u)6`_nBmlA=(y6yO0(Hx!RjT1_IK zo>Mpk6jU+eopOMF_=_*fe7`}H2on};nr=rne^T6UJnj97+LQEW=sIb*evn07#idYN zh;A|wi#AVEa!0nX~7?QsEHRh5G&YC(mxF=#96*^aE zhy-t|kLu?utDb!A38yneACCuhd+f*)k-{6K#%BjZRIU(l^Dz_6LvYWeWCJJu*pACZ zWbNKW2|NwsA<5U-V#Q3T*bg$>LQQhpexO0sm?P)5gSuX9Ru#qQ336>Sb;cKbltvrI zXz3adR!lSqDje`9mMA6Scyx>@Eyyunoc0P7 zd`dP)wO<1DC0khtL6qyXS^6Rg9RpC|kZ_X_d@`^TOgook4?M=hB!PFu+al-OS+AO_ ze1mUqG1x56N}waDk@DPAw6@ z#(C9BR+DmFE`Joe_JToQ{ylmP@J#m=^$(o{LKN0RU3&181|1IwD#VZ~0@1rp+~5d$ zq?7jvxt8dQb`r?mp>Kadnc*5%2&82b|)j}2C6+?ZY>@rck75;Cdxi2DY1uI5V z^oJQK5<9Ez;B|Y#C7Iytya=ix;v+xccZh%WL%9=VZEl{tS>IbJ<;>7U(n|&9)S)r2 z9mWjzdWl6)YnSEwas&!tBwbdIKXN6ANtN)qqch$yLi&_BGMkC07xcv6#Vr)qkz`du zWPgM_^l@)tSagW9gr>o9=AJG~6IR7S^wxs9^f09d&UKa?&Ax2u# z(DFzyJ-@>e`Og|_xm#=?Ob!5>vNmv~TsJ`|`*Qx?Wq6A|@GFblw|r~g>blR&&o4z~ z28U{kUNA>Z#hZ2xch3^_-T{t`-Y%YA23>9Rt%0C^7sC_n_;wi}VBGN1iDx|TZgSk+ z3mIND`coh};2SdU5FcinIpBCqMt*R~kRr+w;GZ!>EoIYI)5Oz+-eSR9iSP-yhVF*s zsmxmp_FPKucjH-MF;E1iX06QCx2UgU z1La`--o!DmI{U&ruNFGWeBH!*9C2wB$gi^fF?T)&&Ico4F+a63dgIZF*WO?nqxCf?iF*ZveO zlA3Z~*Ux|T@XVLLCU3$tuoEBU+5!>7UV_IXTn$3oV;Y;^roGpoQ67$-6)P;*W+BUi z-SwiK5{1&Np~;NiI}!9el*dHRgI%YK9cZwNOw*cq9(eFQD_4G8cF=%PYrqI^`vX;1g3PqLw(z#ShekzrhV`9u!F|nt`zGw0B*A)nHDfMW zoUf(16=#xqaO%ubezXHlH9t8VfcEue0PZq(lpcUA$S>ZY2wXcosd4Ln)&l|9issqO=Y5+MXqX2TG1E4 zvEU^m=({5qBuV(vpj(gMT(rza*!nsFQ!V-?G}yjl+zJZfx^bGj1Mb&QT?EftcRJ zq-XGp#`6#oARz-|kbSwF8MQ)P6f@T{U-YA3Ta%To@dYF40w7nHK6@o-1KB!xkk5xV z=al{yN6N26ifjdJr|q|0udctO`}tU=eodnjK{*8vgh$7!3f&Iwq^-uanuoiit?g@K zi??+xo@>?mPGkP1#u{RapCQ6vPa@LJa@B49-U&0c9`sK{OQ7*WhVMZmiY{3<7f!dS zVDZf;h7Wl>zCZeLTHs%fos5u0L9N8>t7L_jlJ_pP{X9$Uo8HZYNWaz`CJ*^bqJhom@z9q+WU-Jv@)REb8xEcw%X;5_4k=3dpy;OE=pi?G8aP>IrrskH-hm|{7^bj1tbUN1VD%u;F|>}Ow1 zApiS&Q_0_d*N@JP$$BWS074oYxr%CH;v3Oh-GzzX4hi=q*oe0V-+S$@wb>chBOJcr zh;)Z5IPtj39mdW_I^9+FS4-D!ZiN$Ybjxv6aAJndfAac)Yv_}-Ggc*xIVl3y`mU!(IAIa2O-iGW+OAxE&9GTrBZsE$LlaiW_4_kA zV_&PYSTe`Jy#4qnnzEm&6oZWr>;vVKsf*&EFD8UIE3~zVW&Ex1a9pk(cBvZD^xb=KB@K}+XK8d%cW%nh18%{kox5qgFFY{&vwseB}tqv75h>{>~L6j7Z@ z#L943l!s*)QmA^$O`>W9GmJ~UIBdg3D0}Es@E`$Ag6a^&)Y>Tn0pyEfs*p%rl)RI- zDK0we+`wV6drGljLQi3g)G)^f&kPCqI=+fLYeE%_F+%ozTSp&Jmy&=yftvT8#Y#Vg zKp6`^S~CuIP|LXXn!QSnd4QC$ua<#Bs*@Oe{fdkyJ{T4tQt6M=9Iw>kldA>mKmio4Vt=g6H zNI8L|1zpFD&0@xa8S1CopBsk1@#D>A^&TZgjET-o?LKgnkh-T2>y4wcL+g3Uc7c6Z`hBDn97(% z*BX#LQ0+vfIe)*RQ+(s#Idj^nxy~H+qMqEO5nL(ND$Vs z@PW~@M8gx6=E=bq&*MQitY6yhi_Pm+YYLc(O{J=|iK%}eSxyq03$xs#`Q&*cbZi?? z#%yy{8;iQf70TFpzHdM&!|}4)jEO&hN6TtNMN|i_oQJp8!(3vx)*4SddPn%JPrz`4 zMTb_gts3V?%yhw`_Pa;(A>#ZwyV!)5SBEhG~G1_qT ztxUKH$qokQ#5f(z(Ae-7>H{RZQIK(vSFoV;k+Xt^<12aE;zy z2HuuhI0&5tx##qk#Fz}TKCaUxa5?lyywut{z}@rlxgse8*EF1>cen2XN!XPE9UP72 z0PgN1aML$>-VX9`o>bZ>M0_kyT>6yxX;T?>DaxJn#O}8;(wTT?`3^_LdahAGs}Wcp z^`VdRv~4_!&F(D-qpN`zVFHYho!0diC6c@E$OrpEe5r2y+UE94JGr9RqWXiEh>FVY zLY$h;3DOo+k&8BD0ZUoQQ}d#7>Z&WZyD0-W8)aY=(5AM3BTpp-N}!s(Rof;YWbbU~ z(707CgL&nd5_51Qm-ao5Sgwm^^PEj-_;!bX1ClVWt5LAMqn$ve+DB1nn(yoooGE`k z-eudz`V)=i-u4Gq0Wjc;F_BF;EaYP5pJOMfLs0nUwqG}+r3x_EU0PDt)BK~yDYuFnhBn4U+Z*C zE1hq*6os_0-7MiB%$WgrbJ)(w$qh1UhxhcQZ;a_&w2>%@52Y?M!e)c# z0ey9ZZ>9lO0j(?fH3CpJiv>04jw$x%Qq3fk==FyzB|ze5PLFu5X1Pq}05L^zA!XTB zQ6{lSAacR_BqYTN`IQ%{H2HZqL4Y2D#JzI7T)12_`>njGIgRAj55T}E*<2GUUD6(= zfEdw4Uxv7XJ9214YuVYDP2_S_zMgLo=f!R$np{5Li*#Ml=2qlXtGX5NbD{vwNQo(Z zyC1Uvb6r39XLg0Zm+QczCL^bi0jiH3BJi;!oY37cpXS&Y=LO4c`%1mLAgS(LJ;>42 z$!$WDem`tA%z8DTAF)ZgbS~`Cn1Nr*@GnOnc=_;}dS~!WH#~}@7&{5Zql4*kLJ=Af)AFFh9L6~;89Z+_6)Y-^8x0g_Z$L(-5_)e< zwQR%BoUq9MWlu!VjhC`L;d`*cX9zbQT58g-&nkru`84&ZKk3wZ*)2@ z(RB*9D4$!XJQ&as&a+2vwD@>WX)H-Rmy2QkfgR4L2h-h4KE?b9tHhV8tkRy;lHJc$ zbK9dNJOi9hN$8n|yWmi+?_+9p) zXxz{G$sUmRI^bI}$I1k_PlfGS1FZ*3?gCO_gxGQxEY-ptQr-^cE1;jED^Vb5l?%ng z%^&6Y-sgn*54~ozf$~uqo~6(Y)oOtASM*tOmnlMBd*Z-9&@ZPj??NM=YvGnH#jSc+ zMA$m)n$?$hY(JrDeCGoh;`%ix8UdzY#w+-j14J!&osAmkidf$keEz`#jBKsa&32G8 zdzIHib7ctV1R6S2lN~k>W zd~X(rihRc{>+$>P;}4VI4UjzYaqS3CrpXx74B1~P{muT(TS}&?mc(bx6 zhW=gZW9M?52d5R8VV#4@|%llg@i^)$PX?t)@7sRP-P=)(R0Qe zfXrLpjq$8!if`OV=Q)QyfNNdPj9m6Ca!V2FQ!XOcA{3CD4fn#dU=%k_G9_j?^gTS$ z^mK@QK@ja22D^&xC5n*xL3-5?9Kw9ulXxmp144(Wu*xsyPez@JVOctGm-HW>Z|_6yuJsAfr4dm+2KpQOFFNq7 zJqKvbislYiNfkJ4|CZ|xkUAwNeomT4<_vVJW6GE@YH@z~$}*csG4or?S5lh4hPn94 zHtB*-rg)IX3$5ky(YOe4E1ilvCl$LZaOrSbvA|GvB}mUFZdL_=RSr#E`#H)c$)vKK zGW=?le*5Zw`zS8dT{)My@t}U|PjVFBOU|x&R)l$m^t9|1%_}y}uZAC?vC&w!*)bRx zVbMd>`^Fp#`d10>IO3h5LqvEQqF-;2AW)!lMD0S3FbPv@m0~B@!&ex-CLr;*&(?Kg zdxDH%+$OJg<{xgawWIY`INsPXiWMQScl+fc|DlS+CF!E$7p)$mfNC%~6fNhA2qv-J< zfekL#ej+7rMoYUA_?&Din|Rk)F{B08o1jgMVsP0#ZVLn{DFNf7U;TNCwMC{wUbFl4`a;&&)Jn&H0%@w_3m8{&*N$ue;n5lU0wvdD6_j8yTP@xTSyNCAEcT z19^V$R^_HOVk&Q4QvAM?3scgZx@9JBQ_Lpgk9E>wy3dGm8*i;P>-_En!A0ov`aD&K z^Ylh|(p=3sb?>a@WyYxRF*yv{PtVB0oDzE1cHvpLYdS8T8FL+?kF`7aDf~OI`^!?QOR(>6T|YU8L!EUOoRNnG4Z0?WnJ$&OgUmORzmq94x7QW zH~o>h(ojl~Ice<~&UE{s+&t_=G3lW>$?3pm;*sh8L}Nz&a0ByLn7?ko5%CapH9TA4mEeI60pgn}-P;;}%<`KW262 zFbb+>q#M>nF3%8+890ZO`N_SKZ}(r16~x$+so^VNo2p!S`Y+sZ&8XT9CfZ1R(?1uo zXq0gE{x5X~Qt)>CtG+$G-dt%XOxi{IlnYaO0zb4Q14Op)j|XQcCh8v)+DL@5Z;vMA z^Zu}v$bJE4CS(2Z?h6FKIBR68)ID}y3nKVp&R0FLYOL#{p8?|nc#^TdMfT!Qo>BxY z${Eu4a_J|ASN5^Aq>_`Ajk$?LN2OYpbq05>CD-$R&srwwiN15ODt8tG$r+GS-g5~1 z1gzEVH6IS(kb|NK`F5Ckth2}2D2Jtg&oR&+PVj9uQy(uW`JPTf+sEFa_d%%-fR%)U zxkuK)tWuQnEKph=YTR;n4#zvHktEZVAD>55AqY=A8lA!tg~XTD91 zGra#CGv`;Tx-E#3Eaw8brBv;|3WSv;6+>ZfFQplPL%(q7H&VM8qRVyd2#Z75WIZOy zJXPS)g^XtcVdBG6u)N7OoQblGXzCV@Pr@Hen$G-gB&Zxs*LOB^h%D39h$e)8XE1w4 z-5n{0#DUS2iyyJvMlY>o+KhBCid*m#)pjxzreJi>w6b%wSLRll!^|8tMke8gL&fuS z&c&(M1ZXjw-$9ySffiLhdr^c^a+U(qNCL>~$iM_HAHd}acK~#W-S=CK&-#dz!5uz| zYEjZ;D|bY|UL+|~o{I{WoqZtt(hRr&)z+gD#r!>>sBz#>#rB0y)N^iv@bpM4&b`(Vjarl^|zdI10Y z?$2ZVe$1VLFH;vTN9B(d#x^#mzdi@z`)cnaLw3Zk5&vwfhz1MzMAy}37334vn&DDo zeVxSX6F0546hEi>gnJLhYE;fF5(Us659$qFPx)?>XB_76J= zO0^_sNAIyULomK4Yn(vks)ow$t5dXK8M>@C7X67KFpPtxq!8stt_F^o%V54;h0Ch_ zd3DyYG9tP)y<`!S4&M`hw-9RiI||9q5<0c;DjjTBcxgaQBV?nSMnOwP0IAdKnK<*9XW(*C+eZKL}=1fTjdoLx&BFORL8M3 zn8yprFCvRz2A&W$E;2I}n?&DmWa;nqY!1+H9bePfTcw%v0TC#FeQl|F1UM7S9|X?(rknUJBZ{omGHDGlcY);Nn%-*QGe=bVz1xnn&r)DQ{K~feD1@E zlcD=>&qbz<_lsM!yr9i!gw2X1OxiLb4PEpBuMwWFf+pPsmj+_xt}*BJO`r-+DW-Fn zV&@98RrP{RwKIX7G9KTl2@aE+SjsCH=`L1HG z>jn`gIR|lIVd+M|zU7+S6d5*o`H5>ry)RwUyTB)1{@N*q*p90@ydq)XV${zMf=dl1 z?-PzCe=OHEqYZ$#;Sd(d|7r850Y00TL33a5n|y%1do)J`o3p#};J6hDkRbqKZV^n^ z#|^2POnacF&-;%1tZi13C32$VxnU{U?m%0yG zY&e74*_tPNTW}ESR%#YmT}Ya8)NjYX<&jGow56m)>;s0yiQZ&=KT!*G$WR8b6Kt2S zLlX6IH_zp|IKd3nuPQb6ijrN(6BJtizVYS5qHzjg}L4vMj_d`sduYfU; zHnlW5(<{LiElzalth2|thwi+oeWa=72(I`k=&dRJ81CXuj9yYWOY>xkTVo;);il~6 zYlbD{*G3ZjI6%M*bJxu^r?xror-gdToAbc76yC3bi40|`XRVP*VF>XVil_*)hVMV*m1c~}qmcoDa zfRBg2sGvq1avlx*&eE`+?-k95wd3K@LmJ!@VWLC0Vn|;195CGRR+EYuOxS9iJAlym zw4tw(IYs{fC~?R}W}GqN0M*iH12e(aw8Tddeuvwas~eTvAdv`!rbmszP!)W6*AKwd zlP@@3o@hIS`c>HFg0$}$h}Gvs|o0KBb5Eb2wq{AEku}W z_tQGv4S={b`*FvPL9xw#P1q?+Or+9iFSA|C()NBYtGY-6-w<1rm|tBDMs`FqI}|*y z#a7<6Rah8}m!=s>&(8`zyb$I%V$}=i|7|7HWiW&?`GApUyY(rH9p3insO0Iw1SeC5a8yQU%eR@^2_sPXhp#I14WcrGH8x=Qm+Mu z23V=+dm@1pwvdcFrknN0okT})79g*t887RE;yhn#Vcf9gdUv`3!1-+5tEdK5A=h<= zbyBT#rqIE4t_lka9Ev1lT=Wob&hKp+Q%Il)50+{kk;#u~VdaWAAr-5xs z``8UG1%|4)&y0u&3H`*asK>oDy9#Uy1`0~bSkBR%5m$we>^-?eg9cE69(f!%YnKP3 zFmD13(vaqCT&9I%P#|H~dT#)1XJ*B3y80zpkNHlFqWipHA6T5;87D1O7?WMN^^*vIAga3)4)YCC9<_>N0Y3jk=9~t9JfSJLqGxwo zjGd~UC=zhfzVlIKV;vfQHMMJ%@c|#mdmfBwtks$GQiAbhfWsaFD9Fo&$rHvKpUiE= z;LKQ2&|VIL@51IjZ@Z(AS14asl1jL9`$&;3;mul_XXA(`>$(^$D(6m)KLJXB1khd1zG=#iVs|D=Z|&=L5F&w z6-3=IA2I+3FQR0pE&R^6gg3$7z^(%&ZoZEv=+!h7T;%^JR5U*z>}i`QEN4%aGg5dFV_L@zYj-V zU?KeAOQH$CI|nLIg%es!8wK2LlC(vdSIn=cPX^!=krXL>+|Cm9ZASvz#V~Puspq|@ zkG#{(KwPD?7qI)JKg{Eu-m?oZ9WMe$QY3|uTGNCN>BxYiPT#?aUiP0cHVGfh<1JMC zSSREd=C$Mgp)EW9qMSXcUPP213&hgFah;Da*(Dm1{}`C#UL?jSbeU~XLocx2xb#j; zsx1DCf;~W;crM~X3ROYMmKMT#?=GN`y;L^6pAYza3<-f57>_oG5HjEfE%8g?R`U0c zA$L5jCRth$t`sRisWVL4lE0e-F-)%^S^Rbo-3p?_;0*dOUs(-dBzfYJ$IY*`d@r&@ z46RP=c1!`K^w5jAa!uS?b>j)a$rZa-V+aFEyy98@^I9nNz z0@STv{9KaE5(@Jfy^?v!a?Rtz{Hjl@VY3(gAmR>$M5bt4a`Ah52YPz1EPI-;EVQbM zGtVnxlXZKCK@AFoEjoADuEYiXBalGG>rJyyP{dEcWMkn7k{e0iNALnkE?TP48nP7o z?_io(bY>2foKF8#3h)a3fkwerM=7PMji#8iv`pfLV-5&mCI|CuQfNCYm?kNLSTDZc z)Dgg1)sYW4eY3EYtk;EpIX^7E#OvGn?H3LVOXA`^8II^a%CIf2A{T?@I6e-dTv3ML zE{h&)n^!LM($mnM9cNsXD72GN$JBRNuF5!@#U6wDlz~|=j!LE)WpqD?uIHH1N(N<7 zwAZpP3Q8P+B_4Pd?aOn}O0uh#IVm3$_N-BH1=V|W=S+{{|AT5+?hr~Ms$)+mVub%J zlvxJj9+q>n-imU0VhT>>r20PRzM-z+Xc28QtJfOF3B*mEK?!HrWN0NuDC&;8ndc9( zn?G%4s41PLH}W9OK}nk?-|qoppI!_;@ZERYt4i@bsReBQ>d3iF@Oql}h&=7p{DWq3 zF;soN5TWx=&F6k%eQ~s$*tHarP3?W3(MXD8U^k%EsgZSKfs3g^bpy09O+o`e!MjK} z`|N$q8Fw|tTq>v_O~T&7$`XSbBw(BmJLN%-k@8RTb?Go#78ySYfPy3&%E)9M6t&1-2B*)spPUUct zzNRvHA2AP~!sqwd>Li$V!Fc_5{IrR+H9I$`JMBE)MyXB}mzx?fvXu}d3)09INk1Qo zJ=Qk8l@CHJgo<~4MoSi($u4)EUP=uD(7HuAk$O^O+)N)faUJ#oU?81 z*%=f~yOurO#07P|NK{wI;6(*Ynj1$5_!aP6cKNfTHb>s+VyMF9`$BSh(~xY@4ZmLa zuGn!&Jx$1&Cc`7EnNP8svon2R1c*CEB++AMphR=p>}sh-SxsDxX&=m0OUaw~Fa`x{ zFFd~ARoEXUNH+uLMA@cYlY*Bk&0?upI~m8aE1H4^1nFyK$;;Gm%ZG`N^}UBi^hz10 z6IL*&l45+y;fntuiLc{BztG5^|G{V7-inW3ZRw9TdFazs^y&6qc_n{&g$KW?`Dg9k z(hB_2ioz5F-wTKtTZ_Av+|M)atuBO6b%`pNBCm`H9#ejLo|#dZ@0@5W(HB;+YgAt@ zxNCrpbSjM2FaD2HfG0YhX-Vq!8)jx~(Y6lzCSjadNY2PWQ((~?YkU$4YMa^&b%I=A zE{|x9*B13j&UJY{zxYbRXqacu5!0?XAE%3WR>62BY$kCz7}82|9x3r*zh}0JActRu zplPv0sE%|OV54N=*6oM)56Eg)UZamFVNW2pT`8AxQX=bOKHxXFRWOrC&pd zB*(zc-Vz6Xt(RGcTgKUhJF2kl9FRFW3bjus&IU+Q*DvcA2}r%;!XM0*UoEQfI$(p5 z5XmdMbQ^fT?dINKt`I2R>mB*D=X6Z)Q%GhFf9s02OlN&vsnh2Mm=?I}cxZB?Zkf%h z;`B%?e~ld>vA8q?sc)*|oYlG*#V}0irsx>1dhn|&*v)BFj$zTJ;scGkQf+dK{Bee@ zpI#?JHc_ApFHVhswk}|Wt7>nH@XkCsgaZcq(u^2_YrJRFeX~wjkijxSE8k>bFSBVz z@+k-htvaj8x?mMb3Vjnoalvrf6&HNah566f^xKv^%90EZi}gpTeUqusyXP8N3Lr!7F>Hw1_GTuJQ#1GK=3Y)F z5Fs_IfBdXHl3ZbXdLMR>l}~e<=oaX0m&Ej{?|^Qy`J6=fF#!1S(k3qyYAbLL1mITh zjlLh3c1awWSO^3I_v8Q}q{oj{I>$e+>fM@4g%Mj3^)fU$V!39((Pi>Je-JlP#&#e1 z_IeTzu~W&)Elp|sOvHq9jGH;A%=oBC*8OeTVXgrmpZ za!`zV?9Z9*CEJB~MCt9Xz@j|CX4)n&j0joWYaQ+e3TJf~_$N~rtyXT$vM5){ZH-nD zW2?Prs_M!sj*HXccS94J2Qb+2K738pGu41_j3rBQjKyQLh4WQaGK->1kS@2?CF-eO z+@P;BcBbUdTzgU=s(StWGZF*ix9q4V5(YYYD*{O$+&*8~d_SzHao*t33*i~m3%wxiJu|NDC8 zOi(@p-&FktEl(G@K=2bT=UpipMBB7VTrpc6OzaW7Asz7eOA_Da%wO0tno zcs*{dfHB!+X|N^I(%~}>lyBwJyB9}0J&LU|vx;C%p+vvK)4F+?J8M;d+5LP}qnWW& zkLXVWlnMdJr}<0b<^Sci&RnoM3WiT|S#E5AYi1%uwp5eVbn2&Xo%q3s-I!oFq%Who zD8+V(^HnzqR8UlF5j`$%4o|I_oD*un+NX6qQi{DmUpYc2gt?6NbMyU21c+BuDb3^8 z{V#$5Y9A)E_(KNe4BQ2EHF84ncw-HBOhmTPXGfyi0C<@90InPnq08-XyF3Tix*ms# zq6ZkPZ%TwZW4lW1sTtIM%?+u~NDo0zHRqvtgXYi9o~d>@ z>C+N(@TF2HojW0|(qTij%0}v&74(wuo{LPJmHrCSk{ekD=Z+Oiq{dfa9<^#4o$ip* z&cjTiK@FRIkfDTiSfiW3WnQ-2EW{WVBYX-><~eG_#6=hd#~f1SKs{D@1x_B)U47z# zND6)u8m!Y?vv~_WoQ6fAe$c`y$6CG;^U4BtwK@0^-THFEU9#lUmCIZVN{|;(iP?L! z)n(O|;geCR!IWD#ZvT^}vYOA2l;y2u&+TY36q_am8+v$%3p!sE z`?a+hTKNWgHQ;oi&J~_gjLQDF+CSg0a3vRBFu0ryKLv!h`BpIXR1K*)CH6V^4&ukJ zFqPkfq)?Fby_`&E_t$$^6+CJ<4;)ze-OD?mOuZ%#nUh7gI0ZU2_}qVrOy5Z`g3Q|1 z>Sh*j&XjRw|7_?vFqZhZNIJZK7W6s^mI!8xCod;_Dl7swE?RC@nB}X$O$r$bFspen zI2`uO=iEr3ao%rZil4Ofx-pX&kd@S~_5Y&m9D+q*!r*#s+qP}nwr$(CZCmf!wr$(C zk$;y|s**}pvznU4H=EPb-LrkI+lvXv1EO%fS;XjXE>DQsFs$iX!MBNj%2Y~BZ2O8! zdL~Y_34lKYfBV=z?<1uVG5CZ;@0DsF1ls&3TSi4&yACqYj!8!E-)>rFHYwTjB3|!q zk*`a}@>-#~@L7{~=y*P7bmN!kw!d4t`A!AED+clpZTFQ5l4q&jl&K{sm7dB0l*S12 z`Qu#hjC0ad`U@y+Kg=fd`#sf#_IZ-p4sO7HjEC&=Gd7qH1BKQA9v_taPR zLrBo`h(Qcbk1>FYlP96_GU$5d=8eV2P1qE9r%sLokMktegMzWEVgN)zoCM)dXC=#F zzxNkEW*!YD>^<}P*2&v?cvw&e>Qmm=ay!-^m89)f;arb@cH#J z8f=rL5T;Jyr5dUNIu(P-GQ~DSChNP;;oRoJ>Ha5m>$m@d>M1^IggDQ8VGGzm z>rK*@wat0iR7uZZF|nHqf?KLuf1B<3FYXykxF4CE#+B$==_siCeC zHicr69QVpa08%JA$Zh|I45ZjrdhX9QlR~xPl2Wjq#nl_qW+>_*(dyL--tZ?pY)WW^lN5U-XiF4 zGf6wK=VEDFT2aW|SAJfB9f#b*Xl8#J)SslEv3~1ns06!TWc2g(gP93x&qE@TR}3MO zGGYN#XU*}mbRhvSVHB1NA5lJ^PRW?|2&4Z(VtGGlx+yYIkulwYXXD0FOYYixMj!L@ z=Gz~d{#_F8_KBpPfj{}==6Vn+^0#Zs%buYJbdEn`Nwu1~>ek$pNGE@|&SCR>)|N}7 z(>lrqqrz?+=2+SDb2@0bV`g2D(QvEa`^*G%Y45OS#sHXj14#G;_;XF7<<)UCe$m^4 z0M3-m%XCPkbzj^H4A9qAw{Om|o{K2HOu0Tvq;=jP6Pst`q*b7@7;a8=PT5so2IAIX zkgh&?G2B47qTT~O_*SCGDIW07sn}$*3o{Ph7!e&RoY5_F#Z|$9V0SDeu0MspZv1wV zU+72FyE#T+zD3#%8>Au-za_74BvJ8t)(Vm5y## z4}Q2tVKB=eIaEC<;)^i1s+09hL`v*2qxB!=$%gh__bTT+S7v8;nR1^_C>70m3$e55 ztag^6JsI)9L;*sgpvsj_*R+y)kH2_2h>Y%kwx=Mv_--gGW=!|~!A72dD*EG|M(1F~ z)9I`Se#SjPn5nf%lIyf5T(*fV@mBd(Xs?uw{u|siV9KkL4ccZf+ED&g0zD@8gnvwV zj8wTu$nGi``9#7DXjDIip%0zAYDn5$ff8b%)IQVQ8{C1b`^)}Y7*5`HN8UthwA?RY z&mU~39HF18Oxik;tT`KyY@JmNWtb&xn4QimUg^%~nWaAHgLBarl?%NpKfQ>**u-CL#PC~Re$wBr zH~Kaj0{#QES}YY7)%QD1=H0cq)4C!Nle4Ty+#|0z&?ug^!vMWFj?8U}Dd?}Zi3NIw zk9>Bz$B7!H11HSg)GttyeF>w0nH|$G&xuFu-`7j_Ba@16YIR7E`CDZS`ZAb}{Pg(t9{A7T7&!84upl-~&b! zu0?YGW;zDD7?*#WJ$k_V7CY`$bp+^=6-6GR`Tv?Sf8v&95J0>4$D(6xBjh$ldU$7y zatZ zQ|%8*jVzA$4*^7~G4D#YtflX9P+FG@Lp~)4??}ZhKKH&(BWFR`L^a_&&9^*8!G!Rd zJx(4OWf7=k*<8aG>!(8tPmdfIxy=Nb1>B1VgYWbOYnF)UX~hgiesE|%+|~?k$jN!_ z|KwVAUjDQ?kE2q@p7)opvZk}x8l7N!-&R9SNR~!P!-_DA$cvRdpLX9(y0tu8UkZ5V2HKMgVi9_^!y;d;d0->zlUvbyb z#)!lLWuJ9e5^M0tCO;Gt_SP=&638>QjV6S#P!v1p{I$@(CfN#b#@WH4cZf6h=!Wd{+p2NPg37Ef3`J*A{e=$cXS3|w~}a^ zrNa|psPnG8e%8|Js3_M#l@Lb%L7CQxtW(D8M_PE)VpWAT<>?+{B8L2d_Jo3VO8)vQ zjWnlJ9L0-2XK*k(@-e%G7)T1UHyTzx!3pHXipmZNg4tbC&XzwXx~LA?UYYf%7PKh_ zaRpWGjWrZr?;zom)e6m${v$Tl0Wv1H{yobuD;o&aSU+B!Awkvl|I3;=lx}x5N@F^OYP^J{ zmso4~rs=_=iUQ;akJVT{^K{||#)o4VqslR80!p-Sd{#zuZ_D?riNX&!P?4)YU8X;FJbT*) z**E1^(QMDwsv&Y7IyyeFvAN=Zk5W1i6qFWoWUTe=Up2-JFk{kO0+`&Kky<1u9CBZbcwB>f=X7X$Ot(y zEZ)R}1ulJdMuO(_DRIFoGC$T2ZY8Qbth|QPg&no6h30sl)yftw`)qP&Sew!G)~ZmI zTw~&S${axuR}w?gk&bs8F|O9-2SEJ6@Zf42M9)yyltd4HwJAUybUFKpiDPU9hgcf8 zFqSHaD0#gm*atZx7>qJ=m7frd`eYqe-J+R_TPe(96yD}$IBX_W?p`~9St zRYxqtO6B>wt!Nv986Uu}blMa*^NOAQFoKk2E81Jem6LV?Ej&SR1yo>QwMf$b6d__7 zz6tbPs|9`9XAiGTLI-uMmsnZk=KlZBtp({w!l@BtO96}s!rVY@4k%P$p5whx*%iSX zpgqqO1}ZO!xPJkLFF1VF%ZzhIPy8bSQ3p}8azNcm`~-sFf4~w&x!Nz!;he}B)gZ18 zw+-mX_6dNSy{MZ>TgLAJtjEJBa=!*5shYF(3TD2i{Lvz^MM3RwO9K*q znPrrbd%m(5%QPaQqcZk41&Bw;`iR)Dhv$8#;JqNJY?=vvT4p`W7p z6-Op@oTX~5)A(H!4fl63-MaHEh#=Ss{QKPi@zLL8jDjdqUq&IZFRBfIkmtB*r%AgC zUl-S9|Aj@fdG_!3KNC-v3BIqTJ{!P)`MMC*C)logn)dGyI}u0p%k zgNwb=c~@#5DeO{fDSZBpziJ+e;Yw=*MRPWJOR`H$_uqS^_FD_nHYy~LZgY)8TJlGZ z-ZyV(J)ENOdO_iBRXYU!*6-%vwy5m?iIFLT#oRDoSR6Ja9A8@_w3WlRlPhH6L53_K zH+OKJ^zgiZHbhvg-CADOyW^g3g@wbnQdcRRdXq^uRt#PCv81w6+k$o(#EQoB4Xakt zFa@$5>_A$rEmatnck+i%A3;6ECVZ?G!=@TOp5ouYwRF{@CXha!rftri6@tbHO=`A= zeesWjrfU6b-o$#ZnnB%m%#Q~ho{o%yyLG&%NR_T5Qh2)Cv(C5b- zOVvsS%`Cs#Lc3W&W_H0?j+D*l@iyYv&g!tBW{VHBfimebm6>B8+l`@W*vYQjFmS$o z0y7Ah0BZyB;u!YBp8CYd?H1DW#Lt)l^8?8lf7pe*p9=y7@jh=fLi>VM~|esi0s zzXj?BKQ-A*Xn`nUMZ)bx+y$MUaVQ`{L1C7xWueX5y5G`$o2Y>waOq>Py+on8k`(ig z`WsgtX$Wgomif>$yk5|3A=!Iu!I$YIqnd)frlmKz?Q7_vvte>fgO!yI34A!+PT?4_ zft1Yu!O+}Z!u^7cb2(^kUq#|td9*=utfOl4qFa)^N4{q+&N%^XgbJ1gsGWa`E3C%& zzc`ubLO8#aE6$BD)Yol0kK$RAQtD-?Xmc6eg^9R3Mjph#%}9R?365hPQqxeYe&ni3 zPFlQEUkcm1!G#KgM9KY8o^CjjGeJ}qUzr}mcK*{9vX2280NF%`8;?$`xCBL$*cO0` zyPbYa>pg}XU7p-()E>){e0Gw0_{^-`{L*^jB%8-#B0%!fdivGp5#re#9?iD2 zu}Lkg)gYXK+?1z#4E9~p`(O*4VA`meyObhH|1pOEe+dNW_JNaRe_PY*Y8ng;=>of! z5B{gtJSWN&KILUB*1hYZxZA70A;FDw=zT8-|3zUpmhScRwhDBi?S9v2uT)?5XT;dy zPOZ%t9p2e_!7odfH1g#Ce+PCMe<{q%evb-yfHmC~8Fs&3vw(r@mM+2|!9^xsqT;bb z%B?%30hPy&mdq zJ$Ih*fRjoXpb}L+q61D>=c!TGIQn!9fTi0ze>t>m7f-6o`T|@Gq^omr=|n{VS*Qb# zdQo%1`g;;#n%9~bu5_A>^dDpcM@ln>pZNa;`I|L&?dbtSdgmuJ7oP~AP;l^j#dp$U zmk&YFfDghlB_`IOs6gYv=S#Km;DT2G5og19_yjD@=Eiw$=wg^fh$*;juGXW$j`=eU z6ouPZ=m7inhs$5o^2sdn<_+3rV*S=#Wr$ofBWjsXwX>xsFA`3HPCEamaRiz6%fS@ms|=^x(Is7n-!@q@%@%HTP_)-nV{D}chDkT zmB_&_s0N$*~f{clNP|>SZ*{0ADO2g>h7`A}mPjQ)NYr~59e*0>8#8|2qU&XM8 z(w5t;fh&{4*AjI(2*KsWXlSDrh)lMMo`t&yLUcdW#i~#H)3S@JpGM&t55FZSnLoP! z4Ix_?Ng|!aCZn|*jRsrZ24os=!q~4si zVt60%Fs@MO@$5{B5N@80P*H|QEal!Z8W!q&!IIhtm`yN)q`?2o=faY1@Faj#pdBis z-W^T;!^OT^()zf_^K^6`d>%ZvxZjodrx2(_vylO%jn0t0*%zb(QJI$i3|;@nWTwrXICJZ-%)IX4GhD z@;LcaC@9!lr9s-Qr_k)wbKGC^$A_B@?XX09ZGv2h-Vbn6M{G_Lu%F_cvzsOiiU^hD z3t|c7OF#^!y8rggJJ{o}%K#>sPtH~2sz$E!6Ce05oCV_wQp2_HqSqr55umGcIW~vC zfBp*L!fu4oLh03`T612ZPcqKnr|T>V!Vm?^$Cwo{ z<=Ulu93W<6y)GcD$-qdm)5vh{){#5mACREcB1DJ`*MOKiBw8qQt^_ueTFt%Dt1w2V z-eN%)zUNneig89^LW_0bd2LmVZXlCP(fvhu+EKlk5a%7xX91tio#eo&5*lyPrJB?t zdNr6#YlOO)M$nOk*>vZF!wEFC>8?8ZG)(ZK@o?DIwlk$-Nj{xt<^0QOT<)A>HhC*Z zXht7_I;q8RM0n>S=kubQ`Aq(&&o6_svOhNXN>k)vS;u}nJ|#h9VmoZovE})bB%g;- z{9k|S8Pg_R_Scb06Es^>+8ZIBAfPK7RZt7LERx;Wdxy%@&WJYl$*Z;P>!ths`RbSZ z8Ge&YpINHkOwUg?cl=&S`bN>8ekb}yQ-4*^t%LeuQ?e7%>z2^DkHpqX0>x4MSOe}!|(ML zK`R90pEX51;7%4E?UbTiDNHnu0<-r0R?vcA2DjTW20%0nyjzg1t1+qLQMz8ICk@nGe%HBtpWO|Y!?YLe4{Y)GZ zUv_mb)6H+B?XvRuoUQX1?@aab^wljl&S899<6vTv)m*N2bpuxp1xDcs$i%oAchpT+ zg#IzNZkh#=zk=c5$P9d|ocRT(!_+W}r@$ZuNAOeYZ#{hTpS0Sw4IbG5Iy&rHd|`~|H>jW8hc^XBdHtRzfEAFVD_Tc;K#s8O#>+KTmou_<9bpfou$-b;1_GhH2bbwO%Vk@W^9 zNMwr2p7X*{d2T;Y|6xnDt1KkA9m+>xsswgg9$w!URDrrevs}|Yl^T?`2^ zMmGhzcLq=f{Y?Uh6C!2Q_tm~F0I50RrH8V}KdWWu1ni2S@G}^^g^#=3%}6cf|4N8q z@f;^97WYY8QkV-0h}uss+tt(}e7UO{!dPVNf~xH)M%lj=ghaEM*~lxNj%rBjf+0Uk zSA_nh+|I2h(&3Y@N}l!rSWv3A6M>6FxmP?s5$JdE@66ahv1Kz05AJ`Wy5KwYXcV1F z?JVnC-JGM?iqJhcLbb>sP`Z%<8E;{_#k`K`=DoPRDB4O8oM3;m!rIN1TOG4Y$T%hN86IGswmbtI*gsLhqaWbFqap(7xjc2*Dc{f%G3_b0K|@Mk*-sg(i4; zZ31$<%4C3w^VO|)!+e9y&sk?orT89o9zp}a5mV=?$ro1=tsZ4nxQ#dh5D?(D-I)vq}D(gZE62xE~Q_V~7(8L8>;;+IN}Qj|Co zk{!Ni5^oHg#J$u^(ckhDS0Eal(8$Kr5UsCfBFvJ`LvqZ_3>3c1(C_tQe#UU)0M~KH z6K1VR;SkqhxKL3FT6;0qsBccz@gU$av3ymHzl$C4N~nPLzPm;wKZol(0V*eT-_zYk zt*>z4WoZ7WL=e4`&x?h&#};g9x=K)ET+v^BICT@F1KS)TPGaQmS2kJ`%$c8UMSV!b zDKI|OB@r27!;;hiAzx+DZx1@3KX2ef`ilIrR_p+S$$x>f$e(}93}l)_hRFwVK3*AA zd8n5YuVx%oeM3QT7OV#p<&l5acl{(@o?@~v*smr2w>sx8=;@3KH}1}Pb4)`Dy&+qB zlFGA_l^+RuplUEEk+;96J~8BU9R!X<;#9VBrhy9*!LhM@&)YMix9%8LsY|g56t&4C z%IDvfw-gxj?73z5Q~7y-Jv=3da&mAdXW!Z3(C^>wAe6KqDaj%Gc@%H*UmN>4TJyuD zQt#)aWxC)Fbdv=;&Pm7;CyPAnDc()Xnd*p-&Ks7n9qtbk+bBLVn9vv>^`(%bM<=0r zysBV3lUIxj3J{Wt(us2u6-MYr4Hyi4cZuB(pTunv5nHI)0hP)~l^(xc#M?}++3fY_ z&vZsqJ4>zko7Mqt32|?pjmH_V9uSXUbXqoyhRXCt*HX3f`HxJE`$Pw(pl#o|NU-r{ z1AHf#Bg|ZW6myn6S4MuWCR=jXKI}rtVAOv>-SIs5z=ibZEMc4kc7uD2;g*a~9(%KZ zOR&8|AW2kB0X6Z8Rog(c6IX&XLr9wlFH?V`(7*%}EwvaL{UJ=FgaCtu4STn<5CHXY z>TU{-`yYhU1G!7>naaG=8E+4(%`$)yFMbia_OmIkyiEKf7!9*~-5AcLdLl*J$qQBohtd+swI`1p0S0Pi{ICpwDPz5K#` zg?3~4e*OE-V=*3?1{OGMdZEpxwXOgSi3ePO6QfX5&6=;sq@d;aOT2jEO#nJR9JrNF zCWIZ9;#glJk}TfKe8E@4wS?%khRxxWcA1c7Xpjk9FSsU7XR5IUKQCnt={b!%vdMfy zqyO52NVEtMujjbvs5N;KxA@YS;=sQ)TXzrK;E3_1?IT*h%9?fhBU;4FeP=pQ?A+DKMEMiER~dKRz~D;$$H)#-1Ku z^Z_9V;M6zf@$`MQToj?ZKXNaUC8uFu+7POe9ge~SW?DhHGCWgr=oj$smWKKTXILmJ z%9$sRDJCMxtc)oJ(>JkV?&vp5>_y$46R;1)uV{hp1JclG?43`Z` zwLepe)nY|Y^bQ$jA~8&JCdkEiMB6J-n(aQi^lJ>MdM}g1@fU;<3%=L!I(AmqqzT+v zI!OitPWN-mPg-vB)|a}}L;mlZ9XUv7Wj(j&$m0TQc}pi5?Q=aojT3ceJRI&kBWQDs zc(3d2wfe}kLl7r8bl`5Oop>adz@y7M38~Q=tBP*nZvsRb$Z>{H>2xcpH%T@6T*)0U zA!nGs#Pz#a`O-_!^UFK|A1toG<2=Ks;Y_iAm;>Y?U9)dt*?6R20Z8IM*SJDVyuhAg zx5uOhB+kA5>@T`dF*XQ4;+vqtcY+8g0|pF~t4 zlOZM`s~S2$X-Ss*=>zguWdDv{%x17qX65&beiug4{EVu@w$&Mc=T-AM6NmvCf{6!4 zA_q2vd)@a~4swQs0!Smah-XQDE~K};Iixg^yHPOI?vwTn2V5R);+(7WW}p%+3cu16 z%cxSb1wq&yHA0Ir%J&coS*ou@w9NC8=ir%#smE}U$F1E;$`-Lcp|>N? za<@w9rr>Al!BOjy&`Het_Nbya_*%1cO%PU=%qD`2O7PTxNko;Li2e{2^0$#IKG5v9 zY6m7e{Z~Snq};~e=Gm$W`=iT!Rs2{(f#swXh~D|t+^rCsQcN-l@P#dq-AfWj%^c0D z4Jy&AB`+}VQ=mp&o=*ehgaWIv=44MM@sl62?PUfEP3pX~f7m^Mbt-DyY0SI`a=2gf z*oJ9W?JANtTjG5s8yVLU+9DC{KCs4`$5%^xHDJuuX$vdiq2P_ifua3OoPUv}-cI99 zqamcDkC??i6?3s8)&bZeO>&1gt*IJ0{)O(&oNHLHjK`p07}Po0wZyD^6PC4RAL#iKa8TFn5Pg^CJj)yjo=NJ zHnX=CV-ibu3?in%Yr##8i)<3!nD%Lt8`jPkpymH6lRaqOzX_PFzII->TvNDzF`k17NDbcTQ=o~c3P(46B;});E13t2Dn~;C4-*0 zvngO$XVoRO_>H-tPGw*bpD0;WX&G^ZQV3bVnJX~!kJbNwQG@;u29U40?rl|a?sO(Q z;jYyh#IbrCR{7}>h(ZC|Oru-+$|Jy*W0+Ha?%I4B0)Pd1%FQv}Nld;rgv7!gDy=-v zetjA51@GRmvvv*we~aygZ-SnGX!&@Fz3LUO|2_+WDzi;y63?XV9F7iJAic(wK_tM% zK=@NqIrY+|6YO53FfL7S71;G z{ORhBYsDJDZ4x|(-ySio7ZNN5Eb8YI!Z31yJ|EUaulJAEye+ItCz3P6Aw*=;_z0rP zbHfw<(+b#sYL*V3fH$x2!XxEt{7G6Nr8In+5jgzWa8`x(@ zTM!0h?;&;wX`Iy$QJ3OBG8C5;n6RY*$#r7|VkiCn==}h-+s-~K@m6Tu9+uf=T*`+I zDR%Qr%YIJxz_omF6Ho#|5El%RK2K@p<<|ENIGQASRralApqbb&qgd;*V$yAjd$`L} z90=zByg8in1-xSlaDy+VWy{N8d8Pv2_jPKZ~UO70x5|C zMT*fPG}T|O2N>1-o^N;d(M#4a76Pz)w=z|$bibOqMEx^V7#I^EE1Ed^*2ZCg-N~xy zQ`Jdeb`4`}@O-Z&{s`J?j$H+F@?>MJ&nHLF=n1Gxe~{-$lTj&1SGpw7fmLWSg1FKl zdemf^q`q@YC7064^7DT#B)#~nLk;vK`|6~{&+yyWem$Uz0IY7Y5a$U;bip1Tb;rVf0K;kO zJ7fY9cnV!!Gs_&3t^0UMv=`)!F$$@x#mXDx*H5LG^`C+0v^0V|fqfTDY)9>FH5Cnr zI2na1v`O$_iYY_i1K~TnbCew1P_A>trL~bi*?54RzP&`L`g9>J_5e=;3=y5fw1zEs zj(zIEQ6b-?-p|HP9KTcj&|ISiocEb#j!t}m+A(QX11PwSHL9HVnYS69JUZ+|K{XSM zTpU*WKPx&JW-LpOw8d%2m(FB8nno9?VB-ODAh`Xk(8wJ;*RCUb=)pp}=33co{-=0b zRKtH^in-p+?SS(>Eq^;`SXyirBlokrrRwX&y1jYcSNmD|as&BneZQIfpKR6e>-s*^ z;4e1pR~v`w2*^^X5>A66B$tj!MiS9?0P75y4F}Fqt`XCxAgqVRopDL~&L9v4zbma~ zxIaDzqL&#UhzTIMvu4su-pUc(}M=wk;MNJ_!83^Tep|ek1m>HV@XJGhM z3zOF$GD$!QDX9>jGXNzs=qqCI@#=TW?Dsq*(UReCbu0&V%3wX0$* z3`EHBVZ>fr#;=fszYuMbnT{bzkAEy$$AjiYWCz(3-?EGwwig7NcrsX6P|!tuP-<`H zoviDc2G)kF3i8DFjz%-VyTX+uGCKj>SFO)hk0eoSf7@Y{}(3ej4Dd+|pnxY$i+Geyg4lU~>ov$?(F~Mb>C^ z@b~0;n~g=Sd_riqtPZa#8WO1hRQLKsYJ}~B*5z9nE?YwX7ElBmNQ;~D8^7A z4{>F|v{Rj>NMoYB(5WLwt>|MMx139I6+=7Lh--bF`F2}k%00WZ&@H;Cq5YMmU}3pT z`TOhMgL-XJQYikL+w{?sv43L59b)$UxgKX9%MM_xpgUwIpxzN-OK`3JGU3MWX;Ln1 zzx{eSvlBEB-8y{urt^`vAy+0;UeJ{TAHKS~V|gUG)_%MgIT9Q%92?ogtL4uPQ#e~Y z<-@wBSK580&)uvvaF?H==InwWNIjrJAxx&nqi8CMR|!@J27Shw*Y{(a!#K<^F9~&u zy9v;wYflIuj*ru$Zg^v6rn(pN96Zp)5XABCZ`YP-iP0=fffsM<5;N|E15Va2hWg=6f2N|faH{b30wKA$$qhS1S0k;}_>0&KjWyvL&kV#(KW-*P!=)b*^uNm{+ixc(8 zI5$>Kmr8wuwN$*!&=`)L$2f&|hH(yE&!*k_bdgjRU#pHI14yS7mN!vW*h_#i=oK#H`WBDv|QKPsPGWv1~ z*giUD+jwE3CrK{pVAC)ls=bO1TLI)FX%MZurn*FQx>Th((t$fe~A4aLh<#@&C|aQwOh0T zg4{wAS(e6X1Y4X4k zwUb(X$+t!V^U~0A?6{AiXi%$Xh$1Npa$OdTV)^_dn8Fc0pFQeAH({%J8?7HvjD6n^ z`a#DZ(81W+q_gTs%jZTTud@w9!6Wv+=kIJPOm~sFP#^p{3R|%j0?E4 zcnB*EWaGa=luv+yK5=OMULL25It2pIyI7oLoT@>@A^o80lH+Y92c3@?Hb!m*K?YO1 zNyKbZy|7eOKbKuPYPgp3c28JL%iv-GW**FN@vpQ; zg8uRDk8CC3UtCkn@7{KjFCO!5=%T`wFr7M%^~G(eG+rtaA~M=e`)EQ$Nk9~p zCzo98nHuv6u?RR1Oxg9sUb(u1l*>{i(pQ%`;=n~SQ0v?qpYoKJe!(%H|0TpK${bum z57XoS_ebIj6YYmHO2CPAq7^Dm4TGjHbs&C+ohPU);-}qy#JsZG znLaO3YZ^i?wm&N+**Lx{u{IZbEr}85^Luxj4ed(@VVm3=7@?p!Lr^9wSp2Doaaw=b z4Fh+wInqhAW=;e_r@Hw$W8}~-w|}KF<_4~L;dXOZt?{YjDrg_bH@u_lNVy!~3qSZ? zuoKb`E_yog+qm&E3bYiA1^l?H7S%ualvO*gp=mi%MIw-xl(x$dpy43Qn02WkOWiQ& zendqa_PqvDXqi%G@*21UXuY#i>7qvH4`UuNG#~%|;3LrIpI{lJ1l6pz-rC_8wr82y zCSB7+@&S&6VfMK{R6>E@Gd)L4?S>d)!Z3lh;)w`lFBSLO)#7GY4x=P2FTz2(b4fK| zmtA0ks-36nh?H`)PSTNNFr@H*4)l)BpT<(3Esu3G*nyc|{?n$I?d`1ty*p;h`l_Fk z)_@ZoMALz>+$gf0Z;-0Myz}5%@drBTrLs4)KQSv6L37%P9m+{;pVm;86K7r?%*l)U<-+Vg4bII>MMBV2uU)t;7 zP3v9wQ`FAjWNknNTIyyvUkaxqNb%wejIOr0<*SF_I?ZKmKEjj(P&C29b~MOyGV7Wd zW_aSEMBx&9Mw0CAq@py2%F~3pA-UMT;ak6fyzgO9tr!`L=}Gu*K*w=%#rGZFF*Xy=$p9noo2^Nqd?xIzF__odC3p zt?oT`KDC%bhcL!1XC|;#zSET2JHGY#xl7y7@&v^GXMTzVuI~jwCnO;tpFCV+!7Pv3 zOF>2mKQxPwod@dgV{%tb(@{bO&L+F|!e!fXSVyzOXdQ>6Mv%V28V3?ntF;W6C`bf4>_$6+we$;d^MgxGpho&ps~POvU)&6GX|R^xG-tj{3gdog0x}}{ z*Ui3i-g=%>H$7A#;b`UJM2K(6{7q5gNkO!K%oa{ANkn{|=sM|soRLl?a|Qq)?n3gLqQg|Vj=JBIgQV5OIVshf-$O;h>=SeM>C^!J198~cNxKP37z@`TpZS>^0L)dh|& z`fH%rr&mI#t@QoLs@~uNs{b+Wzy8m7>(-x&X{&-gI>=H}pu9sghZ-xZLVw<|D!t|gt8Z#mYO&NQjo?@~N?Q<-2l)4msaNtQw`QPg8GS{=k+ zO#aQ1l)BIw7R-bSD|qVw$S3Ra9eBepdzNNt{dJ;Hdp9CEZsr(}6F5YU{TjsAGres- zKcte3Okt$v@mLrJMLoBto)TNwY3to8l){-1}?5bHX2ibz8+nxB1p}) zY7?`>G{R31>zS-yd8KG}tj=F%q%weaT+{v~~VX6w^}J+`=BEAvmgz48M7iyi;U3!l}l z)5d1-hxxwIllMhGR{f;04^02K$oFUd_ZRl#3VvMjM@4{1ts{Bow=^nJL$$?mwVYHj zx-52*TW%(tDjLG6`UwTSB3S=v{pWC?RQc|z{YQv6yi)(zMrkLb9%Coy8auGMha|)% z2hQrDoDN}W9}}b3;1-SYYc8c`dGU7Of5ZVJwZd|%nw-5P2d@p%!+wp$H3d#cuCp4j zSOfD*RkysuVub_QAG={Rcii~(brJ52clfeFOvPg{qX@5!Jfv*nDjUP`gZ^7y_c3#a zAGs`ht#E1gtwz7A3n7m zasf>(b(p%UEYlnhOcHn`?2%M{ngfKd^o-1hg>oR;#eGk9oF6BSR2w+Vk75aDKD^*T zc7J|02V7$FO10$kcq4zhfn}KsAK{aMQVRwsu<2D8l%McGqW@8Zwd>K{%c=F*=qEu< zD+V+J`*hqWq#|2@L6yp%EoRN6-koZMb}a6xyAqcl+sYkh+HOtSOs^nIiS8l6vy6*+ zh}k{3$}C8a8(kVzP)h0yvr78;Y-mKp0+yf04Y59Q-^8{j&WHQgxo$z}gx&6zx=Yj7D9QNc|Uup!t6v6`>6u3anK8NuxEGYMtQzF>lsj zzS{ud_p5%%NpO?F|Esia{&^`xmwOKh72S_0-!G$;h>WoO?u&i=YqFCz;@!RsxrN_A+@HVOPn1G zAg|WYJ6`|%I@Lr`-v|oF*}d~#Z4DeAqJW1vhu;vIi-WBsfJ?YnfiUXjyn9Fn5a>u( zeqd5b%Kzv8Vjw^3%)M>|TFHj3=U>%mms*X1lKG*0@`PG_Mbi9)ZYKyZM-92JnI{j5 zYZB19PC^a>>$rg#7%^%MUDxo;d9{9_vU3Qi#^zjz9~BSxnpvwhbi;|-)7{$%{*iXH z&G3b~TBAyHO{hD@#Wu!!Xh^m3W*$az+P)`P^QPD0nAhe%6~7DN&^aUTb3u!Vo78wK zb?q)As=@!T?v1df|E`48GL!=7dI;O#pbsQogAd(Dm(KYBU#;*lu~ z-*Bt&F$0VHVpmvzg{<%O&)?F4 z)IN?%K^6IJEhSRGx*#YUM*GrydC{;DBR-_byIe={#Mh?^U+ll#UZQ`%B9R?w*cy)6 z=C8`|UIB!ggqQF9!--3{)FbeA8tknh3=S|00J=7lfCXWWfu|*Q!iw|H*EP-Zsma@dhmz|lQ(LuydA!xB*Jnr~R;|(e;Mu^OZ*GV_cU!MN(-uH7 z%G0RB3IWX)yf?Nuz0< zm)HQ2B#z;moU__21xF&Ozq9){E21erOPei-J*|TK8OhR{EKgK#-)^#r8l6MTqF9W; zI3JPcY@wrR$GtWxtoD%(ob&r1I*sWrGa`d&>OmM-RBdR6Uo(#D`Nyx@j(%wiC|#d2 z3(3wyZeo1)3+VIhi1fmy=9Mk~d{dp022(dtNhC83%bo6ll*+)GdkZQ$dXnnNhV^^) z>vUr%EvH3V{);C~;nK+%nU9eI&g3b)y&IL&`k?bBe`@jPT@KmKYxFb z-x&-z@ZMh8{~G}3#@Qwl|8J0gb~M&c(F(|B*`2e0Zt6$o zm2O@|NP6^!0=&v79`?+kddc*+l@L1+5D=)uF6Q@7wEKpxtXs)w`^LR?7OAbTid{Ru z(r)o|;cV90*~AAis>U!jTTxsoz~lDH_u(E_Gz2yBERv@M6tv^(oI)Xf7MYy_A7HjJYnTnc$`GPz`IEM8Wn>HHj``>{J zDhY{dyZbv;3RR*;r1g4S^&&QwY_KDHKiAWd!?wGq%7E`U{?Hwc2rvT&7XsCFMP)z* z5vWOSLrLyl(9m_WilDChb3ftmEMkegr23Ign0w2Ha1>8G5nQW~X#y+eR9svMHF~s+ zu<(?^n7o2}E$V|6$%G&>?@JZ!&w`Myv7}@NS|0&=Sr&yAcFCC6Q9i~^9OR2}aJVERz6U=!GAg)$svcU2=Fc8lY3{-=Yu z_9I*Y4#@7<$Hcnta*#yp;th=b$S^1LMBaz4Tfl!gYteJ~ov?>bZ5gtON?pZG{15&5 zhbB#Ud3djEoKq~CLBm38lH}HahmF4^BUT*ud??8>O%6Q%C-hmICbTDp^l!2Net@<^ zA5$P!TkgKskH?J+wjM}M`w(qr=&Lp6=c90hG@)gpejW=CSJd-lm>F#^I0K*ok;YLo z&Y+kB5zI2qYt8p?pq)Tl6OQmTN92~C9nGo$b{F0kNyP(^MbUk(^XE-t3lfPC2>|;P z0f8;7G9PXIrm7(RF$y2Auzrl+R}!N-DAlRZz$YufC$CqQvA*3&K78Zg1rI4jF6!&yWKeDkN!TQ`S>VC9@ffx~1YQXij8 zMMB-upVP=G4FFsN5RI9dI~wCLlIS|t`-Y+B8oI7gU-(&fExcz8{jm zz7L&p-Nn`h1V4&Jq?NEexi%2RIUo#Iv~XsDboYvq)gVxDD2U8VHYl`57GgiY8^9`h*i ze=PHFb$#!1_kKnx4RT6cnT&$ioME%%P=cAol^ApivB+Q7iLX;{Ab2CctC#V3*WrYw zDmVAi)XApwbKGVGf-`v|2KW?+N15L>#3gQMUbs?y@Q~;>^LXsLX{yuMe8*3JE}Gtk z(C-fRy3{=bteS}cmcQmW`TlI!0EJpw5i{^HTrs5cnpESUuc}{(&R(|5#*zaWp7B1i0!Mi{z?Y{XyjkvCxqPO5eg4Gx z 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 literal 0 HcmV?d00001 diff --git a/icons/wallet/icon.png b/icons/wallet/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5044fc515387a24ea72aa8537ef00dd4dcb7a8c4 GIT binary patch literal 4662 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 literal 0 HcmV?d00001 diff --git a/icons/wallet/icon2x.png b/icons/wallet/icon2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ae3215068d26f95a17e7d5bbd2eec9df1215ed GIT binary patch literal 10356 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 literal 0 HcmV?d00001 diff --git a/interface/.eslintrc.yml b/interface/.eslintrc.yml new file mode 100644 index 0000000..f30336e --- /dev/null +++ b/interface/.eslintrc.yml @@ -0,0 +1,17 @@ +env: # don't warn about no-def meteor keywords + meteor: true + +rules: + no-undef: 0 + no-var: 0 + prefer-arrow-callback: 0 + prefer-template: 0 + no-underscore-dangle: + - error + - allow: ['_id', '_escape', '__'] + +globals: + Helpers: true + Blaze: true + EthAccounts: true + mist: true diff --git a/interface/.meteor/.finished-upgraders b/interface/.meteor/.finished-upgraders new file mode 100644 index 0000000..aa60704 --- /dev/null +++ b/interface/.meteor/.finished-upgraders @@ -0,0 +1,15 @@ +# This file contains information which helps Meteor properly upgrade your +# app when you run 'meteor update'. You should check it into version control +# with your project. + +notices-for-0.9.0 +notices-for-0.9.1 +0.9.4-platform-file +notices-for-facebook-graph-api-2 +1.2.0-standard-minifiers-package +1.2.0-meteor-platform-split +1.2.0-cordova-changes +1.2.0-breaking-changes +1.3.0-split-minifiers-package +1.4.0-remove-old-dev-bundle-link +1.4.1-add-shell-server-package diff --git a/interface/.meteor/.gitignore b/interface/.meteor/.gitignore new file mode 100644 index 0000000..4083037 --- /dev/null +++ b/interface/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/interface/.meteor/.id b/interface/.meteor/.id new file mode 100644 index 0000000..e201474 --- /dev/null +++ b/interface/.meteor/.id @@ -0,0 +1,7 @@ +# This file contains a token that is unique to your project. +# Check it into your repository along with the rest of this directory. +# It can be used for purposes such as: +# - ensuring you don't accidentally deploy one app on top of another +# - providing package authors with aggregated statistics + +1vzgwat16lvg098rknpa diff --git a/interface/.meteor/packages b/interface/.meteor/packages new file mode 100644 index 0000000..2b36f0b --- /dev/null +++ b/interface/.meteor/packages @@ -0,0 +1,46 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +less@2.7.8 +tap:i18n +jeeeyul:moment-with-langs +ostrio:templatehelpers +raix:handlebar-helpers +frozeman:animation-helper +frozeman:template-var +frozeman:reactive-timer +frozeman:storage +frozeman:global-notifications +reactive-var@1.0.11 +sacha:spin +chuangbo:cookie +agnito:simptip +mrt:jquery-ui-sortable +ethereum:web3 +ethereum:elements +ethereum:accounts +ethereum:blocks +ethereum:dapp-styles +meteor-base@1.0.4 +mobile-experience@1.0.4 +mongo@1.1.14 +blaze-html-templates +session@1.1.7 +jquery@1.11.10 +tracker@1.1.1 +logging@1.1.16 +reload@1.1.11 +random@1.0.10 +ejson@1.0.13 +spacebars +check@1.2.4 +standard-minifier-css@1.3.2 +standard-minifier-js@1.2.1 +tap:i18n-bundler +shell-server +ecmascript +numeral:numeral +numeral:languages diff --git a/interface/.meteor/platforms b/interface/.meteor/platforms new file mode 100644 index 0000000..8a3a35f --- /dev/null +++ b/interface/.meteor/platforms @@ -0,0 +1,2 @@ +browser +server diff --git a/interface/.meteor/release b/interface/.meteor/release new file mode 100644 index 0000000..61f6c67 --- /dev/null +++ b/interface/.meteor/release @@ -0,0 +1 @@ +METEOR@1.4.2.3 diff --git a/interface/.meteor/versions b/interface/.meteor/versions new file mode 100644 index 0000000..06f82b3 --- /dev/null +++ b/interface/.meteor/versions @@ -0,0 +1,107 @@ +3stack:bignumber@2.0.7 +agnito:simptip@0.0.1 +aldeed:simple-schema@1.5.3 +alexvandesande:identicon@2.0.2 +allow-deny@1.0.5 +amplify@1.0.0 +autoupdate@1.3.12 +babel-compiler@6.13.0 +babel-runtime@1.0.1 +base64@1.0.10 +binary-heap@1.0.10 +blaze@2.2.0 +blaze-html-templates@1.0.5 +blaze-tools@1.0.10 +boilerplate-generator@1.0.11 +caching-compiler@1.1.9 +caching-html-compiler@1.0.7 +callback-hook@1.0.10 +cfs:http-methods@0.0.32 +check@1.2.4 +chuangbo:cookie@1.1.0 +coffeescript@1.11.1_4 +cosmos:browserify@0.10.0 +ddp@1.2.5 +ddp-client@1.3.2 +ddp-common@1.2.8 +ddp-server@1.3.12 +deps@1.0.12 +diff-sequence@1.0.7 +ecmascript@0.6.1 +ecmascript-runtime@0.3.15 +ejson@1.0.13 +ethereum:accounts@0.3.12 +ethereum:blocks@0.3.2 +ethereum:dapp-styles@0.5.7 +ethereum:elements@0.7.18 +ethereum:tools@0.6.0 +ethereum:web3@0.15.3 +fastclick@1.0.13 +frozeman:animation-helper@0.2.6 +frozeman:global-notifications@0.2.1 +frozeman:persistent-minimongo@0.1.8 +frozeman:reactive-timer@0.1.7 +frozeman:storage@0.1.9 +frozeman:template-var@1.3.0 +geojson-utils@1.0.10 +hot-code-push@1.0.4 +html-tools@1.0.11 +htmljs@1.0.11 +http@1.2.10 +id-map@1.0.9 +jeeeyul:moment-with-langs@2.12.1 +jquery@1.11.10 +launch-screen@1.1.0 +less@2.7.8 +livedata@1.0.18 +localstorage@1.0.12 +logging@1.1.16 +mdg:validation-error@0.2.0 +meteor@1.6.0 +meteor-base@1.0.4 +meteorspark:util@0.2.0 +minifier-css@1.2.15 +minifier-js@1.2.15 +minimongo@1.0.19 +mobile-experience@1.0.4 +mobile-status-bar@1.0.13 +modules@0.7.7 +modules-runtime@0.7.7 +mongo@1.1.14 +mongo-id@1.0.6 +mrt:jquery-ui-sortable@1.10.3 +npm-mongo@2.2.11_2 +numeral:languages@1.5.3 +numeral:numeral@1.5.3_1 +observe-sequence@1.0.14 +ordered-dict@1.0.9 +ostrio:templatehelpers@1.1.3 +promise@0.8.8 +raix:eventemitter@0.1.3 +raix:handlebar-helpers@0.2.5 +random@1.0.10 +reactive-dict@1.1.8 +reactive-var@1.0.11 +reload@1.1.11 +retry@1.0.9 +routepolicy@1.0.12 +sacha:spin@2.3.1 +session@1.1.7 +shell-server@0.2.1 +spacebars@1.0.13 +spacebars-compiler@1.0.13 +standard-minifier-css@1.3.2 +standard-minifier-js@1.2.1 +standard-minifiers@1.0.6 +tap:i18n@1.8.2 +tap:i18n-bundler@0.3.0 +templating@1.2.15 +templating-compiler@1.2.15 +templating-runtime@1.2.15 +templating-tools@1.0.5 +tracker@1.1.1 +ui@1.0.12 +underscore@1.0.10 +url@1.0.11 +webapp@1.3.12 +webapp-hashing@1.0.9 diff --git a/interface/client/actions.js b/interface/client/actions.js new file mode 100644 index 0000000..deb5a67 --- /dev/null +++ b/interface/client/actions.js @@ -0,0 +1,15 @@ +exports.getLanguage = function getLanguage() { + return function(dispatch) { + dispatch({ type: '[CLIENT]:GET_LANGUAGE:START' }); + try { + const lang = ipc.sendSync('backendAction_getLanguage'); + TAPi18n.setLanguage(lang); + dispatch({ + type: '[CLIENT]:GET_LANGUAGE:SUCCESS', + payload: { i18n: lang } + }); + } catch (error) { + dispatch({ type: '[CLIENT]:GET_LANGUAGE:FAILURE', error }); + } + }; +}; diff --git a/interface/client/appStart.js b/interface/client/appStart.js new file mode 100644 index 0000000..f7e173a --- /dev/null +++ b/interface/client/appStart.js @@ -0,0 +1,96 @@ +const { getLanguage } = require('./actions.js'); + +/** +The init function of Mist + +@method mistInit +*/ +mistInit = function() { + console.info('Initialise Mist Interface'); + + EthBlocks.init(); + const ethBlocksInterval = setInterval(() => { + if (_.isEmpty(EthBlocks.latest)) { + EthBlocks.init(); + } else { + clearInterval(ethBlocksInterval); + } + }, 500); + + Tabs.onceSynced.then(function() { + if (location.search.indexOf('reset-tabs') >= 0) { + console.info('Resetting UI tabs'); + + Tabs.remove({}); + } + + if (!Tabs.findOne('browser')) { + console.debug('Insert tabs'); + + Tabs.insert({ + _id: 'browser', + url: 'https://ethercore.org', + redirect: 'https://ethercore.org', + position: 0 + }); + } else { + Tabs.upsert( + { _id: 'browser' }, + { + $set: { position: 0 } + } + ); + } + + // overwrite wallet on start again, but use $set to preserve account titles + Tabs.upsert( + { _id: 'wallet' }, + { + $set: { + url: 'https://ethercore.org', + redirect: 'https://ethercore.org', + position: 1, + permissions: { + admin: true + } + } + } + ); + + // on first use of Mist, show the wallet to nudge the user to create an account + if ( + !LocalStore.get('selectedTab') || + !Tabs.findOne(LocalStore.get('selectedTab')) + ) { + LocalStore.set('selectedTab', 'wallet'); + } + }); +}; + +Meteor.startup(function() { + console.info('Meteor starting up...'); + + if (!location.hash) { + // Main window + EthAccounts.init(); + mistInit(); + } + + store.dispatch(getLanguage()); + + // change moment and numeral language, when language changes + Tracker.autorun(function() { + if (_.isString(TAPi18n.getLanguage())) { + const lang = TAPi18n.getLanguage().substr(0, 2); + moment.locale(lang); + try { + numeral.language(lang); + } catch (err) { + console.warn( + `numeral.js couldn't set number formating: ${err.message}` + ); + } + EthTools.setLocale(lang); + } + }); +}); diff --git a/interface/client/collections.js b/interface/client/collections.js new file mode 100644 index 0000000..2451f6e --- /dev/null +++ b/interface/client/collections.js @@ -0,0 +1,39 @@ +/** + +@module Collections +*/ + +// BROWSER RELATED +// Contains the accounts +Tabs = new Mongo.Collection('tabs', { connection: null }); +LastVisitedPages = new Mongo.Collection('last-visted-pages', { + connection: null +}); +History = new Mongo.Collection('history', { connection: null }); + +// Sync collection from and to the backend loki.js +if (typeof window.dbSync !== 'undefined') { + Tabs = window.dbSync.frontendSyncInit(Tabs); + LastVisitedPages = window.dbSync.frontendSyncInit(LastVisitedPages); + History = window.dbSync.frontendSyncInit(History); +} + +// ETHEREUM RELATED + +// Accounts collection is add by the ethereum:accounts package + +// LastBlock collection is add by the ethereum:accounts package + +// contains blockchain meta data +// LastBlock = new Mongo.Collection('lastblock', {connection: null}); +// new PersistentMinimongo2(LastBlock, 'Mist'); +// if(!LastBlock.findOne('latest')) +// LastBlock.insert({ +// _id: 'latest', +// blockNumber: 0, +// blockHash: 0, +// gasPrice: 0, +// checkpoint: 0 +// }); + +// Blockchain = new Mongo.Collection('blockchain', {connection: null}); diff --git a/interface/client/lib/ethereum/1_web3js_init.js b/interface/client/lib/ethereum/1_web3js_init.js new file mode 100644 index 0000000..bee60f5 --- /dev/null +++ b/interface/client/lib/ethereum/1_web3js_init.js @@ -0,0 +1,10 @@ +// set providor +if (typeof web3 !== 'undefined') { + console.info('Web3 already initialized, re-using provider.'); + + web3 = new Web3(web3.currentProvider); +} else { + console.info('Web3 not yet initialized, doing so now with HttpProvider.'); + + web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545')); +} diff --git a/interface/client/lib/helpers/helperFunctions.js b/interface/client/lib/helpers/helperFunctions.js new file mode 100644 index 0000000..148ea74 --- /dev/null +++ b/interface/client/lib/helpers/helperFunctions.js @@ -0,0 +1,438 @@ +/** +Helper functions + +@module Helpers +**/ + +/** +The Helpers class containing helper functions + +@class Helpers +@constructor +**/ +Helpers = {}; + +/** +The preloader dirname + +@property preloaderDirname +**/ +Helpers.preloaderDirname = window.dirname + '/modules/preloader'; + +/** +Reruns functions reactively, based on an interval. Use it like so: + + Helpers.rerun['10s'].tick(); + + +@method rerun +**/ +Helpers.rerun = { + '10s': new ReactiveTimer(10), + '1s': new ReactiveTimer(1) +}; + +/** +Get the webview from either and ID, or the string "browser" + +@method getWebview +@param {String} id The Id of a tab or the string "browser" +*/ +Helpers.getWebview = function(id) { + return $('webview[data-id="' + id + '"]')[0]; +}; + +/** +Get tab by url and return the id + +@method getTabIdByUrl +@param {String} url +@return {String} id +*/ +Helpers.getTabIdByUrl = function(url, returnEmpty) { + var tabs = Tabs.find().fetch(); + url = Helpers.sanitizeUrl(url); + + var foundTab = _.find(tabs, function(tab) { + if (tab._id === 'browser' || !tab.url) { + return false; + } + var tabOrigin = new URL(tab.url).origin; + return url && new URL(url).origin.indexOf(tabOrigin) === 0; + }); + + // switch tab to browser + if (foundTab) { + foundTab = foundTab._id; + } else { + foundTab = 'browser'; + } + + return foundTab; +}; + +/** +Format Urls, e.g add a default protocol if on is missing. + +@method formatUrl +@param {String} url +**/ +Helpers.formatUrl = function(url) { + if (!url) return; + + // add http:// if no protocol is present + if (url.length === 64 && !!url.match(/^[0-9a-f]+$/)) { + // if the url looks like a hash, add bzz + url = 'bzz://' + url; + } else if (!!url.match(/^([a-z]*:\/\/)?[^/]*\.eth(\/.*)?$/i)) { + // if uses .eth as a TLD + url = 'bzz://' + url.replace(/^([a-z]*:\/\/)?/i, ''); + } else if (!!url.match(/^[^\.\/]*$/i)) { + // doesn't have a protocol nor a TLD + url = 'bzz://' + url + '.eth'; + } else if (url.indexOf('://') === -1) { + // if it doesn't have a protocol + url = 'http://' + url; + } + + return url; +}; + +/** +Sanatizes URLs to prevent phishing and XSS attacks + +@method sanitizeUrl +@param {String} url +**/ +Helpers.sanitizeUrl = function(url, returnEmptyURL) { + url = String(url); + + url = url.replace(/[\t\n\r\s]+/g, ''); + url = url.replace(/^[:\/]{1,3}/i, 'http://'); + + if (returnEmptyURL && /^(?:file|javascript|data):/i.test(url)) { + url = false; + } + + return url; +}; + +/** +Takes an URL and creates a breadcrumb out of it. + +@method generateBreadcrumb +@return Spacebars.SafeString +**/ +Helpers.generateBreadcrumb = function(url) { + var filteredUrl; + var pathname; + + filteredUrl = { + protocol: Blaze._escape(url.protocol), + host: Blaze._escape(url.host), + pathname: Blaze._escape(url.pathname), + search: Blaze._escape(url.search), + hash: Blaze._escape(url.hash) + }; + + filteredUrl.pathname += filteredUrl.search.replace(/\?/g, '/'); + filteredUrl.pathname += filteredUrl.hash.replace(/#/g, '/'); + + pathname = _.reject( + filteredUrl.pathname.replace(/\/$/g, '').split('/'), + function(el) { + return el === ''; + } + ); + + return new Spacebars.SafeString( + filteredUrl.protocol + + '//' + + _.flatten(['' + filteredUrl.host + ' ', pathname]).join( + ' ▸ ' + ) + ); +}; + +/** +Clear localStorage + +@method getLocalStorageSize +**/ +Helpers.getLocalStorageSize = function() { + var size = 0; + if (localStorage) { + _.each(Object.keys(localStorage), function(key) { + size += localStorage[key].length * 2 / 1024 / 1024; + }); + } + + return size; +}; + +/** +Makes tab with index active + +@method selecTabWithIndex +@param {Integer} index +*/ +Helpers.selectTabWithIndex = function(index) { + var tabList = Tabs.find( + {}, + { sort: { position: 1 }, fields: { _id: 1 } } + ).fetch(); + if (index < tabList.length) { + LocalStore.set('selectedTab', tabList[index]._id); + } +}; + +/** +Makes last tab active + +@method selecLastTab +*/ +Helpers.selectLastTab = function() { + var lastTab = Tabs.findOne( + {}, + { sort: { position: -1 }, fields: { _id: 1 }, limit: 1 } + ); + LocalStore.set('selectedTab', lastTab._id); +}; + +/** +Selects previous or next tab (offset +1 or -1) + +@method selectTabWithOffset +*/ +Helpers.selectTabWithOffset = function(offset) { + var tabList; + var currentTabIndex; + var newTabIndex; + + if (Math.abs(offset) !== 1) { + return; + } + tabList = _.pluck( + Tabs.find({}, { sort: { position: 1 }, fields: { _id: 1 } }).fetch(), + '_id' + ); + currentTabIndex = tabList.indexOf(LocalStore.get('selectedTab')); + + newTabIndex = (currentTabIndex + offset) % tabList.length; + if (newTabIndex < 0) { + newTabIndex = tabList.length - 1; + } + + LocalStore.set('selectedTab', tabList[newTabIndex]); +}; + +/** +Detect Network + +@method detectNetwork +**/ +Helpers.detectNetwork = function(hash) { + var network = {}; + + switch (hash) { + case '0x9bc5f1def3b96ac2b4a6d7f8a5047d6db2451328eb9469df48c06a6a4a4f3734': + console.log('Network is mainnet'); + network.type = 'mainnet'; + network.name = 'Main'; + break; + + case '0x882bef94a19a1ea0dce9cb602fec35f82164535e641e4898ddc8a0ab6ecbd2f5': + console.log('Network is Testnet'); + network.type = 'testnet'; + network.name = 'Testnet'; + break; + + default: + console.log('Network is privatenet'); + network.type = 'privatenet'; + network.name = 'Private'; + } + + return network; +}; + +/** +Displays an error as global notification + +@method displayError +@param {Object} error The error object +@param {Boolean} accounts will show the accounts errors +@return {Boolean} +**/ +// Helpers.displayError = function(error, accounts) { +// var duration = 8; + +// if(error) { + +// if(error.reason){ +// // hack to make account errors still work +// if(accounts) { +// GlobalNotification.error({ +// content: 'i18n:accounts.error.' + error.reason.toLowerCase().replace(/[ ]+/g, ''), +// duration: duration +// }); + +// } else { +// GlobalNotification.error({ +// content: 'i18n:'+ error.reason, +// duration: duration +// }); +// } +// } else if(error.message) { +// GlobalNotification.error({ +// content: error.message, +// duration: duration +// }); +// } else { +// GlobalNotification.error({ +// content: error, +// duration: duration +// }); +// } + +// return true; + +// } else +// return false; +// }; + +/** +Get form values and build a parameters object out of it. + +@method formValuesToParameters +@param {Element} elements DOM-Elements elements, selects, inputs and textareas, to get values from. Must have a name tag +@return {Object} An object with parameters to pass to the API Controller e.g.: + + { + key1: 'value1', + key2: 'value2' + } +**/ +// Helpers.formValuesToParameters = function(elements) { +// var parameters = {}; + +// $(elements).each(function(){ +// var $element = $(this), +// name = $element.attr('name'), +// value = $element.val(); + +// // add only values wich are not null or empty +// if(name && !_.isEmpty(value) && value !== 'null' && value !== 'NULL') { +// if(_.isFinite(value)) +// parameters[name] = parseInt(value); +// else if(_.isBoolean(value)) +// parameters[name] = (value === 'true' || value === 'True' || value === 'TRUE') ? true : false; +// else if($element.attr('type') === 'radio') +// parameters[name] = ($element.is(':checked')) ? true : false; +// else if($element.attr('type') === 'checkbox') +// parameters[name] = ($element.is(':checked')) ? true : false; +// else +// parameters[name] = value; +// } +// $element = null; +// }); + +// return parameters; +// }; + +/** +Reactive wrapper for the moment package. + +@method moment +@param {String} time a date object passed to moment function. +@return {Object} the moment js package +**/ +// Helpers.moment = function(time){ + +// // react to language changes as well +// TAPi18n.getLanguage(); + +// if(_.isFinite(time) && moment.unix(time).isValid()) +// return moment.unix(time); +// else +// return moment(time); + +// }; + +/** +Formats a timestamp to any format given. + + Helpers.formatTime(myTime, "YYYY-MM-DD") + +@method formatTime +@param {String} time The timstamp, can be string or unix format +@param {String} format the format string, can also be "iso", to format to ISO string, or "fromnow" +@return {String} The formated time +**/ +// Helpers.formatTime = function(time, format) { //parameters + +// // make sure not existing values are not Spacebars.kw +// if(format instanceof Spacebars.kw) +// format = null; + +// if(time) { + +// if(_.isString(format) && !_.isEmpty(format)) { + +// if(format.toLowerCase() === 'iso') +// time = Helpers.moment(time).toISOString(); +// else if(format.toLowerCase() === 'fromnow') { +// // make reactive updating +// Helpers.rerun['10s'].tick(); +// time = Helpers.moment(time).fromNow(); +// } else +// time = Helpers.moment(time).format(format); +// } + +// return time; + +// } else +// return ''; +// }; + +/** +Formats a given number + + Helpers.formatNumber(10000, "0.0[000]") + +@method formatNumber +@param {Number|String|BigNumber} number the number to format +@param {String} format the format string e.g. "0.0[000]" see http://numeraljs.com for more. +@return {String} The formated time +**/ +// Helpers.formatNumber = function(number, format){ +// if(format instanceof Spacebars.kw) +// format = null; + +// if(number instanceof BigNumber) +// number = number.toString(10); + +// format = format || '0,0.0[0000]'; + +// if(!_.isFinite(number)) +// number = numeral().unformat(number); + +// if(_.isFinite(number)) +// return numeral(number).format(format); +// }; + +/** +Formats a given number toa unit balance + + Helpers.formatBalance(10000, "0.0[000]") + +@method formatBalance +@param {Number|String|BigNumber} number the number to format +@param {String} format the format string e.g. "0.0[000]" see http://numeraljs.com for more. +@return {String} The formated balance including the unit +**/ +// Helpers.formatBalance = function(number, format){ +// number = web3.fromWei(number, LocalStore.get('etherUnit')); + +// return Helpers.formatNumber(number, format) +' '+ LocalStore.get('etherUnit'); +// }; diff --git a/interface/client/lib/helpers/templateHelpers.js b/interface/client/lib/helpers/templateHelpers.js new file mode 100644 index 0000000..c2296f7 --- /dev/null +++ b/interface/client/lib/helpers/templateHelpers.js @@ -0,0 +1,167 @@ +/** +Helper functions + +@module Helpers +**/ + +/** +Global template helpers + +@class TemplateHelpers +@constructor +**/ + +/** +A simple template helper to log objects in the console. + +@method (debug) +**/ +Template.registerHelper('debug', function(object) { + console.log(object); +}); + +/** +Returns the current block + +@method (CurrentBlock) +**/ +Template.registerHelper('CurrentBlock', function() { + return EthBlocks.latest; +}); + +/** +Return the dirname. + +@method (dirname) +**/ +Template.registerHelper('dirname', function() { + return window.dirname; +}); + +/** +Return the Mist API. + +@method (mist) +**/ +Template.registerHelper('mist', function() { + return window.mist; +}); + +/** +Return the app mode. + +@method (mode) +**/ +Template.registerHelper('mode', function() { + return window.mistMode; +}); + +/** +Return the friendly app name. + +@method (appName) +**/ +Template.registerHelper('appName', function() { + return window.mistMode === 'mist' ? 'Mist' : 'EtherCore Wallet'; +}); + +/** +Return the app icon path. + +@method (iconPath) +**/ +Template.registerHelper('appIconPath', function() { + return ( + 'file://' + window.dirname + '/icons/' + window.mistMode + '/icon2x.png' + ); +}); + +/** +Get all accounts + +@method (accounts) +**/ +Template.registerHelper('accounts', function(identity) { + return EthAccounts.find({}, { sort: { name: 1 } }); +}); + +/** +Check if the given wallet is a watch only wallet, by checking if we are one of owners in the wallet. + +@method (isWatchOnly) +@param {String} id the id of the wallet to check +**/ +Template.registerHelper('isWatchOnly', Helpers.isWatchOnly); + +/** +Return the right wallet icon + +@method (walletIcon) +**/ +Template.registerHelper('walletIcon', function() { + var icon = ''; + + if (this.type === 'wallet') { + if (Helpers.isWatchOnly(this._id)) { + icon = ''; + } else { + icon = ''; + } + } else if (this.type === 'account') { + icon = ''; + } + + return new Spacebars.SafeString(icon); +}); + +/** +Get the account name or display the address + +@method (accountNameOrAddress) +@param {String} address +*/ +Template.registerHelper('accountNameOrAddress', function(address) { + var account = EthAccounts.findOne({ address: address }); + if (account) { + return account.name; + } else { + return address; + } +}); + +/** +Formats a timestamp to any format given. + + {{formatTime myTime "YYYY-MM-DD"}} + +@method (formatTime) +@param {String} time The timstamp, can be string or unix format +@param {String} format the format string, can also be "iso", to format to ISO string, or "fromnow" +//@param {Boolean} realTime Whether or not this helper should re-run every 10s +@return {String} The formated time +**/ +Template.registerHelper('formatTime', Helpers.formatTime); + +/** +Formats a number. + + {{formatNumber myNumber "0,0.0[0000]"}} + +@method (formatNumber) +@param {String} number +@param {String} format the format string +@return {String} The formatted number +**/ +Template.registerHelper('formatNumber', Helpers.formatNumber); + +/** +Formats a number. + + {{formatBalance myNumber "0,0.0[0000]"}} + +@method (formatBalance) +@param {String} number +@param {String} format the format string +@return {String} The formatted number +**/ +Template.registerHelper('formatBalance', Helpers.formatBalance); diff --git a/interface/client/lib/signatures.js b/interface/client/lib/signatures.js new file mode 100644 index 0000000..de0705a --- /dev/null +++ b/interface/client/lib/signatures.js @@ -0,0 +1,6462 @@ +window.SIGNATURES = { + '0x063925c8': ['scheduleCall(bytes,uint256,uint256)'], + '0x523ccfa8': ['isKnownCall(address)'], + '0x0a16697a': ['targetBlock()'], + '0xea8a1af0': ['cancel()'], + '0xae45850b': ['schedulerAddress()'], + '0x3f4be889': ['callContractAddress()'], + '0x62986e27': ['Canary(address,uint16)'], + '0x8129fc1c': ['initialize()'], + '0x4a420138': ['scheduleHeartbeat()'], + '0x3defb962': ['heartbeat()'], + '0x4136aa35': ['isAlive()'], + '0xac9873c7': ['CanaryV7()'], + '0x334dc700': ['CanaryV7Testnet()'], + '0x0b9e9817': ['CanaryV7FastTestnet()'], + '0xecf6eb22': ['setConfigAddress(bytes,address)'], + '0x6099af40': ['setConfigBool(bytes,bool)'], + '0x0baaaed9': ['setConfigBytes(bytes,bytes)'], + '0xa288fb1f': ['setConfigUint(int256,bytes,uint256)'], + '0x9e997121': ['getConfigAddress(bytes)'], + '0x087e055a': ['getConfigBool(bytes)'], + '0xb38415f3': ['getConfigBytes(bytes)'], + '0x015e4f3a': ['getConfigUint(int256,bytes)'], + '0x70480275': ['addAdmin(address)'], + '0x1785f53c': ['removeAdmin(address)'], + '0x43e6125d': ['Badge(address)'], + '0x4e30a66c': ['safeToAdd(uint256,uint256)'], + '0xc74c251f': ['addSafely(uint256,uint256)'], + '0xe74b9d11': ['safeToSubtract(uint256,uint256)'], + '0x3416f9d4': ['subtractSafely(uint256,uint256)'], + '0x70a08231': ['balanceOf(address)'], + '0xa9059cbb': ['transfer(address,uint256)'], + '0x23b872dd': ['transferFrom(address,address,uint256)'], + '0x095ea7b3': ['approve(address,uint256)'], + '0xdd62ed3e': ['allowance(address,address)'], + '0xd35f4a99': ['mint(int256,address,uint256)'], + '0x13af4035': ['setOwner(address)'], + '0x26070774': ['Token(address)'], + '0x80a23ddf': ['mintBadge(int256,address,uint256)'], + '0x2b297f9e': ['registerDao(address)'], + '0x6637b882': ['setDao(address)'], + '0x3f2965f0': ['registerSeller(address)'], + '0xac900c2d': ['unregisterSeller(address)'], + '0x18160ddd': ['totalSupply()'], + '0xdfcbb794': ['TrustFund(address,uint256,address)'], + '0x69d89575': ['releaseFunds()'], + '0xdd2ad311': ['scheduleCall(bytes,uint256)'], + '0x7f497550': ['scheduleTransfer(address,uint256,uint256)'], + '0x1e39499d': ['scheduleCall(address,bytes,uint256)'], + '0x075fe877': ['scheduleCall(address,bytes,uint256,uint256)'], + '0x6b069710': ['scheduleCall(address,bytes,uint256,uint256,uint8)'], + '0xb7aec6a5': ['scheduleCall(address,bytes,uint256,uint256,uint8,uint256)'], + '0xf37b437b': [ + 'scheduleCall(address,bytes,uint256,uint256,uint8,uint256,uint256)' + ], + '0xd826f88f': ['reset()'], + '0x638560cf': ['registerBool(address,bool)'], + '0x9872a20a': ['registerUInt(address,uint256)'], + '0x1fb291cb': ['registerInt(address,int256)'], + '0x9aa26f06': ['registerBytes32(address,bytes)'], + '0x5dcbac7a': ['registerBytes(address,bytes)'], + '0x31b0795c': ['registerAddress(address,address)'], + '0x9c1500f0': [ + 'registerMany(address,uint256,int256,uint256,bytes,address,bytes)' + ], + '0x5bfdc700': ['registerData(address,int256,bytes,address)'], + '0x5dfc2e4a': ['noop()'], + '0x5629c6d9': ['doExecution(address)'], + '0x1db71ffb': ['doLoops(uint256)'], + '0x6558488a': ['scheduleSetBool(address,uint256,bool)'], + '0x6f374a12': ['setBool()'], + '0xa71f94c8': ['scheduleSetUInt(address,uint256,uint256)'], + '0x54fd4d50': ['version()'], + '0x9378a9e2': ['setUInt(uint256)'], + '0x747586b8': ['setInt(int256)'], + '0xe30081a0': ['setAddress(address)'], + '0x46d667db': ['setBytes32(bytes)'], + '0xda359dc8': ['setBytes(bytes)'], + '0xbadbaa3c': ['setCallData()'], + '0x999a9965': ['setMany(uint256,int256,uint256,bytes,address,bytes)'], + '0xf46c50dc': ['doFail()'], + '0x3809c0bf': ['doInfinite()'], + '0x9941e3d0': ['setCallAddress(address)'], + '0xac1b14ff': ['proxyCall(uint256)'], + '0x21835af6': ['__dig(uint256)'], + '0x2e9c5e77': ['doStackExtension(uint256)'], + '0x971c803f': ['getMinimumStackCheck()'], + '0x586a69fa': ['getMaximumStackCheck()'], + '0x98e00e54': ['getCallWindowSize()'], + '0xc0f68859': ['getMinimumGracePeriod()'], + '0x8e46afa9': ['getDefaultGracePeriod()'], + '0x98c9cdf4': ['getMinimumCallGas()'], + '0x26a7985a': ['getMaximumCallGas()'], + '0x96cff3df': ['getMinimumCallCost(uint256,uint256)'], + '0xb152f19e': ['getFirstSchedulableBlock()'], + '0xea27a881': ['getMinimumEndowment(uint256,uint256,uint256,uint256)'], + '0x5548c837': ['Deposit(address,address,uint256)'], + '0x7fcf532c': ['Withdrawal(address,uint256)'], + '0x5c54305e': ['InsufficientFunds(address,uint256,uint256)'], + '0x12c82bcc': ['sendRobust(address,uint256)'], + '0xc6ab4514': ['sendRobust(address,uint256,uint256)'], + '0x6d5433e6': ['max(uint256,uint256)'], + '0xc5699d68': ['_compare(int256,bytes,int256)'], + '0x45fe6e2a': ['Scheduler()'], + '0x3017fe24': ['callAPIVersion()'], + '0xe6470fbe': ['updateDefaultPayment()'], + '0xbbc6eb1f': ['getDefaultDonation()'], + '0x1e74a2d3': ['getMinimumEndowment()'], + '0xaff21c65': ['getMinimumEndowment(uint256)'], + '0xf158458c': ['getMinimumEndowment(uint256,uint256)'], + '0x7c73f846': ['getMinimumEndowment(uint256,uint256,uint256)'], + '0x1b4fa6ab': ['getDefaultStackCheck()'], + '0xdbfef710': ['getDefaultRequiredGas()'], + '0xc3a2c0c3': ['scheduleCall()'], + '0x112e39a8': ['scheduleCall(uint256)'], + '0x67beaccb': ['scheduleCall(bytes)'], + '0xf4bbfd6a': ['scheduleCall(bytes,bytes)'], + '0x04509918': ['scheduleCall(address)'], + '0xa045fdff': ['scheduleCall(address,bytes)'], + '0x4b63e601': ['scheduleCall(address,uint256,bytes)'], + '0xa6cb9e64': ['scheduleCall(address,bytes,bytes)'], + '0x3fbb539d': ['scheduleCall(address,bytes,uint256,bytes)'], + '0xa00aede9': ['scheduleCall(uint256,address)'], + '0xb5b33eda': ['scheduleCall(address,uint256)'], + '0xd8e5c048': ['scheduleCall(address,uint256,uint256)'], + '0x75f45878': ['scheduleCall(bytes,bytes,uint256)'], + '0x349501b7': ['checkDepth(uint256)'], + '0xa0bd3c0f': ['scheduleCall(address,bytes,bytes,uint256)'], + '0xc17e6817': ['sendSafe(address,uint256)'], + '0x76ca0c77': ['scheduleCall(address,bytes,uint256,bytes,uint256)'], + '0xb5d0f16e': ['getGasScalar(uint256,uint256)'], + '0x49942ccb': ['scheduleCall(bytes,bytes,uint256,uint256)'], + '0xf5562753': ['getClaimAmountForBlock(uint256)'], + '0x64bd87d6': ['scheduleCall(address,bytes,bytes,uint256,uint256)'], + '0xa9d2293d': ['lastClaimBlock()'], + '0x0e554bd8': ['scheduleCall(bytes,uint256,uint256,uint8)'], + '0xcc3471af': ['maxClaimBlock()'], + '0xaa497b9d': ['scheduleCall(address,uint256,bytes,uint256,uint256,uint8)'], + '0x0fd1f94e': ['firstClaimBlock()'], + '0x67a59d91': ['scheduleCall(address,bytes,bytes,uint256,uint256,uint8)'], + '0x4571d4c4': [ + 'FutureCall(address,uint256,uint16,address,bytes,bytes,uint256,uint256,uint256)' + ], + '0xc6236a5c': ['scheduleCall(bytes,uint256,uint256,uint8,uint256)'], + '0xc19d93fb': ['state()'], + '0x40953102': [ + 'scheduleCall(address,uint256,bytes,uint256,uint256,uint8,uint256)' + ], + '0x7d298ee3': ['beforeExecute(address,uint256)'], + '0xe7329e71': ['scheduleCall(bytes,bytes,uint256,uint256,uint8,uint256)'], + '0x09b30ed5': ['afterExecute(address)'], + '0xd6eafd08': ['scheduleCall(address,bytes,bytes,uint8,uint256[4])'], + '0x67ce940d': ['getOverhead()'], + '0x991ffd4e': [ + 'scheduleCall(address,bytes,bytes,uint256,uint256,uint8,uint256)' + ], + '0x137c638b': ['getExtraGas()'], + '0xd13d1ace': [ + 'scheduleCall(bytes,bytes,uint16,uint8,uint256,uint256,uint256,uint256,uint256)' + ], + '0xf6b4dfb4': ['contractAddress()'], + '0x38eee93e': ['scheduleCall(address,bytes,bytes,uint16,uint8,uint256[5])'], + '0xca94692d': ['abiSignature()'], + '0x9f927be7': ['getNextCall(uint256)'], + '0x48107843': ['getNextCallSibling(address)'], + '0x4e417a98': ['callData()'], + '0xd62457f6': ['callValue()'], + '0x37f4c00e': ['anchorGasPrice()'], + '0x974654f4': ['requiredGas()'], + '0x2f95b833': ['requiredStackDepth()'], + '0xd379be23': ['claimer()'], + '0x830953ab': ['claimAmount()'], + '0x3233c686': ['claimerDeposit()'], + '0x09241200': ['wasSuccessful()'], + '0xc6803622': ['wasCalled()'], + '0x95ee1221': ['isCancelled()'], + '0x4f059a43': ['getClaimAmountForBlock()'], + '0xb0f07e44': ['registerData()'], + '0x4e71d92d': ['claim()'], + '0x24032866': ['checkExecutionAuthorization(address,uint256)'], + '0x61461954': ['execute()'], + '0x0cb749b6': [ + 'FutureBlockCall(address,uint256,uint8,address,bytes,bytes,uint256,uint256,uint16,uint256,uint256)' + ], + '0x4500054f': ['isCancellable()'], + '0xa3912ec8': ['receiveEther()'], + '0x612e45a3': ['newProposal(address,uint256,string,bytes,uint256,bool)'], + '0xeceb2945': ['checkProposalCode(uint256,address,uint256,bytes)'], + '0xc9d27afe': ['vote(uint256,bool)'], + '0x237e9492': ['executeProposal(uint256,bytes)'], + '0x82661dc4': ['splitDAO(uint256,address)'], + '0x6837ff1e': ['newContract(address)'], + '0x749f9889': ['changeAllowedRecipients(address,bool)'], + '0xe33734fd': ['changeProposalDeposit(uint256)'], + '0xa1da2fb9': ['retrieveDAOReward(bool)'], + '0xcc9ae3f6': ['getMyReward()'], + '0x8a00a82f': ['withdrawRewardFor(address)'], + '0x4e10c3ee': ['transferWithoutReward(address,uint256)'], + '0xdbde1988': ['transferFromWithoutReward(address,address,uint256)'], + '0x78524b2e': ['halveMinQuorum()'], + '0x8d7af473': ['numberOfProposals()'], + '0xbe7c29c1': ['getNewDAOAddress(uint256)'], + '0xfbac3951': ['isBlocked(address)'], + '0x2632bf20': ['unblockMe()'], + '0x0386a016': ['closeProposal(uint256)'], + '0x48027610': ['transferPaidOut(address,address,uint256)'], + '0x8400c307': ['isRecipientAllowed(address)'], + '0x39d1f908': ['actualBalance()'], + '0xf42ac1de': ['minQuorum(uint256)'], + '0xd21b84ac': ['createNewDAO(address)'], + '0xd92ebe46': [ + 'createDAO(address,uint256,uint256,uint256,string,string,uint8)' + ], + '0xebae35a6': ['DAOTokenCreationProxyTransferer(address,address)'], + '0xbe2430fe': ['sendValues()'], + '0x013cf08b': ['proposals(uint256)'], + '0x8bfc2f33': ['delegateDAOTokens(uint256)'], + '0xe417291b': ['undelegateDAOTokens(uint256)'], + '0x4da74ee6': ['setVoteIntention(uint256,bool,bool,string)'], + '0xf98a4eca': ['executeVote(uint256)'], + '0xe49dcee9': ['fixTokens()'], + '0xde0ff7c5': ['getEther()'], + '0xd9fe60f3': ['DTHPool(address,address,uint256,string,string,string)'], + '0xdaa283c8': ['__callback(bytes,string)'], + '0x0221038a': ['payOut(address,uint256)'], + '0x1fd96b69': ['ManagedAccount(address,bool)'], + '0x1adf2d1a': [ + 'Offer(address,address,bytes,uint256,uint256,uint128,uint256)' + ], + '0x1bcad37a': ['getTotalCost()'], + '0x60213b88': ['getInitialWithdrawal()'], + '0x42d16748': ['getMinDailyWithdrawalLimit()'], + '0xd6b4ec12': ['getDailyWithdrawalLimit()'], + '0x262c0b72': ['getPayoutFreezePeriod()'], + '0xb6cb405b': ['getContractor()'], + '0x43bf718e': ['getHashOfTheProposalDocument()'], + '0x0c0662a8': ['getLastWithdrawal()'], + '0xb29ae23f': ['getDateOfSignature()'], + '0x59dc735c': ['getClient()'], + '0x72b75585': ['getOriginalClient()'], + '0xa00ce377': ['getIsContractValid()'], + '0xd44f2d3d': ['getInitialWithdrawalDone()'], + '0x1f7b8622': ['getVotingDeadline()'], + '0x2ca15122': ['sign()'], + '0xedfbf7b6': ['setVotingDeadline(uint256)'], + '0x6a7fc8b7': ['setDailyWithdrawLimit(uint128)'], + '0x0c08bf88': ['terminate()'], + '0x3ccfd60b': ['withdraw()'], + '0x14918f5e': ['performInitialWithdrawal()'], + '0xb6ed9f15': ['PFOffer(address,address,bytes,uint256,uint256,uint128)'], + '0x350d141e': ['getWasApprovedBeforeDeadline()'], + '0x20768ee8': ['getProposalID()'], + '0xffb7bfba': ['watchProposal(uint256)'], + '0xe45ebe93': ['checkVoteStatus()'], + '0x5d268629': ['Refund()'], + '0x29f1bff4': ['withdrawFromChildDAO(uint256)'], + '0x943b0747': [ + 'RewardOffer(address,address,bytes,uint256,uint256,uint128,uint256)' + ], + '0x1632070c': ['setRewardDivisor(uint256)'], + '0xe32e9f22': ['setDeploymentReward(uint256)'], + '0xe9540395': ['getRewardDivisor()'], + '0x525b25b1': ['getDeploymentReward()'], + '0x51cff8d9': ['withdraw(address)'], + '0xbaac5300': ['createTokenProxy(address)'], + '0x590e1ae3': ['refund()'], + '0x1f2dc5ef': ['divisor()'], + '0x69431ab6': ['TokenCreation(uint256,uint256,address,string,string,uint8)'], + '0x36dfe260': ['payOneTimeReward()'], + '0x7842a3a4': ['payReward()'], + '0xadf59f99': ['query(uint256,string,string)'], + '0xc51be90f': ['query_withGasLimit(uint256,string,string,uint256)'], + '0x77228659': ['query2(uint256,string,string,string)'], + '0x85dee34c': ['query2_withGasLimit(uint256,string,string,string,uint256)'], + '0x524f3889': ['getPrice(string)'], + '0x2ef3accc': ['getPrice(string,uint256)'], + '0x60f66701': ['useCoupon(string)'], + '0x688dcfd7': ['setProofType(bytes1)'], + '0x38cc4831': ['getAddress()'], + '0x6b3fdc5a': ['oraclize_setNetwork(uint8)'], + '0x489306eb': ['oraclize_query(string,string)'], + '0x7975c56e': ['oraclize_query(uint256,string,string)'], + '0x056e1059': ['oraclize_query(uint256,string,string,uint256)'], + '0xae152cf4': ['oraclize_query(string,string,uint256)'], + '0x346b306a': ['oraclize_query(string,string,string)'], + '0x5731f357': ['oraclize_query(uint256,string,string,string)'], + '0x65a4dfb3': ['oraclize_query(uint256,string,string,string,uint256)'], + '0x2c85f8e0': ['oraclize_query(string,string,string,uint256)'], + '0xbcf175c8': ['oraclize_cbAddress()'], + '0xd7c26adb': ['oraclize_setProof(bytes1)'], + '0xa6823189': ['parseAddr(string)'], + '0xe8641652': ['strCompare(string,string)'], + '0x8a0807b7': ['indexOf(string,string)'], + '0xff74927b': ['strConcat(string,string)'], + '0x42346c5e': ['parseInt(string)'], + '0xbf4d89b5': ['parseInt(string,uint256)'], + '0xac996e7e': ['resolvePledging()'], + '0x45a3b0bf': ['resolveFailPledge()'], + '0x299e7318': ['resolveVoting()'], + '0x921f98bb': ['resolveFailVote()'], + '0x1afccfa5': ['Proposal(address,address,address,bytes,bool)'], + '0xaed8f3da': ['partsPerBillion(uint256,uint256)'], + '0x1ba326c4': ['calcShare(uint256,uint256,uint256)'], + '0xd630bd53': ['pledgeApprove(uint256)'], + '0x40b31937': ['pledgeDecline(uint256)'], + '0xdacaeb07': ['pledge(bool,uint256)'], + '0x5a9b0b89': ['getInfo()'], + '0x4e69d560': ['getStatus()'], + '0x6386c1c7': ['getUserInfo(address)'], + '0x7daa10ce': ['getMyInfo()'], + '0xd78c20ff': ['voteApprove(uint256)'], + '0x27a5c7c6': ['voteDecline(uint256)'], + '0x10e6e06c': ['vote(bool,uint256)'], + '0x052b81c7': ['releaseBadges()'], + '0xa96f8668': ['releaseTokens()'], + '0xed01bf29': ['budget()'], + '0xdcc0ccf3': ['Dao(address)'], + '0x8a3bc2bc': ['iPropose(bytes,uint256,bool)'], + '0xbade6033': ['propose(bytes,uint256)'], + '0xd205ad7d': ['proposeDissolve(bytes)'], + '0xc7f758a8': ['getProposal(uint256)'], + '0xc89f2ce4': ['funds()'], + '0xc4254c7b': ['CoreWallet()'], + '0xb69ef8a8': ['balance()'], + '0x67c2a360': ['authorizeUser(address)'], + '0x478aa69e': ['unauthorizeUser(address)'], + '0x267c8507': ['authorizeManager(address)'], + '0x17623e5b': ['unauthorizeManager(address)'], + '0xf3fef3a3': ['withdraw(address,uint256)'], + '0xc8c01a55': ['request(address,uint256)'], + '0xb759f954': ['approve(uint256)'], + '0xa0355f4e': ['decline(uint256)'], + '0xfedfd535': ['Config()'], + '0xf697a0ed': ['ppb(uint256,uint256)'], + '0xab519020': ['calcShare(uint256,uint256)'], + '0x6d568c43': ['weiToCents(uint256)'], + '0x4a5dddd2': ['proxyPurchase(address)'], + '0x8de93222': ['purchase(address,uint256)'], + '0x1959a002': ['userInfo(address)'], + '0x85b31d7b': ['myInfo()'], + '0x4551b1d7': ['ProxyPayment(address,address)'], + '0x6d98e9fc': ['totalWei()'], + '0xf0e959f9': ['TokenSales(address)'], + '0xbc126ba1': ['totalCents()'], + '0xdb83694c': ['getSaleInfo()'], + '0xddeae033': ['claimFor(address)'], + '0x0c77a697': ['claimFounders()'], + '0x7d3d6522': ['goalReached()'], + '0x1ed24195': ['getPeriod()'], + '0x0b97bc86': ['startDate()'], + '0x3f5b7675': ['periodTwo()'], + '0xbb7859b5': ['periodThree()'], + '0xc24a0f8b': ['endDate()'], + '0xa4fd6f56': ['isEnded()'], + '0x8d68cf59': ['sendFunds()'], + '0x5bd74490': ['regProxy(address,address)'], + '0x8c0e2a31': ['regProxy(address)'], + '0xb7fba4d3': ['getProxy(address)'], + '0x8006745b': ['getPayout(address)'], + '0xa69df4b5': ['unlock()'], + '0x8c3c4b34': ['getSaleStatus()'], + '0xcea943ee': ['getSaleConfig()'], + '0x034187fd': ['setEthToCents(uint256)'], + '0xb1adc241': ['BalanceDB()'], + '0x6c9c2faf': ['getSupply()'], + '0xf8b2cb4f': ['getBalance(address)'], + '0xe30443bc': ['setBalance(address,uint256)'], + '0x21e5383a': ['addBalance(address,uint256)'], + '0xcf8eeb7e': ['subBalance(address,uint256)'], + '0xd70cf105': ['moveBalance(address,address,uint256)'], + '0xf2371fb3': ['grantGiveableKudos(address,uint256)'], + '0xce79add1': ['givableBalanceOf(address)'], + '0x2b25a7e4': ['giveKudos(address,uint256)'], + '0x1dbf3bc7': ['spend(uint256)'], + '0xda1441cd': ['KudosBank(uint256)'], + '0xf009347d': ['KudosProxy(address)'], + '0xf2fde38b': ['transferOwnership(address)'], + '0xdf32754b': ['owned()'], + '0xb2aac51f': ['lookupUser(string)'], + '0x0e54b872': ['registerUser(string,address)'], + '0xd40a71fb': ['step1()'], + '0x8f4ed333': ['step2()'], + '0xdf4ec249': ['step3()'], + '0xfb5d7376': ['step4()'], + '0x4fb4bcec': ['step5()'], + '0xeb7c6f72': ['step6()'], + '0xbddd3a6b': ['step7()'], + '0xa3221c8e': ['step8()'], + '0x0a9254e4': ['setUp()'], + '0x775c300c': ['deploy()'], + '0x845051d3': ['testContractsNotNull()'], + '0x354b2735': ['testDeploy()'], + '0x9380b8e7': ['testFailAddingMembers()'], + '0xd83a8d11': ['testProposing()'], + '0xc1257bad': ['testPassingAProposal()'], + '0x524e4e61': ['testDistribution()'], + '0xb0166b04': ['testTransferringMkr()'], + '0x867904b4': ['issue(address,uint256)'], + '0x1de38038': ['makercoin(uint256)'], + '0x775a8f5e': ['toBytes(uint256)'], + '0xc490a266': ['toUInt(bytes)'], + '0x1f8947c1': ['extractUint(int256,bytes,uint256,uint256)'], + '0x0761a004': ['step(uint256,bytes)'], + '0x7b352962': ['isFinished()'], + '0xcf31e9fe': ['getOutputHash()'], + '0x3c9a4baa': ['requestOutput(bytes)'], + '0xfd735602': ['executeN()'], + '0xc64e8bc0': ['executeN(uint256)'], + '0x665beae7': ['ExecutableBase(bytes)'], + '0xc58343ef': ['getRequest(uint256)'], + '0x7a479160': ['getRequestArgs(uint256)'], + '0x5944427b': ['getRequestResult(uint256)'], + '0xf95b5a58': ['getInitialAnswer(uint256)'], + '0xcaaf2dd7': ['getInitialAnswerResult(uint256)'], + '0xafc24e3d': ['getChallengeAnswer(uint256)'], + '0x0411bca8': ['getChallengeAnswerResult(uint256)'], + '0x13a396d8': ['getRequiredDeposit(bytes)'], + '0x5023d124': ['TestFactory()'], + '0x9bee757b': ['requestExecution(bytes,uint256)'], + '0x3015394c': ['cancelRequest(uint256)'], + '0x5ea187c9': ['BuildByteArray(bytes)'], + '0xc70d169d': ['answerRequest(uint256,bytes)'], + '0xe10e5dce': ['_build(bytes)'], + '0xa8978434': ['softResolveAnswer(uint256)'], + '0x8143f8a8': ['totalGas(bytes)'], + '0xfcce2622': ['challengeAnswer(uint256,bytes)'], + '0x8e3d4e5e': ['Fibonacci(bytes)'], + '0x7b0383b2': ['initializeDispute(uint256)'], + '0x6dc3edcf': ['executeExecutable(uint256,uint256)'], + '0x05261aea': ['finalize(uint256)'], + '0x96e438a1': ['reclaimDeposit(uint256)'], + '0x29d28aad': ['Broker(address)'], + '0x5d3c1d4c': ['_getRequest(uint256)'], + '0xa6b1caa3': ['gasScalar(uint256)'], + '0xaf29e720': ['remainingGasFund(uint256)'], + '0x6835f32c': ['build(bytes)'], + '0x7ae2b5c7': ['min(uint256,uint256)'], + '0x53770f9a': ['isStateless()'], + '0x9c5d7030': ['reimburseGas(uint256,address,uint256,uint256)'], + '0x5d8227e6': ['FactoryBase(string,string,string)'], + '0xd8f012c6': ['StatelessFactory(string,string,string)'], + '0x03427656': ['getDefaultSoftResolutionBlocks()'], + '0x4f223fe3': ['StatefulFactory(string,string,string)'], + '0xf1448e10': ['requestExecution(bytes)'], + '0x4c0e207a': ['__outputCallback(uint256)'], + '0xd6c19fe0': ['build(bytes,uint256,uint256,address)'], + '0xe59d843a': ['Replicator(bytes,uint256,uint256,address)'], + '0x50c42921': ['replicate()'], + '0xb0604a26': ['schedule()'], + '0xdda3342b': ['ReplicatorFactory()'], + '0xa6b197aa': ['Order(address,uint256)'], + '0x67b830ad': ['fillOrder(uint256)'], + '0x9c7264d7': ['fillOrder(address,uint256)'], + '0xafd8c8c4': ['GasProxy(address,address)'], + '0x16f3cb5e': ['__kill()'], + '0x4d536fe3': ['doit()'], + '0x881be8f7': ['undo()'], + '0x60fe47b1': ['set(uint256)'], + '0x5bec9e67': ['infinite()'], + '0xce869a64': ['fails()'], + '0x1aca00fd': ['variable(uint256)'], + '0xd81ab0c1': ['invoke(uint256,address,address,bytes)'], + '0xf666323e': ['UUIDProvider()'], + '0x60585358': ['getByte()'], + '0x4b0bbf84': ['addEntropy()'], + '0x5404bbf7': ['getEntropy()'], + '0x31757f2e': ['collisionCount()'], + '0x352d2790': ['UUID4()'], + '0xd69450d5': ['setUUID4Bytes(bytes)'], + '0x3ae01f84': ['USDOracle()'], + '0x104d5fdd': ['getPriceProxy()'], + '0x531b97d7': ['oneCentOfWei()'], + '0xb845c9a2': ['WEI()'], + '0x1bf6c21b': ['USD()'], + '0x943a32bc': ['Relay(address)'], + '0x6edbd134': ['hasHash()'], + '0xb00140aa': ['getHash(bytes)'], + '0x54ed7b6e': ['addHash(bytes)'], + '0xe1041d86': ['__throw()'], + '0x25495998': ['getMinimumConsumerDeposit()'], + '0xf1076703': ['getVerificationId(address,bytes,bytes)'], + '0x8e2c6f4d': ['initiateVerification(address,bytes,bytes)'], + '0x5714f6a1': ['getTotalAvailableRelays()'], + '0xd2fb8787': ['recordExists(bytes)'], + '0x8e52cb51': ['getRecordKey(bytes,bytes,bytes)'], + '0x9ee035c9': ['lookupCanonicalFormat(bytes)'], + '0x50ea1932': ['lookupISO3116_1_alpha_2(bytes)'], + '0xfa68b4ce': ['lookupISO3116_1_alpha_3(bytes)'], + '0xd98d011d': ['getCandidateKey(bytes,bytes,bytes,bytes)'], + '0x70b1d9d4': ['requestCanonicalFormat(bytes)'], + '0x27bc39c0': ['submitCanonicalCandidate(bytes,bytes,bytes,bytes)'], + '0xe9dc0614': ['vote(bytes)'], + '0xa553a597': ['configure(uint256,uint256,uint8,address)'], + '0x2852b71c': ['accept()'], + '0x4dc415de': ['reject()'], + '0xc631b292': ['closeVoting()'], + '0x378a2178': ['tallyVotes()'], + '0xbc5d0f65': ['beginExecution()'], + '0x8124bb0f': ['continueExecution()'], + '0xcabd27de': ['Motion(address)'], + '0xcc2c2bcf': ['MotionFactory(string,string,string)'], + '0x6ad2a0b3': ['buildContract(address)'], + '0x0a3b0a4f': ['add(address)'], + '0x29092d0e': ['remove(address)'], + '0xf6a3d24e': ['exists(address)'], + '0xefc81a8c': ['create()'], + '0x207c64fb': ['validate(address)'], + '0x5bb47808': ['setFactory(address)'], + '0x1327d3d8': ['setValidator(address)'], + '0x68f5aa0f': ['setShareholderDB(address)'], + '0x8f99ea43': ['setDividendDB(address)'], + '0x62e05175': ['setMotionDB(address)'], + '0x611f69de': ['__proxy_motion(address,uint256,uint256,bytes)'], + '0x144fa6d7': ['setToken(address)'], + '0x13827950': ['getShareholderDB()'], + '0x299a7bcc': ['setOwner(address,address)'], + '0xf340fa01': ['deposit(address)'], + '0x9555a942': ['withdrawFrom(address,address,uint256)'], + '0x3b8e6f2e': ['balanceAt(address,uint256)'], + '0x3397ca17': ['numBalanceRecords(address)'], + '0xcbf1304d': ['balances(address,uint256)'], + '0x9a97043b': ['depositIdx(address)'], + '0xb9f28076': ['historyIdx(address)'], + '0xa0afd731': ['dividendBalance(address)'], + '0xbbd4e8c9': ['numDeposits()'], + '0xb6b55f25': ['deposit(uint256)'], + '0x311d5a2a': ['recordBalance(address)'], + '0x5437b39b': ['hasUnprocessedDividends(address)'], + '0x57f4d5ec': ['processDividends(address,uint256)'], + '0xe7334156': ['processNextDeposit(address)'], + '0x7f480f9d': ['processDividends(address)'], + '0xb89a73cb': ['isShareholder(address)'], + '0x08933d11': ['getJoinBlock(address)'], + '0xa200dc73': ['getNextShareholder(address)'], + '0xb722a9ef': ['getPreviousShareholder(address)'], + '0xc45aa04c': ['queryShareholders(bytes,uint256)'], + '0xdb29fe12': ['addShareholder(address)'], + '0x9babdad6': ['removeShareholder(address)'], + '0x8e2a6470': ['allocateShares(address,uint256)'], + '0x4d47feaa': ['ShareholderDB(uint256)'], + '0xa4898fd5': ['deployContract(address)'], + '0x96c52fc3': ['____forward(address,uint256,uint256,bytes)'], + '0x567dbf18': ['__forward(address,uint256,uint256,bytes)'], + '0xfd782de5': ['Proxy()'], + '0xb36df681': ['ExecutableBase()'], + '0x6f698fb5': ['setMinimumQuorum(uint256)'], + '0xa140e79c': ['setMinimumDebatePeriod(uint256)'], + '0x00e46700': ['setMinimumPassPercentage(uint8)'], + '0xb7c93330': ['ResourcePoolTester()'], + '0xf59f99ee': ['createNextGeneration()'], + '0x0bebd0f9': ['addAddressToGeneration(address,uint256)'], + '0xf8b11853': ['getGenerationStartAt(uint256)'], + '0x306b031d': ['getGenerationEndAt(uint256)'], + '0x67854643': ['getGenerationMemberLength(uint256)'], + '0x38fff2d0': ['getPoolId()'], + '0xc831391d': ['getPoolOverlapSize()'], + '0x61649472': ['getPoolFreezePeriod()'], + '0xed2b8e0b': ['getPoolRotationDelay()'], + '0xc630f92b': ['canEnterPool()'], + '0x8dd5e298': ['canEnterPool(address)'], + '0x50a3bd39': ['enterPool()'], + '0xffd10e07': ['enterPool(address)'], + '0x5a5383ac': ['canExitPool()'], + '0xb010d94a': ['canExitPool(address)'], + '0x29917954': ['exitPool()'], + '0xba5a2d33': ['exitPool(address)'], + '0xb0171fa4': ['getCurrentGenerationId()'], + '0xa502aae8': ['getNextGenerationId()'], + '0x7772a380': ['isInGeneration(address,uint256)'], + '0x7c47965e': ['isInCurrentGeneration()'], + '0x400aae08': ['isInCurrentGeneration(address)'], + '0x125b8f06': ['isInNextGeneration()'], + '0xd1734eac': ['isInNextGeneration(address)'], + '0x1ae460e5': ['isInPool()'], + '0x8baced64': ['isInPool(address)'], + '0x23306ed6': ['getMinimumBond()'], + '0x3cbfed74': ['getBondBalance()'], + '0x33613cbe': ['getBondBalance(address)'], + '0x741b3c39': ['depositBond()'], + '0xae6c0b03': ['canWithdrawBond(uint256)'], + '0x157ad5a1': ['canWithdrawBond(address,uint256)'], + '0xc3daab96': ['withdrawBond(uint256)'], + '0xeb947f19': ['ExampleResourcePool()'], + '0x2e817963': ['set_sdl(address)'], + '0x8757a2cd': ['test_depth(uint256,uint256)'], + '0x4afce471': ['test_requires_depth(uint16)'], + '0x135217e7': ['requires_depth()'], + '0x05d2f92a': ['check_depth(address,uint256)'], + '0x8e9ccd04': ['computeIndexId(address,bytes)'], + '0xfa80918b': ['computeNodeId(bytes,bytes)'], + '0x996a4be3': ['uintToBytes(uint256,uint256)'], + '0xcc8af0fe': ['bytesToUInt(bytes,bytes)'], + '0xa6f0e577': ['isLeapYear(uint16)'], + '0xb1999937': ['leapYearsBefore(uint256)'], + '0xb238ad0e': ['getDaysInMonth(uint8,uint16)'], + '0xf97d0591': ['parseTimestamp(uint256)'], + '0x92d66313': ['getYear(uint256)'], + '0xa324ad24': ['getMonth(uint256)'], + '0x65c72840': ['getDay(uint256)'], + '0x3e239e1a': ['getHour(uint256)'], + '0xfa93f883': ['getMinute(uint256)'], + '0x8aa001fc': ['getSecond(uint256)'], + '0x4ac1ad78': ['getWeekday(uint256)'], + '0x8c8d98a0': ['toTimestamp(uint16,uint8,uint8)'], + '0x7f791833': ['toTimestamp(uint16,uint8,uint8,uint8)'], + '0x62ba9687': ['toTimestamp(uint16,uint8,uint8,uint8,uint8)'], + '0x9054bdec': ['toTimestamp(uint16,uint8,uint8,uint8,uint8,uint8)'], + '0x136af582': ['next(bytes,bytes,bytes,bytes,bytes,bytes,bytes)'], + '0xa3ec5616': ['next(bytes,bytes,bytes,bytes,bytes,bytes,bytes,uint256)'], + '0x96f0aa8f': ['findNextSecond(uint256,bytes)'], + '0xc60ce271': ['findNextMinute(uint256,bytes)'], + '0x2f7f3ecf': ['findNextHour(uint256,bytes)'], + '0xdcaa5620': ['findNextWeekday(uint256,bytes)'], + '0x54d9d6f8': ['findNextDay(uint256,bytes)'], + '0xb245fc92': ['findNextMonth(uint256,bytes)'], + '0x8e280dce': ['findNextYear(uint256,bytes)'], + '0x7dc5cd32': ['_patternToNumber(bytes)'], + '0x7fc90182': ['Pool(uint256)'], + '0x96ff7e97': ['requestIdentity()'], + '0x998446a8': ['acceptRequest(uint256,bytes)'], + '0x2d7788db': ['rejectRequest(uint256)'], + '0x58e29e17': ['initiateProof()'], + '0x14cabddb': ['joinProof(uint256)'], + '0xae169a50': ['claimReward(uint256)'], + '0xc944a38e': ['CharlyLifeLog(string,int256)'], + '0xb60e72cc': ['log(string,uint256)'], + '0x09a399a7': ['personAdd(string,int256,int256,string)'], + '0x0af658ca': ['personUpdateActivity(uint256,bool)'], + '0x4a9b3f95': ['personUpdateName(uint256,string)'], + '0x0ce3151c': ['personUpdateRelation(uint256,string)'], + '0x61591a7c': ['personUpdateDOB(uint256,int256)'], + '0x98866c1a': ['personUpdateDOD(uint256,int256)'], + '0x524fa7b9': ['whitelistAdd(address)'], + '0xa932ed0d': ['whitelistRemove(address)'], + '0x2e1a7d4d': ['withdraw(uint256)'], + '0xed88c68e': ['donate()'], + '0x33298e25': ['invoke(uint256,uint256)'], + '0x2b30d2b8': ['invoke(uint256)'], + '0xc258ff74': ['List()'], + '0x959ac484': ['push(uint256)'], + '0x2b16b56a': ['setIndex(uint256,uint256)'], + '0x1f7b6d32': ['length()'], + '0x8e7cb6e1': ['getIndex(uint256)'], + '0x57dc9760': ['DaoChallenge()'], + '0x083b2732': ['callback()'], + '0x6d4ce63c': ['get()'], + '0xd09de08a': ['increment()'], + '0xc3ee6311': ['lockAndCall(string)'], + '0xe94acf0e': ['TinyRouter(address)'], + '0x39e525f9': ['resolveCallback(uint256)'], + '0x302d350e': ['firstChainedCallback(uint256)'], + '0x539e2bfb': ['secondChainedCallback(uint256)'], + '0x4f896d4f': ['resolve(uint256)'], + '0x9935935f': ['setResolveHandler(bytes,address)'], + '0x5dc77e26': ['andThen(string,address)'], + '0x7c45ef6c': ['stringToSig(string,string)'], + '0xbf8783e0': ['callAndGetReturn(address,bytes,uint256)'], + '0x9ed93318': ['create(address)'], + '0xd7bb99ba': ['contribute()'], + '0xc98165b6': ['createTarget()'], + '0x6493d7fc': ['CircuitBreaker(address,address,uint256,uint256)'], + '0xb7760c8f': ['transfer(uint256,address)'], + '0xa83627de': ['updatePeriod()'], + '0x8e5d97a2': ['releasePendingTransfer(uint256)'], + '0x66e5cb50': ['stopTransfer(uint256)'], + '0x75862df4': ['TokenWithEStop(address)'], + '0x63a599a4': ['emergencyStop()'], + '0xd0e30db0': ['deposit()'], + '0xe2faf044': ['createDAO(address,uint256,uint256,uint256)'], + '0xcc25decd': [ + 'SampleOffer(address,bytes,uint256,uint256,uint256,uint256,uint256)' + ], + '0x3535cd52': ['setDailyCosts(uint256)'], + '0xd4065763': ['returnRemainingMoney()'], + '0x9b29cb23': ['getDailyPayment()'], + '0xd002462b': ['setDeploymentFee(uint256)'], + '0xea25f24a': ['TokenCreation(uint256,uint256,address)'], + '0x704b6c02': ['setAdmin(address)'], + '0x29090202': ['Resolver(address)'], + '0xd393c871': ['register(string,address,uint256)'], + '0x18b31f94': ['registerLengthFunction(string,string,address)'], + '0x32b12eac': ['setFallback(address)'], + '0xc3b2556d': ['lookup(bytes)'], + '0xdc3f65d3': ['createdByMe()'], + '0x05215b2f': ['createStandardToken(uint256)'], + '0x7102c138': ['Standard_Token(uint256)'], + '0xfe01f1ff': ['TokenTester()'], + '0xa30b5c69': ['AttributeModel()'], + '0xc27d7721': ['create(uint256[101][])'], + '0x67f12ecf': ['validate(address,uint256,uint256[101][])'], + '0x63e38ff3': ['id_for_nym(uint256)'], + '0xcabfb934': ['replace(address)'], + '0xbd119967': ['add_rating(uint256,uint256)'], + '0x8f70009d': ['id_for_address(address,address)'], + '0x3b107682': ['DualIndex()'], + '0x43b0e8df': ['set(uint256,uint256,uint256)'], + '0xf0350c04': ['transfer_ownership(address)'], + '0xb4b9d1f1': ['lookup(uint256,uint256)'], + '0x272cda88': ['EternalDB()'], + '0x06661abd': ['count()'], + '0xcccf7a8e': ['has(uint256)'], + '0x9c851ebc': ['new_entry()'], + '0x505fb46c': ['add(uint256,uint256,uint256)'], + '0x25010816': ['get_length(uint256,uint256)'], + '0x58e59c32': ['get_entry(uint256,uint256,uint256)'], + '0x89029d8c': ['get_all(uint256,uint256)'], + '0x41ee903e': ['clear(uint256,uint256)'], + '0x1a10cfc3': ['delete_entry(uint256,uint256,uint256)'], + '0xf739ed4c': ['id_for_user_version(uint256,uint256)'], + '0x23cd7cd5': ['Model()'], + '0x3fda1281': ['get_keys()'], + '0x41d31feb': ['get_read_only_keys()'], + '0x582ca57b': ['get_associations()'], + '0x8ee21b8e': ['get_default_keys()'], + '0xeb121e2f': ['update(uint256,uint256[101][])'], + '0x595da94d': ['has_owners(uint256)'], + '0xd716222c': ['is_owner(uint256,address)'], + '0xb56b2627': ['add_owner(uint256,address)'], + '0x9d118770': ['destroy(uint256)'], + '0xdb6fcf01': ['is_destroyed(uint256)'], + '0xebd83378': ['get_blocks_for(uint256)'], + '0x49fb2dc5': ['add_to_association(uint256,uint256,uint256)'], + '0xe2deaa81': ['set_reference(uint256,uint256,uint256)'], + '0xf99ff4df': ['paged(uint256,uint256)'], + '0xa60bbcd3': ['ModelCoordinator()'], + '0x702fc7da': ['ReviewModel()'], + '0xe299beb3': ['SimpleIndex()'], + '0x1ab06ee5': ['set(uint256,uint256)'], + '0x0a874df6': ['lookup(uint256)'], + '0x39246d75': ['VersionModel()'], + '0x5c8a1053': ['extend(string)'], + '0x43d726d6': ['close()'], + '0x00ce2057': ['triggerPayment()'], + '0x4a3b0eec': ['authorizeOpen(uint256,bool,string)'], + '0xfdc4b338': ['authorizeExtension(uint256,bool,string)'], + '0x59d96db5': ['terminate(uint256,string)'], + '0x8ae475a9': ['notorize(string)'], + '0xb5d1990d': ['numRecords()'], + '0x4fb2e45d': ['transferOwner(address)'], + '0x29c08ba2': ['payPremium()'], + '0x0220a5b4': ['terminate(string)'], + '0x83f95f13': ['openClaim(string)'], + '0x1c1b8772': ['update(address)'], + '0xe6cb9013': ['safeAdd(uint256,uint256)'], + '0xa293d1e8': ['safeSub(uint256,uint256)'], + '0x6241bfd1': ['Token(uint256)'], + '0x0aa7881a': ['MintableToken(int256,uint256)'], + '0x27e056a5': ['addMinter(int256,address)'], + '0xad2fea7c': ['removeMinter(int256,address)'], + '0x1f3a3a53': ['mint(int256,uint256)'], + '0x2c7c4549': ['PurchasableToken(uint256)'], + '0x6a61e5fc': ['setTokenPrice(uint256)'], + '0xefef39a1': ['purchase(uint256)'], + '0x2f30283e': ['testSomething()'], + '0x3e5087cc': ['testBasicThing()'], + '0x4bbb216c': ['_target(address)'], + '0xa163a624': ['Test()'], + '0xa9cc4718': ['fail()'], + '0x0c9fd581': ['assertTrue(bool)'], + '0x5eb3f639': ['assertTrue(bool,bytes)'], + '0xa5982885': ['assertFalse(bool)'], + '0x16cb9a01': ['assertFalse(bool,bytes)'], + '0xf578fd85': ['assertEq0(bytes,bytes)'], + '0x7fa22001': ['assertEq0(bytes,bytes,bytes)'], + '0xd1af8a5a': ['LinkerExample()'], + '0x8af784dc': ['expectEventsExact(address)'], + '0xd38159b8': ['testPass()'], + '0x04d91c6a': ['testFail()'], + '0xc813c30e': ['testThrowSomething()'], + '0xfac34ff6': ['throwFoo()'], + '0x7fcf3a2f': ['throwFooBar()'], + '0x0db73c72': ['noevent()'], + '0x4f9d719e': ['testEvent()'], + '0x8bbb5af7': ['test1Fails()'], + '0x88a1e895': ['test2Fails()'], + '0xfdc193a4': ['test3Fails()'], + '0xdbecc372': ['Example(uint256)'], + '0x934bc29d': ['exampleFunction(uint256)'], + '0x3c67c51e': ['testLogs()'], + '0xe44d3084': ['testFailure()'], + '0x94bcdb4c': ['Example2()'], + '0xa677fbd9': ['example2Func()'], + '0x773c84ee': ['exec(address,bytes,uint256,uint256)'], + '0xf3541901': ['execute(address,bytes,uint256,uint256)'], + '0x1b437d0c': ['compareLastCalldata(bytes)'], + '0xdcfa9cc0': ['testProxyCall()'], + '0x2d2c44f2': ['Vault()'], + '0x0b6142fc': ['breach()'], + '0x6c050eae': ['look()'], + '0x04a2b2c2': ['testOwnerCanBreach()'], + '0x94a1710d': ['testNonOwnerCantBreach()'], + '0xb4c4e005': ['testTransferToAcceptAuthority()'], + '0xe17e1274': ['testTransferToRejectAuthority()'], + '0x2b1071c9': ['testTransferToNullAuthority()'], + '0xf0f967e8': ['canCall(address,address,bytes)'], + '0xe6d95eb8': ['DSAuthorized()'], + '0x57e6c2f4': ['isAuthorized()'], + '0xe2b178a0': ['getAuthority()'], + '0x6cd22eaf': ['updateAuthority(address,bool)'], + '0xfe9fbb80': ['isAuthorized(address)'], + '0x3c716e08': ['updateAuthority(address)'], + '0xed62cf1f': ['setCanCall(address,address,bytes,bool)'], + '0xc37e8cb2': ['testExportAuthorized()'], + '0xb870ecbb': ['testNormalWhitelistAdd()'], + '0x19f02ceb': ['set(address,address,uint256)'], + '0xd81e8423': ['get(address,address)'], + '0xf639365d': ['testSetGet()'], + '0x8b95ec0c': ['testAddBalance()'], + '0x6dbe31eb': ['testSubBalance()'], + '0x65f27bea': ['testSubBalanceFailsBelowZero()'], + '0xce220ecf': ['testAddBalanceFailsAboveOverflow()'], + '0x1bf20668': ['testAdminTransfer()'], + '0xd6d7d525': ['get(bytes)'], + '0xa18c751e': ['set(bytes,bytes)'], + '0x73e1743a': ['buildDSBasicAuthority()'], + '0x7d4cf602': ['buildDSBalanceDB()'], + '0xacf4280c': ['buildDSApprovalDB()'], + '0x089e0ad0': ['buildDSMap()'], + '0x2bed55b0': ['buildDSEasyMultisig(uint256,uint256,uint256)'], + '0x3647b87a': ['buildFactory()'], + '0x9e2262f5': ['testCreateCostData()'], + '0x386fcda8': ['testCreateCostToken()'], + '0x4e6ba0a9': ['testCreateCostMultisig()'], + '0x7c05caf3': ['testCreateCostAuth()'], + '0x5b067cce': ['testCreateCostMain()'], + '0xb06eb03f': ['DSEasyMultisig(uint256,uint256,uint256)'], + '0xca6d56dc': ['addMember(address)'], + '0xa230c524': ['isMember(address)'], + '0xf6d5959b': ['getActionStatus(uint256)'], + '0xff1b4341': ['easyPropose(address,uint256,uint256)'], + '0x268bb78e': ['propose(address,bytes,uint256,uint256)'], + '0xba0179b5': ['confirm(uint256)'], + '0xed684cc6': ['trigger(uint256)'], + '0xa6b206bf': ['doSomething(uint256)'], + '0xbca86986': ['testSetup()'], + '0x11d12402': ['testEasyPropose()'], + '0x246c02e6': ['check_depth(uint16)'], + '0x44602a7d': ['testFallbackReturn()'], + '0xbe45fd62': ['transfer(address,uint256,bytes)'], + '0x1b00fe51': ['testHypothesis()'], + '0xf06186c7': ['testReality()'], + '0xb09bc3bf': ['try_to_get()'], + '0xdabf7ec4': ['helper(uint256)'], + '0x8040cac4': ['testOverflow()'], + '0x828d671c': ['dyn_sig()'], + '0xe2f8feb2': ['internal_tester(int256)'], + '0xe0ad411d': ['assets(bytes)'], + '0x18178358': ['poke()'], + '0x6b1feeeb': ['get_my_sig()'], + '0xd57a12f5': ['testCheckSigs()'], + '0x60b431a4': ['testGetSig()'], + '0x189c94ae': ['testFallbackStaticSig()'], + '0x22017c5f': ['DSTokenBase(uint256)'], + '0xbeabacc8': ['transfer(address,address,uint256)'], + '0x15dacbea': ['transferFrom(address,address,address,uint256)'], + '0xe1f21c67': ['approve(address,address,uint256)'], + '0x003074ff': ['getFrontend()'], + '0xc971442c': ['getDBs()'], + '0x4956eaf0': ['deploy(address,uint256)'], + '0xf6c5c80d': ['cleanUp()'], + '0xb17b94c1': ['testSystem()'], + '0xe23941bc': ['testDepositWithdraw()'], + '0x1334a5e2': ['eventCallback(uint8,address,address,uint256)'], + '0x3018205f': ['getController()'], + '0x7fe1dc7e': ['getToken(bytes)'], + '0xef3a6031': ['testBaseToken()'], + '0xb085b9a5': ['Example()'], + '0x55241077': ['setValue(uint256)'], + '0x20965255': ['getValue()'], + '0x29d017b5': ['TestWithConstructor(address,uint256[])'], + '0x4b64e492': ['execute(address)'], + '0xf4b103d4': ['SimpleStorage(uint256)'], + '0xfc0c546a': ['token()'], + '0x90b98a11': ['sendCoin(address,uint256)'], + '0x01cb3b20': ['checkGoalReached()'], + '0xc0d2834b': ['DataSource()'], + '0x4b0697e4': ['Manager(address)'], + '0x044215c6': ['token(uint256)'], + '0x299e6b07': ['Wallet(address)'], + '0x93423e9c': ['getAccountBalance(address)'], + '0xbe999705': ['addFunds(uint256)'], + '0xbc4b3365': ['addFunds(address,uint256)'], + '0xa1a66e56': ['deductFunds(uint256)'], + '0x8d72a473': ['deductFunds(address,uint256)'], + '0x08aba5aa': ['setAccountBalance(uint256)'], + '0x46ddb7db': ['setAccountBalance(address,uint256)'], + '0xdb4cacec': ['Other()'], + '0x84a7b223': ['Canary(address)'], + '0x5c634241': ['CanaryV6()'], + '0xb5d3a379': ['CanaryTestnet()'], + '0x41868769': ['CallAborted(address,bytes)'], + '0x6560a307': ['suggestedGas()'], + '0xeec2b628': ['beforeExecute(address)'], + '0x980e8c81': [ + 'FutureBlockCall(address,uint256,uint8,address,bytes,uint256,uint256,uint256)' + ], + '0x08f235ec': ['getDefaultPayment()'], + '0x21bacf28': ['getDefaultFee()'], + '0x75c589a0': ['getMinimumCallCost()'], + '0x6822abae': ['getMinimumCallCost(uint256)'], + '0x2635f4de': ['registerLibrary(bytes,address)'], + '0xc5ae6e0e': ['Kernal()'], + '0x2030f721': ['num_objects()'], + '0xc4bd8ebc': ['num_monsters()'], + '0xc13afa91': ['object_locations(uint256)'], + '0x1d5a9f3f': ['object_types(uint256)'], + '0xc0576b73': ['monsters(uint256)'], + '0xc368109c': ['monster_hp(uint256)'], + '0xa01bc729': ['monster_attack(uint256)'], + '0x75160a20': ['pay_royalties()'], + '0x26121ff0': ['f()'], + '0xaef99eef': ['Game()'], + '0xe604cf9f': ['get_all_squares()'], + '0xbe600276': ['move(uint16)'], + '0xf651bf44': ['move_to(uint16)'], + '0xa5f3c23b': ['add(int256,int256)'], + '0x37c390e3': ['allow_move(uint16)'], + '0xdcf537b1': ['multiply7(int256)'], + '0x16216f39': ['return13()'], + '0x6ed7c013': ['move_monsters()'], + '0xcec7260b': ['move_monster(uint16,uint16)'], + '0xecb98714': ['random_damage(uint256)'], + '0x2d8c1c35': ['level_up()'], + '0xf504e0da': ['load_level(uint16)'], + '0x99753de7': ['clear_level()'], + '0xde5d953a': ['logSingleIndex(bytes,bytes,uint256)'], + '0xb409da05': ['logDoubleIndex(bytes,bytes,bytes,uint256)'], + '0xb29a0308': ['logAnonymous(bytes,bytes,bytes,uint256)'], + '0x5f515226': ['checkBalance(address)'], + '0x7eaef50c': ['over()'], + '0x12c8052f': ['won()'], + '0x21970c0c': ['pay_royalty()'], + '0x4c1b2446': ['transmitInteger(address,bytes,bytes,uint256,uint16)'], + '0x42909a9e': ['create_game()'], + '0xe54d4051': ['receiveInteger(bytes,uint256,uint16)'], + '0x8365172c': ['num_levels()'], + '0x3ced842b': ['make_offer()'], + '0x48db5f89': ['player()'], + '0x6896fabf': ['getAccountBalance()'], + '0x5b86914d': ['bet_value()'], + '0x6e8dad74': ['retrieveAccountBalance(bytes,bytes)'], + '0x6d705ebb': ['register(address,uint256)'], + '0x46b5e202': ['set_num_levels(uint256,uint256)'], + '0xbfad16f4': ['new_offer(uint256,uint256)'], + '0x97d47a60': ['registerAccountant(bytes,address)'], + '0x19b05f49': ['accept(uint256)'], + '0xdf3c8620': ['num_challenges()'], + '0xc3d0a564': ['getAccountBalance(bytes)'], + '0xf249cf19': ['get_all_challenges()'], + '0x340f5e4e': ['get_all_num_levels()'], + '0x407cfe5e': ['get_all_players()'], + '0xd1a8d447': ['get_all_bet_values()'], + '0x7140bdf3': ['get_all_best_offers()'], + '0x6677febe': ['get_all_accepted()'], + '0x5718b994': ['checkEvent(address,bytes,bytes,uint256)'], + '0xf51cbc72': ['Level()'], + '0x7cb97b2b': ['set_owner(address)'], + '0x7212b67e': ['add_potion(uint16)'], + '0xdd729530': ['add_shield(uint16)'], + '0xcc2c5453': ['add_sword(uint16)'], + '0xf3c37bd5': ['Verifier(address,uint256,uint8)'], + '0xf262de8c': ['add_staircase(uint16)'], + '0x62c335c1': ['checkCallback(address,uint256,bytes,bytes)'], + '0xe97b2190': ['add_wall(uint16)'], + '0x37a6b9f8': ['recordCallback(address,uint256,bytes,bytes)'], + '0x79216f5f': ['add_monster(uint16,uint16,uint16)'], + '0x52efea6e': ['clear()'], + '0x4bb278f3': ['finalize()'], + '0xb651cbaf': ['add_level(address,bytes)'], + '0xc985c221': ['get_all_levels()'], + '0x309424fe': ['get_all_names()'], + '0x7365870b': ['bet(uint256)'], + '0xdf25ee23': ['getIndexId(address,bytes)'], + '0x8963dab4': ['getNodeId(bytes,bytes)'], + '0x0c5c2ca3': ['getIndexName(bytes)'], + '0x337c1e28': ['getIndexRoot(bytes)'], + '0xf64fca2e': ['getNodeId(bytes)'], + '0xaa272d4b': ['getNodeIndexId(bytes)'], + '0x5ca1c5a0': ['getNodeValue(bytes)'], + '0x662dbe96': ['getNodeHeight(bytes)'], + '0x3517a740': ['getNodeParent(bytes)'], + '0xc1b056b0': ['getNodeLeftChild(bytes)'], + '0x4296a9cb': ['getNodeRightChild(bytes)'], + '0xb0aab296': ['getNextNode(bytes)'], + '0x1b370abb': ['getPreviousNode(bytes)'], + '0x3943807b': ['insert(bytes,bytes,int256)'], + '0xbea124a6': ['query(bytes,bytes,int256)'], + '0xb7bae9b7': ['exists(bytes,bytes)'], + '0x69573648': ['remove(bytes,bytes)'], + '0xb7e24979': ['addThing(bytes)'], + '0xe51ff1fc': ['iterateOverThings()'], + '0x69307c80': ['rotateBits(bytes,int256)'], + '0x6506b623': ['rotateBitsLeft(bytes,uint256)'], + '0x109df68e': ['rotateBitsRight(bytes,uint256)'], + '0xc02f081a': ['shiftBits(bytes,int256)'], + '0x5e07f240': ['shiftBitsLeft(bytes,uint256)'], + '0xff27c476': ['shiftBitsRight(bytes,uint256)'], + '0x15e33901': ['digest(bytes,uint256)'], + '0x41c0e1b5': ['kill()'], + '0x780900dc': ['create(uint256)'], + '0xa1e4d3c2': ['MembershipRoster()'], + '0x76d690bb': ['BountyList()'], + '0x0b1ca49a': ['removeMember(address)'], + '0xee2af3fb': ['set_factory(address)'], + '0x5fb64fd6': ['checkMembership(address)'], + '0x10c4e8b0': ['all()'], + '0x85654c9c': ['setMembershipRoster(address)'], + '0xeb95b7d5': ['Bounty(address,address)'], + '0x0b7e9c44': ['payout(address)'], + '0x92e9fd5e': ['ColdWallet(address,address)'], + '0x8a4fb16a': ['getWithdrawal(uint256)'], + '0xd845a4b3': ['request(uint256)'], + '0xfe0d94c1': ['execute(uint256)'], + '0xf3b50c04': ['rescind()'], + '0x49c15bd9': ['Purchase()'], + '0x35a063b4': ['abort()'], + '0xd6960697': ['confirmPurchase()'], + '0x73fac6f0': ['confirmReceived()'], + '0xda0774ad': ['getCallFeeScalar(uint256,uint256)'], + '0x4c33fe94': ['cancel(address)'], + '0xc032dc30': ['execute(uint256,address)'], + '0x6a704d7b': ['AddedToGeneration(address,uint256)'], + '0xf1173928': ['RemovedFromGeneration(address,uint256)'], + '0x345006b6': ['getGenerationForCall(address)'], + '0xb3559460': ['getGenerationSize(uint256)'], + '0xa6c01cfd': ['isInGeneration(uint256)'], + '0x04dd69fa': ['getGenerationIdForCall(address)'], + '0x5a8dd79f': ['getDesignatedCaller(address,uint256)'], + '0xdc75f2db': ['multiowned(address[],uint256)'], + '0x0b467b9b': ['revoke(bytes)'], + '0xf00d4b5d': ['changeOwner(address,address)'], + '0x7065cb48': ['addOwner(address)'], + '0x173825d9': ['removeOwner(address)'], + '0xba51a6df': ['changeRequirement(uint256)'], + '0x2f54bf6e': ['isOwner(address)'], + '0x3b49a77b': ['hasConfirmed(bytes,address)'], + '0xe88b8ac6': ['confirmAndCheck(bytes)'], + '0xc1812b15': ['reorganizeOwners()'], + '0x5f6a1301': ['clearPending()'], + '0xae99847b': ['daylimit(uint256)'], + '0xb20d30a9': ['setDailyLimit(uint256)'], + '0x5c52c2f5': ['resetSpentToday()'], + '0x180aadb7': ['underLimit(uint256)'], + '0xb74e452b': ['today()'], + '0xb61d27f6': ['execute(address,uint256,bytes)'], + '0xf2ddc772': ['confirm(bytes)'], + '0xc4ff3614': ['Wallet(address[],uint256,uint256)'], + '0xcbf0b0c0': ['kill(address)'], + '0xe854dfb4': ['Order(address,uint256,uint256)'], + '0x4c0bcfe5': ['getTransferableBalance(address)'], + '0x8f367001': ['numTokensAbleToPurchase()'], + '0x370ec1c5': ['_fillOrder(address,uint256)'], + '0xd9feeeb6': ['fillMyOrder(uint256)'], + '0xfcc6b5d5': ['fillTheirOrder(address)'], + '0x39f4debc': ['fillOrderAuto()'], + '0x9a1b420b': ['OraclizeAddrResolver()'], + '0xd1d80fdf': ['setAddr(address)'], + '0x0e1ca8a5': ['Oraclize()'], + '0xa2ec191a': ['addDSource(string,uint256)'], + '0x62b3b833': ['createCoupon(string)'], + '0xa8239d0b': ['getPrice(string,address)'], + '0xbf1fe420': ['setGasPrice(uint256)'], + '0x8579cbde': ['getPrice(string,uint256,address)'], + '0xde4b3262': ['setBasePrice(uint256)'], + '0x7d242ae5': ['setBasePrice(uint256,bytes)'], + '0x81ade307': ['query(string,string)'], + '0x45362978': ['query1(string,string)'], + '0xe839e65e': ['query2(string,string,string)'], + '0x23dc42e7': ['query1(uint256,string,string)'], + '0xae815843': ['query(uint256,string,string,uint256)'], + '0x5c242c59': ['query1(uint256,string,string,uint256)'], + '0x7e1c4205': ['query2(uint256,string,string,string,uint256)'], + '0x75700437': ['query1_withGasLimit(uint256,string,string,uint256)'], + '0xb303dcbd': ['Owned()'], + '0x32e7c5bf': ['B()'], + '0xc6888fa1': ['multiply(uint256)'], + '0xf8a8fd6d': ['test()'], + '0x78710d37': ['seven()'], + '0xe1bedf2a': ['AlarmTester(address)'], + '0xb29f0835': ['doIt()'], + '0x185061da': ['undoIt()'], + '0xdd012a15': ['setIt(uint256)'], + '0x22beb9b9': ['scheduleDoIt(uint256)'], + '0xd6b44859': ['scheduleUndoIt(uint256)'], + '0x245a03ec': ['scheduleSetIt(uint256,uint256)'], + '0x7429c086': ['repeat()'], + '0x553cc48d': ['Player(string)'], + '0x37b7bf11': ['Tile(int256,int256)'], + '0x2d67bb91': ['World()'], + '0xead710c4': ['greet(string)'], + '0x0f4cf692': ['numMessages()'], + '0xc633084f': ['sendGreeting(address,string)'], + '0xc6e1c178': ['TheLuckyOne(bytes)'], + '0xf18d20be': ['adminWithdraw()'], + '0x4faa2d54': ['getTimeElapsed()'], + '0xe8223468': ['sha3clone(bytes)'], + '0xa59d6986': ['recoverLostFunds()'], + '0xc535165f': ['revealAndPayout(bytes,bytes)'], + '0xf1eae25c': ['mortal()'], + '0xfaf27bca': ['greeter(string)'], + '0xcfae3217': ['greet()'], + '0xb51c4f96': ['getCodeSize(address)'], + '0x95978868': ['strConcat(string,string,string,string,string)'], + '0x45e965cd': ['strConcat(string,string,string,string)'], + '0x4112987c': ['strConcat(string,string,string)'], + '0xf5c98aff': ['GreeterB(bytes)'], + '0x3bc5de30': ['getData()'], + '0x9c1193ea': ['GreeterA(bytes)'], + '0x905e6e42': ['JSON_Test()'], + '0x1e26fd33': ['setBool(bool)'], + '0x9a19a953': ['setInt8(int8)'], + '0x4dfd1b02': ['setUint8(int8,uint8)'], + '0xa53b1c1e': ['setInt256(int256)'], + '0xec21a913': ['setUint256(int256,uint256)'], + '0x6cc5fdaa': ['setBytes32(bytes,bytes)'], + '0x12a7b914': ['getBool()'], + '0x57cb2fc4': ['getInt8()'], + '0x4a41e045': ['getUint8(int8)'], + '0xf5b53e17': ['getInt256()'], + '0xed180443': ['getUint256(int256)'], + '0x1f903037': ['getBytes32()'], + '0x65538c73': ['fireEventLog0()'], + '0xa6780857': ['fireEventLog0Anonym()'], + '0xb61c0503': ['fireEventLog1()'], + '0x4e7ad367': ['fireEventLog1Anonym()'], + '0x102accc1': ['fireEventLog2()'], + '0x76bc21d9': ['fireEventLog2Anonym()'], + '0xf38b0600': ['fireEventLog3()'], + '0xe8beef5b': ['fireEventLog3Anonym()'], + '0xfd408767': ['fireEventLog4()'], + '0x9dc2c8f5': ['fireEventLog4Anonym()'], + '0x2839e928': ['ackermann(uint256,uint256)'], + '0x61047ff4': ['fibonacci(uint256)'], + '0xdbbdf083': ['register(uint256,address)'], + '0xa02b161e': ['unregister(uint256)'], + '0x5fd4b08a': ['getName(address)'], + '0x1c4e6cd0': ['NameReg()'], + '0xe79a198f': ['unregister()'], + '0xf5c57382': ['nameOf(address)'], + '0xc47cf5de': ['getAddress(bytes)'], + '0x82fbdc9c': ['register(bytes)'], + '0x034cb28e': ['addressOf(address,bytes)'], + '0xf004b12b': ['CrowdFund(uint256,uint256,address)'], + '0x9bb01b5f': ['ElcoinDb(address)'], + '0x893d20e8': ['getOwner()'], + '0xab470f05': ['getCaller()'], + '0xbeb92f55': ['setCaller(address)'], + '0xf3125a1f': ['deposit(address,uint256,bytes,uint256)'], + '0x9483e91a': ['withdraw(address,uint256,bytes,uint256)'], + '0x3b343a13': ['getNodeAddress(bytes)'], + '0x7bfaad96': ['addNode(bytes,address)'], + '0xca3b5c91': ['hasRelation(bytes,bytes,address)'], + '0xba45b0b8': ['transfer(address,address)'], + '0xf8b71c64': ['rewardTo(address,uint256)'], + '0xfbf1f78a': ['unapprove(address)'], + '0x5184ffc9': ['setAmbiAddress(address,bytes)'], + '0xa7f43779': ['remove()'], + '0x444dd6f3': ['Elcoin()'], + '0x4a606c53': ['_db()'], + '0x9b9d0364': ['_setFeeStructure(uint256,uint256,uint256)'], + '0x99a5d747': ['calculateFee(uint256)'], + '0x63f80de3': ['issueCoin(address,uint256,uint256)'], + '0x88d695b2': ['batchTransfer(address[],uint256[])'], + '0xaa64c43b': ['transferPool(address,address,uint256)'], + '0xc71cbcf3': ['recoverAccount(address,address)'], + '0xb2855b4f': ['setFeeAddr(address)'], + '0x5b65b9ab': ['setFee(uint256,uint256,uint256)'], + '0x3f2f1596': ['setupTreasury(address,uint256)'], + '0x24c65f35': ['updateRefundGas()'], + '0x8f0c724c': ['setOperationsCallGas(uint256)'], + '0x23df9df5': ['_refund(uint256)'], + '0xd449ce7c': ['Administered()'], + '0xa925d85e': ['Exchange(address,address)'], + '0xf34c7010': ['commitSecurity(address,uint256,uint256)'], + '0x6d09e2ec': ['commitCurrency(address,uint256,uint256)'], + '0x144267e0': ['refundSecurity(address,uint256,uint256)'], + '0xc9cfac55': ['refundCurrency(address,uint256,uint256)'], + '0xa5b1e13d': ['settle(address,address,uint256,uint256)'], + '0x1d8ae626': ['Security(string,string)'], + '0xc74e907b': ['commit(address,uint256,uint256)'], + '0x60708ae3': ['issueAndCommit(address,address,uint256,uint256)'], + '0x68f2ab8e': ['Currency(string,string)'], + '0xb21bce4c': ['vote(bytes,bool)'], + '0x3b143184': ['Congress(uint256,uint256,int256,address)'], + '0x9644fcbd': ['changeMembership(address,bool,string)'], + '0xbcca1fd3': ['changeVotingRules(uint256,uint256,int256)'], + '0xb1050da5': ['newProposal(address,uint256,string,bytes)'], + '0xd3c0715b': ['vote(uint256,bool,string)'], + '0xbcc6092a': ['MyEtherBank()'], + '0xd917deb5': ['Donate()'], + '0xb774d3d7': ['BankOwner_GetDonationsBalance()'], + '0x07718a3b': ['BankOwner_WithdrawDonations()'], + '0x2dae9878': ['BankOwner_EnableConnectBankAccountToNewOwnerAddress()'], + '0x9be1fcee': ['BankOwner_DisableConnectBankAccountToNewOwnerAddress()'], + '0x32829a23': ['OpenBankAccount()'], + '0x25f3da52': ['GetBankAccountNumber()'], + '0xcf2e3efc': ['GetBankAccountBalance()'], + '0x9a9c9c53': ['DepositToBankAccount()'], + '0x62b24189': ['DepositToBankAccountFromDifferentAddress(uint32)'], + '0x13651124': ['WithdrawAmountFromBankAccount(uint256)'], + '0x85c7a953': ['WithdrawFullBalanceFromBankAccount()'], + '0x19663f7f': ['TransferAmountFromBankAccountToAddress(uint256,address)'], + '0xaf27c7b3': ['Security_HasPasswordSha3HashBeenAddedToBankAccount()'], + '0xb45c48dc': ['Security_AddPasswordSha3HashToBankAccount(bytes)'], + '0x766a3f2e': ['Security_ConnectBankAccountToNewOwnerAddress(uint32,string)'], + '0xf6232556': [ + 'Security_GetNumberOfAttemptsToConnectBankAccountToANewOwnerAddress()' + ], + '0x671fa0a0': ['Inscription(string)'], + '0xd6af9411': ['Rouleth()'], + '0x31119b4d': ['changeDeveloper(address)'], + '0xc87b36ed': ['disableBetting()'], + '0x5fa21f1f': ['enableBetting()'], + '0x63a8dac2': [ + 'changeSettings(uint256,uint256,uint256,uint8,uint256,uint256,uint8,uint8)' + ], + '0x2888f9d0': ['updateMaxBet()'], + '0x53f818d6': ['checkBetValue()'], + '0xb8cf14e7': ['updateStatusPlayer()'], + '0xb400d149': ['betOnNumber(uint8)'], + '0x5b7d47a9': ['betOnColor(bool,bool)'], + '0xadf54e0c': ['betOnLowHigh(bool,bool)'], + '0xb738169c': ['betOnOddEven(bool,bool)'], + '0xbfe8c107': ['betOnDozen(bool,bool,bool)'], + '0xe548cf13': ['betOnColumn(bool,bool,bool)'], + '0xd02bf162': ['spinTheWheel()'], + '0x403abbc7': ['updateFirstActiveGamble()'], + '0x021c309a': ['solveBet(address,uint8,bool,uint8)'], + '0x86269a88': ['checkBetNumber(uint8)'], + '0x57006864': ['checkBetParity(uint8)'], + '0xf80b3cfa': ['checkBetLowhigh(uint8)'], + '0xc1ae4044': ['checkBetColor(uint8)'], + '0xc124e2ea': ['checkBetDozen(uint8)'], + '0x06c1df7b': ['checkBetColumn(uint8)'], + '0xe8b5e51f': ['invest()'], + '0x2037fcbf': ['withdrawInvestment(uint256)'], + '0xb18c6847': ['manualUpdateBalances()'], + '0x6f3fe404': ['updateBalances()'], + '0x2c6b2c92': ['checkProfitLossSinceInvestorChange()'], + '0xf7ae9421': ['checkInvestorBalance(address)'], + '0x6ed43eb0': ['getInvestorList(uint256)'], + '0xf9e27106': ['investmentEntryCost()'], + '0x85b4bb53': ['getSettings()'], + '0xa0e2abf7': ['getFirstActiveGamble()'], + '0x942385eb': ['getPayroll()'], + '0x6e1b6bcc': ['checkMyBet(address)'], + '0xbcb3b5d2': ['getGamblesList(uint256)'], + '0x4e71e0c8': ['claimOwnership()'], + '0xb4d9cc3a': ['profitDisperser()'], + '0xc127c247': ['addMember(address,string)'], + '0x63deb2c5': ['changeMemberAddress(address)'], + '0x1c02708d': ['killContract()'], + '0xaacc5a17': ['getRandom()'], + '0x6103d915': ['Winners(uint256)'], + '0xd743ca38': ['newWinner(uint256,address,uint256,uint256,uint256)'], + '0x3e5fd9b5': ['dEthereumlotteryNet(address,address,bool,address)'], + '0x149c5066': ['ChanceOfWinning(uint256)'], + '0x860e9960': ['BetPriceLimit()'], + '0xe8930efd': ['Investors(address)'], + '0xc0819961': ['Invest()'], + '0xf9983a12': ['GetMyInvestmentBalance()'], + '0x7dee2cad': ['CancelMyInvestment()'], + '0x4247f52d': ['DoRoll()'], + '0x25209260': ['PrepareRoll(uint256)'], + '0x54738157': ['OwnerCloseContract()'], + '0xe9b93569': ['OwnerGetFee()'], + '0xe97db66e': ['setJackpot()'], + '0x9a7a7c11': ['makeRoll(uint256)'], + '0x414ceac0': ['investorAddFee(uint256)'], + '0x2f1927cb': ['prepareRoll(uint256,uint256,uint256)'], + '0x57764094': ['getRate(uint256)'], + '0x1dea0c57': ['getRealBet(uint256)'], + '0x3e0dfbdf': ['getInvestorByAddress(address)'], + '0xe5a27038': ['Pluton(uint256,string,uint8,string)'], + '0xcae9ca51': ['approveAndCall(address,uint256,bytes)'], + '0xc2412676': ['Token()'], + '0x3ccb7dc9': ['CrowdFund(uint256,uint256)'], + '0xe5225381': ['collect()'], + '0x3059ac30': ['Escrow(address,address)'], + '0x924c28c1': ['ContractInterface(address,address,address)'], + '0xdabc706e': ['getProposalCost()'], + '0x0380e2f3': ['getHashOfTheSignedDocument()'], + '0xd02a9889': ['getDateOfFirstPayment()'], + '0x938199a5': ['getDateOfLastPayment()'], + '0x708f29a6': ['getTotalPayments()'], + '0x270cfee1': ['getTokenAccount()'], + '0x00faf4dd': ['getTokenDivisor()'], + '0x8b863095': ['setContractorProposal(uint256,bytes)'], + '0x3e0d4f4a': ['ApproveContractorProposal()'], + '0xb7538f3e': ['ChangeClient(address)'], + '0x9ae4e388': ['ChangeClientTokenAccount(address,bool)'], + '0x9462eae5': ['ChangeContractor(address)'], + '0xea4af029': ['ConferenceCertification()'], + '0xd1f7a4e4': ['createCertificate(bytes)'], + '0x89eedf00': ['setPdfHash(bytes,bytes)'], + '0xbb3b8dca': ['getCertificateHash(bytes)'], + '0xc2def3b9': ['getOrganizer()'], + '0xb81e43fc': ['getEventName()'], + '0xe5dd90a5': ['HumanStandardToken(uint256,string,uint8,string)'], + '0x5d5bc4cb': ['BetOnRed()'], + '0x29d6f899': ['BetOnBlue()'], + '0xd0821b0e': ['bet(uint8)'], + '0x354d7e40': ['Payout()'], + '0x72c7c85a': ['minority()'], + '0x8f4ffcb1': ['receiveApproval(address,uint256,address,bytes)'], + '0x8a323b38': ['Contract(uint256,string,uint8,string)'], + '0x26745909': ['PRNG_Challenge()'], + '0xd2ef7398': ['challenge()'], + '0x76da5667': ['admin_kill()'], + '0xc2985578': ['foo()'], + '0x63bfe3d8': ['SkillBeatsLuck()'], + '0x478ae93c': ['playToWin(uint256)'], + '0x6a9d2afd': ['playToWinTest(uint256)'], + '0x793cd71e': ['cashOut()'], + '0x2530c905': ['rand(uint256)'], + '0x17db59a4': ['dEthereumlotteryNet(address,address,address)'], + '0xa0f029fc': ['ContractorInterface(address,address,address)'], + '0xf765088f': ['UpdateClientAddress(address)'], + '0x64e24f4b': ['UpdateClientTokenAccount(address)'], + '0xa36c8ec2': ['UpdateContractorAddress(address)'], + '0x84dac46e': ['Fucksign()'], + '0xfc1f2a70': ['Add(uint256,string,string)'], + '0xa87d942c': ['getCount()'], + '0xe3914699': ['dEthereumlotteryNetWinners(address)'], + '0x477bddaa': ['setContractAddress(address)'], + '0xc6ae3b57': ['dEthereumlotteryNet(address,address)'], + '0xe1376da2': ['updateFirstActiveGamble(uint256)'], + '0xd499555b': ['getFirstActiveDuel()'], + '0xf99fc046': ['dEthereumlotteryNet()'], + '0xc494f71a': ['LedgerFund(uint32,uint32,uint64,uint64)'], + '0xcdb6753b': ['setNav(uint32)'], + '0xc8691b2a': ['getHistory(uint256)'], + '0xbe1c766b': ['getLength()'], + '0x7cef6047': ['getNavHistory(uint256)'], + '0x9287c877': ['getNavLength()'], + '0xdd67a360': ['OrderLifeCycle()'], + '0x712ca0f8': ['getOrder(string)'], + '0xe3280126': ['addOrder(string,bool)'], + '0x1d8b70da': ['order_received(string)'], + '0x64265b1a': ['share_transfered(string)'], + '0x96ef7aa0': ['cash_transfered(string)'], + '0x13b2663b': ['cash_received(string)'], + '0xd052fbf6': ['getHistory(string,uint256)'], + '0x6981b5f4': ['getLength(string)'], + '0xbc9147a4': ['Foundation()'], + '0x6389654e': ['changeDailyWithdrawalLimit(uint256)'], + '0x12d00c2e': ['soloWithdraw(uint256)'], + '0xa4699cad': ['resetWithdrawls()'], + '0x3e476053': ['moveFunds(address,uint256)'], + '0xf5c8d71b': ['forceMove(address,address,uint256)'], + '0xfbae5e7d': ['Investors(uint256)'], + '0x1ceea715': ['GetMyInvestFee()'], + '0x1d2dbb22': ['CancelMyInvest()'], + '0xfee35ff8': ['newInvest(uint256,address,uint256)'], + '0x0ff0a4df': ['reFund()'], + '0x932db761': ['profitsFromBitnationDebitCard()'], + '0x79baa8a9': ['BasicIncome_CoFund()'], + '0x983ef725': ['getDifficulty(uint256)'], + '0xf00acc47': ['prepareRoll(uint256,uint256)'], + '0xf3c7d275': ['prenup(string,string,string,string,string,address,address)'], + '0x86a5ff97': ['changeStatus(string)'], + '0xffcce369': ['changeIPFSHash(string)'], + '0xb47d89ad': ['Details()'], + '0x24c9bf5e': ['Prizes()'], + '0xcee6ee38': ['aEthereumlotteryNet()'], + '0x91d8b14e': ['BuyTickets()'], + '0xd224118f': ['PrepareDraw()'], + '0xd4e78272': ['Draw()'], + '0xacc5a0dc': ['GetPrize()'], + '0xfea2920e': ['createNewDraw()'], + '0x350fbe2e': ['calcNextDrawTime()'], + '0x82f0d875': ['makeHash()'], + '0x206a44f3': ['getNum(bytes,uint256)'], + '0x5ed84aa6': ['getNymCenterAPIURL()'], + '0x4cdb48e4': ['isValidNym(address)'], + '0xf1320af2': ['exempt(address)'], + '0xf9e84395': ['unexempt(address)'], + '0xcc872b66': ['issue(uint256)'], + '0xdb006a75': ['redeem(uint256)'], + '0x879d46fd': ['DAOTrust(address,address,bytes,uint256,uint256,uint128)'], + '0xf7b89a3e': ['getTotalCosts()'], + '0x550538f6': ['getOneTimeCosts()'], + '0x0acc4382': ['getMinDailyWithdrawLimit()'], + '0xc988d70f': ['getDailyWithdrawLimit()'], + '0xd7ccc2c3': ['getLastPayment()'], + '0x7648c929': ['returnRemainingEther()'], + '0x6b256f57': ['DAOSecurity(address,address,bytes,uint256,uint256,uint128)'], + '0x293ffca3': ['AddressReg()'], + '0x63a9c3d7': ['verify(address)'], + '0x0d368fee': ['deverify(address)'], + '0xd173707d': ['hasPhysicalAddress(address)'], + '0x5f2e686d': ['Ethereum_eight_bagger()'], + '0x1437f9a3': ['Set_your_game_number(uint16)'], + '0xc3d23e10': ['checkBet()'], + '0xfd68a422': ['returnmoneycreator(uint8,uint128)'], + '0x6673ce2b': ['Results_of_the_last_round()'], + '0x2c329e99': ['Last_block_number_and_bloctime_used()'], + '0xdb641ab4': ['Game_balance_in_Ethers()'], + '0xd6f42038': ['PhoneToAddress()'], + '0x4636a159': ['newPhoneToAddr(address,uint256)'], + '0xe3ffc9a3': ['sendEtherToOwner()'], + '0xb958a5e1': ['getPhoneByAddress(address)'], + '0x1f83f440': ['getPaymentByAddress(address)'], + '0xa02b9aac': ['getPaymentDataByAddress(address)'], + '0xfe97ee88': ['hasPhone(address)'], + '0x11103599': ['Token_Offer(address,address,uint16)'], + '0x7824407f': ['tokenSupply()'], + '0xd0febe4c': ['buyTokens()'], + '0x0e662cf0': ['buyTokens(uint16)'], + '0x8ed67a44': ['setPrice(uint16)'], + '0xdc52696f': ['tokenSupplyChanged()'], + '0xf29d2f28': ['setTokenHolder(address)'], + '0x7b1a4909': ['transferETH(address,uint256)'], + '0x19901f1d': ['TokenSale(uint256,uint256)'], + '0x13d4bc24': ['buyTokenProxy(address)'], + '0xe8038e25': ['TokenSale(uint256,uint256,address)'], + '0x3fc6bc94': ['payDAO()'], + '0x81788e2b': ['addAllowedAddress(address)'], + '0x0b6d8d52': ['createDAO(address,uint256,uint256)'], + '0x656d2f63': ['ManagedAccount(address)'], + '0xb2e85b67': ['getPlayerStatus(address,uint256)'], + '0x1ce624d6': ['Crypted_RPS()'], + '0xb50954b6': ['cancelWaitingForOpponent()'], + '0xa28ecf0b': ['sendCryptedHand(bytes)'], + '0x3f2f46b4': ['revealRock(string)'], + '0xe7740cf9': ['revealPaper(string)'], + '0x953307d8': ['revealScissors(string)'], + '0xe1bc3003': ['reveal(bytes,string)'], + '0xf91a792e': ['decryptHand(string,uint256,uint256,uint256)'], + '0x0cf45ba5': ['updateFirstDuel2(uint256)'], + '0x2d0104a5': ['updateFirstDuel1(uint256)'], + '0x528fd7b0': ['manualPayExpiredDuel()'], + '0x6f52167d': ['payDuel(address,string,address,string)'], + '0xb1418cf4': ['payHouse()'], + '0x717fedf0': ['getFirstActiveDuel1()'], + '0xcb10e0c5': ['getLastDuel1()'], + '0x8dc45377': ['getDuel1(uint256)'], + '0xb782fc9b': ['getFirstActiveDuel2()'], + '0x67bd69a6': ['getLastDuel2()'], + '0x96f7807a': ['getDuel2(uint256)'], + '0xdd10d97e': ['getPlayerWaiting()'], + '0x92093dd6': ['getLastResult()'], + '0x81a60c0d': ['getResults(uint256)'], + '0xb5bfdd73': ['addDSource(string,bytes1,uint256)'], + '0x0f825673': ['deleteCoupon(string)'], + '0xdb37e42f': ['multisetProofType(uint256[],address[])'], + '0xd9597016': ['multisetCustomGasPrice(uint256[],address[])'], + '0x68742da6': ['withdrawFunds(address)'], + '0xca6ad1e4': ['setCustomGasPrice(uint256)'], + '0xa6f9dae1': ['changeOwner(address)'], + '0x64aabe92': ['tryExec(address,bytes,uint256)'], + '0xad8d5f48': ['exec(address,bytes,uint256)'], + '0xa6a20ff6': ['DSEasyMultisig(uint256,uint256,uint256,uint256)'], + '0xc9030ea0': ['addMember(address,bool)'], + '0xc7d6faf1': ['easyPropose(address,uint256)'], + '0x31c2bd0b': ['propose(address,bytes,uint256)'], + '0x1555e337': ['ConferenceCertificate()'], + '0x9844347b': ['createCertificate(bytes,bytes,uint256,bytes)'], + '0x682d3bb0': ['pdfCertificateProof(bytes)'], + '0x73e30e49': ['majorEventFunc(uint256,bytes,bytes)'], + '0x53850db3': ['getParticipantById(uint256)'], + '0xad605729': ['getParticipantCount()'], + '0x28f90e4b': ['Etheramid2()'], + '0xe67cdfb7': ['moveOldUser(uint256)'], + '0xe837ab59': ['getParticipantByAddress(address)'], + '0x9c7e8a03': ['addParticipant(address,address,uint256)'], + '0xd014c01f': ['enter(address)'], + '0xb3ea3924': ['PointlessCoin(int256,uint256,string,uint8,string,address)'], + '0xe724529c': ['freezeAccount(address,bool)'], + '0xf7c9f74a': ['insert_contribution(address,uint256)'], + '0x3f19d043': ['getContributions(address)'], + '0x0a2282ae': ['JackPot()'], + '0xc431f885': ['addToContribution()'], + '0x1f1f5e76': ['addValueToContribution(uint256)'], + '0x6e2cde85': ['drawPot(string,string)'], + '0x8afa08bd': ['setDrawDate(uint256)'], + '0xea3d2827': ['selectWinner(string)'], + '0x744d8b4f': ['recordWin(uint256,uint256)'], + '0x83197ef0': ['destroy()'], + '0x06005754': ['nameRegAddress()'], + '0xf9a7a2ef': ['named(bytes)'], + '0xb028ee13': ['s2b(string)'], + '0x2f570a23': ['test(bytes)'], + '0xcd50d44f': ['CheckRepresentment()'], + '0xa23744f0': ['tryCreateCheckRecord(bytes)'], + '0xfa8dc33a': ['checkRecordExists(bytes)'], + '0x4ac6b2be': ['getCheckRecordCreator(bytes)'], + '0x46e44f63': ['getCheckRecordTS(bytes)'], + '0xa352f1a8': ['calcSHA3(bytes)'], + '0x1eb5ea2e': ['returnFunds()'], + '0x4fa99dd0': ['Matching_Ethers()'], + '0x1a1df394': ['Play(bool)'], + '0xde14bbf7': ['randomGen(uint256,uint256)'], + '0x7f98444f': ['randomEnd()'], + '0x749aa2d9': ['endRound()'], + '0x60f8af90': ['refundRound()'], + '0x51b42b00': ['deactivate()'], + '0xd18611d6': ['reactivate()'], + '0xcbd08c8c': ['config(uint256,uint256,uint256,uint256)'], + '0xd68199dc': ['gameStats()'], + '0xb7297cf3': ['gameSettings()'], + '0xdfc765dc': ['getMatchers_by_index(uint256)'], + '0x3855dcd6': ['getContrarians_by_index(uint256)'], + '0x477801b1': ['getLastRoundResults_by_index(uint256)'], + '0x1c5d9faa': ['setNickname(string)'], + '0xadaccd74': ['getNickname(address)'], + '0xac5e81a9': ['historyPayout(address)'], + '0xd7c23572': ['historyTimesPlayed(address)'], + '0xf4b2dfea': ['Matching_Finneys()'], + '0x7df23b6a': ['ReleaseOracle(address[])'], + '0x46f0975a': ['signers()'], + '0xbf8ecf9c': ['authProposals()'], + '0x64ed31fe': ['authVotes(address)'], + '0x9d888e86': ['currentVersion()'], + '0x26db7648': ['proposedVersion()'], + '0xd0e0813a': ['promote(address)'], + '0x5c3d005d': ['demote(address)'], + '0x01b869f1': ['release(uint32,uint32,uint32,bytes)'], + '0xbc8fbbf8': ['nuke()'], + '0xf460590b': ['updateSigner(address,bool)'], + '0x5bc7e259': ['updateRelease(uint32,uint32,uint32,bytes,bool)'], + '0x60eb2826': ['Badge()'], + '0xee95feaf': ['isSeller(address)'], + '0x64ac2c4a': ['WavesPresale()'], + '0x09957e69': ['newSale(bytes,uint256,uint256)'], + '0x779beca0': ['getNumOfSalesWithSameId(bytes)'], + '0xe2b05077': ['getSaleDate(bytes,uint256)'], + '0x67eae672': ['sendCoinFrom(address,uint256,address)'], + '0xc86a90fe': ['sendCoin(uint256,address)'], + '0xd26c8a8a': ['coinBalance()'], + '0xbbd39ac0': ['coinBalanceOf(address)'], + '0xdaea85c5': ['approve(address)'], + '0x673448dd': ['isApproved(address)'], + '0x1fa03a2b': ['isApprovedFor(address,address)'], + '0x1c14179a': ['GavCoin()'], + '0x99f4b251': ['mine()'], + '0x58150c8b': ['GameRegistry()'], + '0x3c21db0a': ['theGames(uint256)'], + '0xe06174e4': ['settings()'], + '0xe37aa618': ['distributeValue()'], + '0x0d7af726': ['addGame(address,string,string)'], + '0x30945443': ['update(address,string,string)'], + '0xc3c5a547': ['isRegistered(address)'], + '0x617fba04': ['getRecord(address)'], + '0xfa544161': ['getOwner(address)'], + '0x4b70cec4': ['getTime(address)'], + '0x644998ae': ['maintain(int256,uint256,uint256)'], + '0x0aeacb5e': ['getTotalRecords()'], + '0x990c8f79': ['returnValue()'], + '0xea2d4cf8': ['__DeployerFunctions(address,address,uint256)'], + '0x3ac5cb73': ['GeometricPonzi()'], + '0x1b55ba3a': ['Start()'], + '0xe59f611f': ['InputLimit(uint256)'], + '0xcec1365a': ['ShortLimit(uint256)'], + '0xde640e19': ['Investment(uint256)'], + '0xb3dfcdc3': ['Contribution(uint256)'], + '0xa7eeea37': ['NewContributor(uint256)'], + '0x28f03554': ['ProcessDividend()'], + '0xc0b6f0c2': ['NextRoundAndEvents()'], + '0x5afeb106': ['Sqrt()'], + '0x0a4d564c': ['TieUpLooseEnds()'], + '0xdabf7dc8': ['PayoutDividendEarly(uint256,bool)'], + '0x9f9eac67': ['ChangeName(string)'], + '0x68f65f02': ['ChangeShownDenomination(bool,bool,bool,bool)'], + '0x29f27577': ['InvestorList(uint256)'], + '0x8c88752a': ['ContributorList(uint256)'], + '0x979b6f6f': ['RoundInfo()'], + '0x17e875e3': ['Transparancy()'], + '0xc08dd1dc': ['IOU(string,string,uint8)'], + '0xc2a95cc9': ['updateTrustSettings(address,uint256)'], + '0x7682e6ff': ['getTrustSetting(address)'], + '0x4889ca88': ['receiveApproval(address,uint256,address)'], + '0x3177029f': ['approveAndCall(address,uint256)'], + '0xd30fbd0d': ['safeSubtract(uint256,uint256)'], + '0xbe040fb0': ['redeem()'], + '0x4ff13571': ['x2()'], + '0xe97dcb62': ['enter()'], + '0xc8796572': ['collectFees()'], + '0xb6509c12': ['Ethereum_twelve_bagger()'], + '0x421aeda6': ['Set_your_game_number(string)'], + '0x00873367': ['comparisonchr(string)'], + '0x43e332c5': ['Last_block_number_and_blockhash_used()'], + '0xdd36e18b': ['ContractStatus()'], + '0x269975d0': ['GameDetails(uint256)'], + '0x068c966b': ['DrawDetails(uint256)'], + '0x86e4e178': ['CheckTickets(address,uint256,uint256)'], + '0x9bb5239a': ['CheckPrize(address,uint256)'], + '0x83b23b40': ['cEthereumlotteryNet()'], + '0xe56b9dce': ['GetPrize(uint256)'], + '0xd7e11e9d': ['AddTicket(bytes)'], + '0x3fbd40fd': ['ProcessDraw()'], + '0x9d3e069c': ['StartDraw()'], + '0x3211bb90': ['OwnerAddFunds()'], + '0xcc131be1': ['CreateNewDraw(uint256)'], + '0xd1d1c8ae': ['ConvertNumbers(bytes)'], + '0x7154ae61': ['CheckNumbers(uint8[5])'], + '0x05433a26': ['GetNumbersFromHash(bytes)'], + '0x090637a1': ['GetPart(bytes,uint256)'], + '0xe3da41b5': ['sortWinningNumbers(uint8[5])'], + '0x244c23ee': ['Token(uint256,string,uint8,string)'], + '0xe0429b6c': ['ShinySquirrels()'], + '0xc038a38e': ['totals()'], + '0xc8e4acef': ['playerByAddress(address)'], + '0xe46164c5': ['waitingForPayout()'], + '0x030d406b': ['entryPayout(uint256)'], + '0xfd35e71b': ['entryPayoutDue(uint256)'], + '0xb95594e5': ['lineOfPlayers(uint256)'], + '0x93e84cd9': ['play()'], + '0x99c724ef': ['skipInLine(uint256,uint256)'], + '0x67f809e9': ['DynamicPyramid()'], + '0x1da0fb1b': [ + 'updateSettings(uint256,uint256,uint256,uint256,uint256,bool)' + ], + '0x60689557': ['Rock()'], + '0xaf769eff': ['Paper()'], + '0x25ea269e': ['Scissors()'], + '0x00c721ab': ['setHand(uint256)'], + '0xd2b8035a': ['draw(uint256,uint256)'], + '0x2ad95786': ['winner(address)'], + '0x6a0e605f': ['MyToken(uint256,string,uint8,string,address)'], + '0x1b5ee6ae': ['mintToken(int256,address,uint256)'], + '0x2a64fb63': ['getSaleDate(bytes)'], + '0xd8e5ae6a': ['Etheramid()'], + '0xd35ada32': ['addParticipant(address,address)'], + '0x67dd74ca': ['buyTicket(uint256)'], + '0x48d9614d': ['GetFee()'], + '0x2675c123': ['CloseContract()'], + '0x501e8428': ['getPart(bytes,uint256)'], + '0x420a8ac8': ['NanoPyramid()'], + '0xa26dbf26': ['totalParticipants()'], + '0x64d905c0': ['awaitingParticipants()'], + '0x3133f2a7': ['outstandingBalance()'], + '0x6ec3af26': ['addTrustedIssuer(address,bytes)'], + '0x249b4d0b': ['removeTrustedIssuer(address,bytes)'], + '0xd3437fe0': ['assertFact(uint256,bytes)'], + '0x4c4766e8': ['KittenRegistry()'], + '0x3ead67b5': ['changeContractOwner(address)'], + '0x1043dcdf': ['LastIsMe(uint256,uint256)'], + '0xa5f8cdbb': ['buyTicket(address)'], + '0x313b7b19': ['finance()'], + '0xb974b0a3': ['allData()'], + '0x3b355af6': ['baseData()'], + '0x2f29d8c5': ['elapsed()'], + '0x55234ec0': ['remaining()'], + '0xbcc941b6': ['totalWinners()'], + '0x1e2ca0f3': ['updateLeftLottery(address)'], + '0xb2353d69': ['updateRightLottery(address)'], + '0x4a67fa7d': ['setLotteryFee(uint256)'], + '0x5a09f2f4': ['setHouseFee(uint256)'], + '0x5af77fff': ['Contract()'], + '0x315e2f1b': ['setTestString(string)'], + '0xd8c90762': ['addTrustedIssuer(address,string)'], + '0xf24b5779': ['removeTrustedIssuer(address,string)'], + '0xfe05e8b1': ['assertFact(uint256,string)'], + '0x5fb3e119': ['Auction()'], + '0xfe777bcd': ['etherForSale()'], + '0x78e97925': ['startTime()'], + '0x3197cbb6': ['endTime()'], + '0xe6d9bb0f': ['secondsUntilEnd()'], + '0x44691f7e': ['hasStarted()'], + '0xecb70fb7': ['hasEnded()'], + '0x5dd672ec': ['latestBid()'], + '0x63bd1d4a': ['payout()'], + '0xd98b9bb5': ['placeBid(address,uint256)'], + '0x90c3a370': ['AuctionMaster()'], + '0xd5563f31': ['createAuction(uint256)'], + '0xe6690fb1': ['nextAuction(uint256)'], + '0xf2b26d8f': ['nextEtherForSale()'], + '0x7a791524': ['setNextFeePercentage(uint8)'], + '0x5d068051': ['sendFees(address)'], + '0xb40a5627': ['bidCount()'], + '0x2da0d1ea': ['etherSold()'], + '0xdeb6930c': ['PriceTicker()'], + '0xa2e62045': ['update()'], + '0x7bc25372': ['UserCheckBalance(address)'], + '0x53b7b2e9': ['cEthereumlotteryNet(bytes)'], + '0x78e80b39': ['UserGetPrize()'], + '0x2b291eb6': ['UserAddTicket(bytes)'], + '0x3e0663e0': ['AdminDrawProcess()'], + '0xd96de4ce': ['AdminDrawError()'], + '0xe26c8434': ['AdminStartDraw(string,bytes)'], + '0x370b6939': ['AdminSetDrawer(address)'], + '0x0acf473b': ['AdminCloseContract()'], + '0x3fa6497f': ['AdminAddFunds()'], + '0xb6294bde': ['AdminGetFee()'], + '0xc1e5304a': ['CreateNewDraw(uint256,bytes)'], + '0xbf32bf97': ['FailGuyTax()'], + '0x24a852c6': ['unset(bytes)'], + '0x804ba97a': ['tryGet(bytes)'], + '0x2a0d79ef': ['totalSupply(bytes)'], + '0x8606f905': ['balanceOf(address,bytes)'], + '0x5fd9dff6': ['allowance(address,address,bytes)'], + '0xab67aa58': ['transferFrom(address,address,uint256,bytes)'], + '0x5c17f9f4': ['approve(address,uint256,bytes)'], + '0x669dafe8': ['toWei(uint256)'], + '0xe4fc6b6d': ['distribute()'], + '0xb78b52df': ['allocate(address,uint256)'], + '0x6617e11a': ['NiceGuyTax()'], + '0x0a7493b4': [ + 'Etheropt(uint256,string,uint256,uint256,bytes,address,int256[])' + ], + '0x7c7c7695': ['getAccountID(address)'], + '0xce88b145': ['getAccount(uint256)'], + '0xa26759cb': ['addFunds()'], + '0x155dd5ee': ['withdrawFunds(uint256)'], + '0x5c665f89': ['getFunds(address,bool)'], + '0xd5544f94': ['getFundsAndAvailable(address)'], + '0x502414e4': ['marketMaker(string)'], + '0x2043285d': ['getMarketMakers()'], + '0x0e1087c3': ['getMarketMakerFunds()'], + '0x756fb8c9': ['getOptionChain()'], + '0xd4dfadbf': ['getMarket(address)'], + '0xc398f030': ['expire(uint256,uint8,bytes,bytes,bytes)'], + '0xec0b4153': ['getMoneyness(int256,uint256,uint256)'], + '0xc6cb7a96': [ + 'orderMatchTest(uint256,uint256,int256,uint256,uint256,address,address,uint256,int256)' + ], + '0x6663bbec': [ + 'orderMatch(uint256,uint256,int256,uint256,uint256,address,uint8,bytes,bytes,int256)' + ], + '0x17c65aa7': ['getMaxLossAfterTrade(address,uint256,int256,int256)'], + '0x209a5b8a': ['moneySumAtSettlement(address,uint256,int256,uint256)'], + '0x7d619d9b': ['holdCoin(address,address)'], + '0xa66f7ad6': ['signRelease(uint256)'], + '0xbff0fbb8': ['calculateMeat(uint256)'], + '0xb8d3bfe3': [ + 'MeatGrindersAssociation(address,address,uint256,uint256,uint256,address)' + ], + '0x5938748e': ['changeVotingRules(address,address,uint256,uint256,uint256)'], + '0xeb08b304': ['changeMeatProvider(address)'], + '0x677342ce': ['sqrt(uint256)'], + '0x4ae85627': ['grindUnicorns(uint256)'], + '0x9a92b7e7': ['EthVenturesFinal()'], + '0x1097e579': ['Enter()'], + '0x3edd90e7': ['NewOwner(address)'], + '0x6b1781b6': ['Emergency()'], + '0x611daa7e': ['EmergencyBalanceReset(uint256)'], + '0x476e04c7': ['NewMessage(string)'], + '0x4cd11943': ['NewManualInvestor(address,uint256)'], + '0x112c7075': ['ManualDeposit()'], + '0x9f7f760c': ['SimpleDice()'], + '0x8fcc9cfb': ['setMinDeposit(uint256)'], + '0x45596e2e': ['setFeeRate(uint256)'], + '0x4b09ebb2': ['e_exp(uint256)'], + '0x24d4e90a': ['ln(uint256)'], + '0x084d72f4': ['getWinningOutcome(uint256)'], + '0xabebb7f3': ['MarketsContract()'], + '0x74580e2f': ['changeCreator(address)'], + '0x5a58cd4c': ['deleteContract()'], + '0xcdd13701': ['getEventHashes(uint256[256])'], + '0xb2c652f3': ['getMarkets(uint256[128])'], + '0x90e3c278': ['getShares(uint256[128])'], + '0x76abc03b': ['getShareDistribution(uint256)'], + '0xff49b26e': [ + 'createEvent(uint256,uint256,uint8,uint32,address,uint256,uint8)' + ], + '0x7a29332d': ['buyAllOutcomes(uint256,uint256)'], + '0x4757f1d2': ['redeemAllOutcomes(uint256,uint256)'], + '0x154af6b1': ['sendShares(uint256,uint8,uint256,address)'], + '0xd7ed7453': ['redeemWinnings(uint256)'], + '0x1335ff36': [ + 'createEventAndMarketMaker(uint256,uint256,uint8,uint32,address,uint256,uint8,uint16,uint256)' + ], + '0x968908a3': ['createMarketMaker(uint256,uint16,uint256)'], + '0xc7489441': ['closeMarketMaker(uint256)'], + '0x3f887fad': ['buyShares(uint256,uint8,uint256,uint256)'], + '0x590528a9': ['sellShares(uint256,uint8,uint256,uint256)'], + '0x7ef1925b': ['getShareRange(uint256,uint8)'], + '0x550dd006': ['calcCostsBuying(uint256,uint8,uint8,uint256)'], + '0x6111dd02': ['calcCostsSelling(uint256,uint8,uint8,uint256)'], + '0x8112821f': ['EthVentures()'], + '0xa20495d3': ['Managed()'], + '0xb3a2a6c0': ['setOfficialWebsite(string)'], + '0xa49d53a1': ['SmartRevshare()'], + '0x3d750b28': ['found()'], + '0x14ba5c09': ['getDay()'], + '0xcde99727': ['calculateROI()'], + '0x791b51f1': ['Consulting(address,address)'], + '0x51a5f2f2': ['ConsultingHalf(address,address)'], + '0x06900c41': ['ZeroPonzi()'], + '0x61472fd4': ['CSGOBets()'], + '0x940c154b': ['lockBet(uint256)'], + '0xe1152343': ['payout(uint256)'], + '0x85b1423e': ['returnAll()'], + '0xd7a58658': ['changeHouseedge(uint8)'], + '0x41fa4876': ['multiBlockRandomGen(uint256,uint256)'], + '0x340ddda6': ['MeatConversionCalculator(uint256,uint256)'], + '0x6fa8de90': ['changeMeatParameters(uint256,uint256)'], + '0xa80d4e9a': ['EtherAuction(uint256)'], + '0xe1c7392a': ['init()'], + '0x1998aeef': ['bid()'], + '0xfe67a54b': ['endAuction()'], + '0x547eeac1': ['acceptTransfer()'], + '0xed54746e': ['lastAuction()'], + '0xec93cfae': ['FountainOfWealth()'], + '0x2a745971': ['BlockKing()'], + '0x2431f164': ['process_payment()'], + '0x8e035ac1': ['BetOnHashV82()'], + '0x547916ea': ['finishRound()'], + '0xb688a363': ['join()'], + '0x6bf8f85a': ['forceFinish()'], + '0x9eded57a': ['paybackLast()'], + '0x72388610': ['paybackAll()'], + '0x758b5172': ['setPlayersPerRound(uint256)'], + '0x07da68f5': ['stop()'], + '0xa77b2e37': ['Coin()'], + '0xd0679d34': ['send(address,uint256)'], + '0x37ae43a3': ['BetOnHashV81()'], + '0xd850288b': ['etherlist_top()'], + '0x4789aaef': ['EthereumDice()'], + '0xc2e9fab3': ['SubUser()'], + '0x6d853ab6': ['isSubUser(address)'], + '0x018f5472': ['isAUser(address)'], + '0xc5d5997c': ['changeSubUser(address,address)'], + '0x0870607b': ['addSubUser(address)'], + '0x7ccfd45a': ['removeSubUser(address)'], + '0xbaf00f76': ['removeAllSubUsers()'], + '0x1a93fa4b': ['reorganizeSubUsers()'], + '0x8b9e5385': ['MeterSlock(uint256,uint256,address)'], + '0xf5bade66': ['setDeposit(uint256)'], + '0x91b7f5ed': ['setPrice(uint256)'], + '0xb29b5366': ['setRentable(bool)'], + '0xbe9a6555': ['start()'], + '0x6299f8cf': ['stop(uint256)'], + '0xd12c1e28': ['badgesOf(address)'], + '0x70844f7a': ['sendBadge(address,uint256)'], + '0x615664ba': ['Market()'], + '0x177766e6': ['getOptionChain(uint256)'], + '0x5025b9ae': ['expire(uint256,uint256,uint8,bytes,bytes,bytes)'], + '0x0448f79f': [ + 'addOptionChain(uint256,string,uint256,uint256,bytes,address,int256[])' + ], + '0x42bf4431': [ + 'orderMatchTest(uint256,uint256,uint256,int256,uint256,uint256,address,address,int256)' + ], + '0xb3760c80': [ + 'orderMatch(uint256,uint256,uint256,int256,uint256,uint256,address,uint8,bytes,bytes,int256)' + ], + '0xfe4667e9': ['getMaxLossAfterTrade(address,uint256,uint256,int256,int256)'], + '0x69d79ad5': [ + 'moneySumAtSettlement(address,uint256,uint256,int256,uint256,uint256)' + ], + '0xabcf1328': ['InterestBank()'], + '0x6fc9d5e4': ['changeCompareTo(uint256)'], + '0x315fdea3': ['TreasureChest()'], + '0xeebf9808': ['PiggyBank()'], + '0xf9391d24': ['AllPayAuction()'], + '0xecfc7ecc': ['placeBid()'], + '0x6b64c769': ['startAuction()'], + '0xf449619e': ['collectPrize(uint256)'], + '0x003b9d88': ['setLowerFeePercentage(uint8)'], + '0x164e68de': ['withdrawFees(address)'], + '0xdd467064': ['lock(uint256)'], + '0x1aa3a008': ['register()'], + '0x362e2565': ['returnDeposits()'], + '0xcc8b34ab': ['CrowdCoin()'], + '0x9a777d5d': ['buyCoins()'], + '0x84054d3d': ['cashout()'], + '0xa3053236': ['SafeInvestments()'], + '0xc31d0031': ['CrowdFundDAO(string,uint8,string)'], + '0x45755dd6': ['returnFunds(uint256)'], + '0x9b5fde7d': ['payOut(uint256,string)'], + '0x51d38d5f': ['addDeveloper(address,string)'], + '0xd9d73887': ['Diana()'], + '0x8691162a': ['TlcCoin()'], + '0x4b8e1ba8': ['isMinter(int256,address)'], + '0x4594d06a': ['delMinter(int256,address)'], + '0xc478fc37': ['EtherWheel(uint256,uint256,uint8)'], + '0x8f03850b': ['numContributors()'], + '0x8b7bcc86': ['numWinners()'], + '0xe3083fb5': ['removeFromContribution(uint256)'], + '0x88017e05': ['setContribution(uint256)'], + '0x33a99e04': ['selectWinner()'], + '0x739b47ca': ['recordWin(address)'], + '0x6e940a29': ['changeHost(address)'], + '0x4cdc6a73': ['Marriage()'], + '0xce60f78d': ['createMarriage(bytes,bytes,uint256,bytes,bytes)'], + '0xaf408d89': ['setStatus(bytes)'], + '0x26826bf8': ['setImage(bytes)'], + '0xe771066f': ['marriageProof(bytes)'], + '0x6f3a7561': ['SimpleAuction(address)'], + '0x2a24f46c': ['auctionEnd()'], + '0x824dbc9a': ['changeMembership(address,uint256,bool,string)'], + '0x522103fa': ['changeUnicorn(uint256,address)'], + '0x83876bc9': ['newProposalInWei(address,uint256,string,bytes)'], + '0xb9f256cd': ['newProposalInEther(address,uint256,string,bytes)'], + '0x0358d965': ['addPayout(uint256)'], + '0x686f2c90': ['collectAllFees()'], + '0xb4022950': ['collectFeesInEther(uint256)'], + '0x4229616d': ['collectPercentOfFees(uint256)'], + '0xced92670': ['changeMultiplier(uint256)'], + '0xfae14192': ['changeFeePercentage(uint256)'], + '0x6fbaaa1e': ['currentMultiplier()'], + '0x8a5fb3ca': ['currentFeePercentage()'], + '0x09dfdc71': ['currentPyramidBalanceApproximately()'], + '0x57d4021b': ['nextPayoutWhenPyramidBalanceTotalsApproximately()'], + '0x253459e3': ['feesSeperateFromBalanceApproximately()'], + '0xd11f13df': ['numberOfParticipantsWaitingForPayout()'], + '0x9dbc4f9b': ['participantDetails(uint256)'], + '0xea851885': ['buyStake(bool)'], + '0x7c3064f1': ['refundStake()'], + '0x20909fa0': ['communityCurrency()'], + '0x7817a60f': ['acceptMember(address,string)'], + '0xd9e947f3': ['kickOutMember(address)'], + '0xa5ea11da': ['getParameters()'], + '0xa5ebf389': ['getMoneyTotals()'], + '0xac4b2bae': ['newParameters(int256,uint256,int256,uint256)'], + '0x8da4d776': ['newCommune(address)'], + '0x9718b524': ['newTreasury(address)'], + '0x127714c7': ['getBudget()'], + '0x69c4113d': ['setNewBudget(uint256,uint256,uint256,uint256)'], + '0x69433e12': ['setExchange(uint256)'], + '0x70ab8ba8': ['creditUpdate()'], + '0xddb1bdc8': ['credit(address,uint256,uint256)'], + '0x1bad1d2e': ['monitorWallet(address)'], + '0x1b9f9647': ['accessMyWallet(address)'], + '0x85f8c16d': ['claimHours(int256)'], + '0x6a357465': ['payHours(address,uint256)'], + '0xea5ea470': ['payFunding(uint256)'], + '0x4f20f35a': ['payExpenses(address,uint256)'], + '0xc81caae7': ['acceptMember(address,string,string)'], + '0x80aed05f': ['LooneyDice()'], + '0xef7507c8': ['testWinner(uint256)'], + '0xcd5e3c5d': ['roll()'], + '0x699b328a': ['randomize()'], + '0x5601eaea': ['execute(uint256,uint256)'], + '0x4aa16737': ['enter(uint8)'], + '0x33f707d1': ['ownerWithdraw(uint256)'], + '0x37ab8f20': ['notifyPlayer(uint256,uint256,uint256,uint256)'], + '0xc2fb8f36': ['TinyHuman(address,address,address)'], + '0xad5c613d': ['purchase(bytes)'], + '0xd50495f4': ['addTransaction(bytes)'], + '0xb7f2f33c': ['transferRightIfApproved(address,bytes)'], + '0xed3058e0': ['transferRight(address,bytes)'], + '0xeba36dbd': ['setAddr(uint256,address)'], + '0x0790e880': ['setBlockappsAddr(address)'], + '0x8eec99c8': ['setNewAdmin(address)'], + '0x3d6a3664': ['setNewOracle(address)'], + '0x7ba38916': ['changeAdminFromBoard(address)'], + '0x279e0912': ['getDownloadPrice()'], + '0xb83069c5': ['getStemPrice()'], + '0xa33d4968': ['Tripler()'], + '0xe977992d': ['Doubler()'], + '0xa88c5ef7': ['NextPayout()'], + '0x8cf4dbfb': ['collectBalance()'], + '0x3169ff3e': ['LooneyLottery()'], + '0x4311de8f': ['ownerWithdraw()'], + '0x5d495aea': ['pickWinner()'], + '0xb94e962a': ['allocateTickets(uint256)'], + '0x1b83b823': ['notifyPlayer(uint256)'], + '0xc0a963c9': ['notifyWinner(address,uint256)'], + '0x5d3278f0': ['LooneyFifty()'], + '0x7bc49a95': ['play(uint256,uint256)'], + '0x2262cd94': ['wroom()'], + '0xd1738b72': ['wroomWroom()'], + '0x6d7da0b1': ['MyContract()'], + '0x7bb6a4c6': ['uno(uint256)'], + '0xa5468081': ['Pyramid(address)'], + '0x54ba7daa': ['enter(bytes,bytes)'], + '0xc80c28a2': ['getNumberOfParticipants()'], + '0xa480ca79': ['collectFees(address)'], + '0x483ba09e': ['setBitcoinBridge(address)'], + '0x02dc2e1d': ['queuePayment(bytes)'], + '0x27d6c032': ['unregister(bytes)'], + '0x6b4dd158': ['getPrice(bytes)'], + '0x7a6e9df7': ['getTimestamp(bytes)'], + '0x08b7fa31': ['PriceFeed()'], + '0xd249a52e': ['update(bytes,uint256[],uint256[])'], + '0x43d24a5e': ['addUpdater(address)'], + '0x04b07a5e': ['removeUpdater(address)'], + '0x76999896': ['KingOfTheEtherThrone()'], + '0xc8fdc891': ['numberOfMonarchs()'], + '0xb66a323c': ['claimThrone(string)'], + '0x0eb3f5a0': ['sweepCommission(uint256)'], + '0x55cc4e57': ['setIssuer(address)'], + '0x566735d8': ['PreVNK(uint256,string,string,uint8)'], + '0xb5d03751': ['YoutubeViews()'], + '0xaacf5328': ['setVideoID(string,uint256)'], + '0x788e26e7': ['sponsorDeposit()'], + '0x2a228fc2': ['processWithdrawals()'], + '0x01518d76': ['sendQuery(uint256)'], + '0x23145ca0': ['forceCheck()'], + '0x918f1bb5': ['ProjectKudos()'], + '0xd56b2889': ['finish()'], + '0x72929b56': ['getKudosPerProject(address)'], + '0x505ff574': ['register(address,uint256,bool)'], + '0xec3af4a9': ['getProjectKudos(address)'], + '0x94f60a63': ['getKudosLeft(address)'], + '0xe116b17e': ['getKudosLeftForProject(address,address)'], + '0xf4a81d08': ['getKudosGiven(address)'], + '0xda82a035': ['sweepCommission()'], + '0x2004dff6': ['Basics()'], + '0xc0aa18e7': ['History()'], + '0x84ebde52': ['Under_the_Hood()'], + '0xa9f6def0': ['HonestDice()'], + '0xaa9669c1': ['roll(uint256,bytes)'], + '0xa48566ba': ['serverSeed(address,bytes)'], + '0x59dac714': ['hashTo256(bytes)'], + '0xaa1e84de': ['hash(bytes)'], + '0xa094a031': ['isReady()'], + '0x2fac1d36': ['isReadyFor(address)'], + '0xef4592fb': ['getResult(bytes)'], + '0xf93589ce': ['didWin(bytes)'], + '0x06b5f02d': ['calcWinnings(uint256,uint256)'], + '0x2d9a37d3': ['getMaxPayout()'], + '0xc63ff8dd': ['claim(bytes)'], + '0xc7cf28fe': ['canClaimTimeout()'], + '0x0e1da6c3': ['claimTimeout()'], + '0x839930ba': ['getMinimumBet()'], + '0x0d1fce42': ['getBankroll()'], + '0x021991e7': ['getBetsLocked()'], + '0x55b775ea': ['setFeed(address)'], + '0x46b305d6': ['lockBetsForWithdraw()'], + '0xa1b9af31': ['unlockBets()'], + '0xc47bc007': ['add_funds()'], + '0xcce81927': ['EtherDice(address,address)'], + '0x89ef40e7': ['numberOfHealthyGenerations()'], + '0x918359c6': ['needsBirth()'], + '0x97950740': ['roomForBirth()'], + '0x32cea83e': ['birth(bytes)'], + '0xb3c1a588': ['parseMsgData(bytes)'], + '0x827ef325': ['_parseMsgData(bytes)'], + '0x83e78b31': ['bet(uint8,bool,uint8)'], + '0x21520c5f': ['calculatePayout(uint8,bool,uint256)'], + '0x2df8e00d': ['becomeMortal(uint256)'], + '0xe94a4db1': ['isSuitableGen(uint256,uint256)'], + '0x640f244b': ['findSuitableGen()'], + '0x62770252': ['needsFuneral(uint256)'], + '0xfed4614b': ['funeral(bytes,int256)'], + '0xf004073a': ['performAction(uint256)'], + '0x0fa9ced4': ['emergencyFuneral()'], + '0x99bb875c': ['funeralAndBirth(bytes,int256,bytes)'], + '0x44dd4b3b': ['lookupGeneration(uint256)'], + '0x784813e0': ['lookupBet(uint256,uint256)'], + '0xd5a4a3c6': ['findRecentBet(address)'], + '0xfe72e717': ['toDie(bytes)'], + '0x69bdfd3a': ['toContractDie(bytes,bytes,uint256)'], + '0x61886014': ['combineDice(uint8,uint8)'], + '0xe0457884': ['betResolution(uint8,uint8,uint8,bool)'], + '0x67acd805': ['lowerMinWager(uint256)'], + '0x03bda14e': ['raiseMaxNumBets(uint256)'], + '0xe87508be': ['investorDeposit()'], + '0xe6febc9b': ['investorWithdraw(uint256)'], + '0xd7206124': ['setInvestorLock(bool)'], + '0x0c1fad51': ['setSeedSourceA(address)'], + '0x6615dd83': ['setSeedSourceB(address)'], + '0xcd591822': ['CanaryV7Fast()'], + '0x21a49ec2': ['LCoin()'], + '0x02ba8742': ['sendCoins(address,uint256)'], + '0x3288eb0b': ['ChineseCookies()'], + '0x47b47102': ['bakeCookie(string)'], + '0xb78bd4a5': ['breakCookie(string)'], + '0xfce59d0c': ['MangoRepo()'], + '0xceebe28d': ['repoInterfaceVersion()'], + '0x80d9eaa6': ['refCount()'], + '0x8c79a24d': ['refName(uint256)'], + '0x9d170c5d': ['getRef(string)'], + '0x7d89ae63': ['__findRef(string)'], + '0x8bb0faee': ['setRef(string,string)'], + '0x5ae5df8f': ['deleteRef(string)'], + '0xadd82871': ['strEqual(string,string)'], + '0x098ab6a1': ['snapshotCount()'], + '0x76f10ad0': ['getSnapshot(uint256)'], + '0xfee6d28c': ['addSnapshot(string)'], + '0x8ac6a869': ['isObsolete()'], + '0x5cac8b27': ['amazing()'], + '0x04106c8b': ['startGeneration()'], + '0x434cb64c': ['startNextGeneration()'], + '0x11149ada': ['getProof(uint256)'], + '0x34c1b4ba': ['sha(bytes)'], + '0xf34ed4e6': ['RanDAOPlus(address)'], + '0x696bda86': ['submitProposal(uint256,bytes)'], + '0x141c4e60': ['challenge(uint256,address)'], + '0xd2756e11': ['finalizeNumber(uint256)'], + '0x28472c6c': ['claimComputation(bytes,bytes)'], + '0x287418e7': ['query(uint256,uint16)'], + '0xc3169ef2': ['respond(uint256,uint256[4])'], + '0xa068e8d3': ['convict(uint256,uint256,uint256,uint256)'], + '0x3f5e268f': ['convictInitial(uint256,uint256)'], + '0x89495172': ['convictFinal(uint256,uint256)'], + '0x87393bc6': ['verifyFirstHalf(uint256[4],uint256[4])'], + '0x6bc3e0f0': ['verifySecondHalf(uint256[4],uint256[4],uint256[4])'], + '0x00b5b223': ['computeResponse(uint256,uint16)'], + '0x990f3f53': ['computeResponseSecondHalf(uint256,uint16)'], + '0xe6e8c692': ['computeResponseFirstHalf(uint256,uint16)'], + '0x3b996f40': ['quarter(uint32,uint32,uint32,uint32)'], + '0x669e48aa': ['get(uint256,uint256)'], + '0x541aea0f': ['put(uint256,uint256)'], + '0xf2b445ad': ['rowround(uint256,uint256)'], + '0x6189be15': ['columnround(uint256,uint256)'], + '0x75ee85bd': ['salsa20_8(uint256,uint256)'], + '0x692ad3a9': ['round(uint256,uint256,uint256,uint256)'], + '0x19c32e0b': ['hmacsha256(bytes,bytes)'], + '0x15c91115': ['pbkdf2(bytes,bytes,uint256)'], + '0x7c7a52bf': ['newChallenge(uint256,address)'], + '0xbbdb31cb': ['challenge(uint256,address,bool)'], + '0x9af8c4ba': ['respond(uint256,address,bytes)'], + '0x18968a03': ['finalize(uint256,address,address)'], + '0xd500dd6a': ['challengeTimeout(uint256,bool,address)'], + '0x0ee07836': ['adjustDifficulty(uint256)'], + '0x60b1e173': ['getProof(uint256,address,address)'], + '0x98d5fdca': ['getPrice()'], + '0xd4871517': ['BTCLotto(address,uint256)'], + '0xc5b1d9aa': ['newRound()'], + '0xda333ca6': ['payOut(uint256)'], + '0x8f1327c0': ['getRound(uint256)'], + '0x0699d07d': ['updateMaxVal()'], + '0x1f794436': ['getBlockHeader(int256)'], + '0x02394872': ['getLastBlockHeight()'], + '0x09dd0e81': ['getBlockchainHead()'], + '0x0aece23c': ['getFeeAmount(int256)'], + '0x44d03ac6': ['BlockhashFetch(address)'], + '0x32254992': ['getPrevHash(int256)'], + '0x2cce81aa': ['getBlockHash(int256)'], + '0x66772438': ['computeResponse(uint16)'], + '0x2776a859': ['computeResponseSecondHalf(uint16)'], + '0xfe13a823': ['computeResponseFirstHalf(uint16)'], + '0x954ab4b2': ['say()'], + '0xd6d22fa4': ['MetaCoin()'], + '0x7bd703e8': ['getBalanceInEth(address)'], + '0x87def081': ['getFeeRecipient(int256)'], + '0xa0f61310': ['FakeRelay(bytes)'], + '0x96e4ee3d': ['convert(uint256,uint256)'], + '0xfa2acd87': ['G(uint64[16],uint256,uint256,uint256,uint256,uint64,uint64)'], + '0x33232609': ['blake2b(uint64[],uint64[],uint64)'], + '0x217311ac': ['getWords(uint64)'], + '0xfb72d24e': ['shift_right(uint64,uint256)'], + '0xbf187478': ['shift_left(uint64,uint256)'], + '0x0e47c76f': ['rotate(uint64,uint256)'], + '0x10142785': ['assign(bytes,uint256,bytes1)'], + '0xd985f122': ['RelayToolsTest()'], + '0xa54a2b8b': ['testBlockHashFetch()'], + '0x72c87075': ['testBlockHeaderFetch()'], + '0xedede601': ['testBalance()'], + '0x9a79f4a8': ['testFailHeaderInsufficientFee()'], + '0xfb95adeb': ['testFailBlockhashInsuffiecientFee()'], + '0xad82dcac': ['testBlockhashCorrectFee()'], + '0x70c9edb7': ['BTCRelayTools(address)'], + '0x4016535a': ['parseBlock(bytes,uint256)'], + '0xee82ac5e': ['getBlockHash(uint256)'], + '0xae6215d8': ['getBlockHeight(bytes)'], + '0x19c47214': ['getBlockVersion(bytes)'], + '0x726ab4ef': ['getParentHash(bytes)'], + '0xd9c67404': ['getMerkleRoot(bytes)'], + '0xf74100e3': ['getBits(bytes)'], + '0x51d6e547': ['getNonce(bytes)'], + '0x66aa6f26': ['payFee(bytes)'], + '0xde39acea': ['get32(bytes,uint256)'], + '0xdf5cc291': ['get4(bytes,uint256)'], + '0x745a8be2': ['flip32(bytes)'], + '0x26c7edaa': ['flip4(bytes)'], + '0x0b74edc6': ['testFinalHash()'], + '0x2f597e71': ['testLongInput()'], + '0xa7e25683': ['testShortOutput()'], + '0x6af2da2f': ['testKeyedHash()'], + '0xd299dac0': ['blake2b(bytes,bytes,uint64)'], + '0xd063f55f': ['toLittleEndian(uint64)'], + '0xd18dfdc9': ['parrot(uint256)'], + '0x5168afa4': ['getPackageHash(bytes,uint8,uint8,uint8)'], + '0x027a5e3f': ['getLastVersion(bytes)'], + '0xa587da29': ['setPackage(bytes,uint8,uint8,uint8,bytes)'], + '0x3cc8daf7': ['setNameOwner(bytes,address)'], + '0x44dfdce0': ['getNameOwner(bytes)'], + '0x4112b7f1': ['tryGetNameOwner(bytes)'], + '0x03da8902': ['transfearDBOwner(address)'], + '0x992c870d': ['transferName(bytes,address)'], + '0x8efc777f': ['isBeta(bytes)'], + '0xd1d3bb92': ['testSetPkg()'], + '0x8bab8791': ['testPkgUpdate()'], + '0xb5784f6f': ['testMultiplePackages()'], + '0x96013c9c': ['testLatestPkgGetter()'], + '0x74d89c47': ['testUpdateNameDb()'], + '0x408938d0': ['testUpdatePackageDb()'], + '0x930a80b4': ['testAuthorizedSetPackage()'], + '0x70be4ffa': ['testErrorUnauthorizedSetPackage()'], + '0xb9a904f9': ['testUnauthorizedSetBetaPackage()'], + '0x8a341c83': ['testErrorRootAuthorityChangeUnownedPackage()'], + '0x88a49164': ['testErrorUnauthorizedTransfer()'], + '0x337b5988': ['testSimpleNameRegister()'], + '0xeca5c793': ['testErrorUnauthorizedNameRegister()'], + '0x3e4565d2': ['testErrorUnauthorizedNameRegister2()'], + '0x36344022': ['testAuthorizedTransfer()'], + '0xb189ad2a': ['testErrorUnauthorizedAfterTransfer()'], + '0x0f5381f1': ['testUserCanIncreaseVersionNumber()'], + '0x5babb758': ['testSetUp()'], + '0xaf6fe8e2': ['testGetToken()'], + '0xec2ec781': ['testFailGetUnsetToken()'], + '0xad447a19': ['getBalanceDB()'], + '0xec727000': ['getApprovalDB()'], + '0x9cbf9e36': ['createToken()'], + '0xe6c3b4ab': ['testBalanceAuth()'], + '0x07b6f631': ['testTestHarnessAuth()'], + '0xc89f8f08': ['testGetController()'], + '0x0fe234ed': ['testSetController()'], + '0x4fab2ca4': ['testGetFrontend()'], + '0x9131d803': ['testSetFrontend()'], + '0x7353f62b': ['testGetApprovalDb()'], + '0x4df53a0f': ['testSetApprovalDb()'], + '0xea7a7184': ['testGetBalanceDb()'], + '0xd0bff051': ['testSetBalanceDb()'], + '0x2977b1b1': ['testAllowanceStartsAtZero()'], + '0xf3e3c629': ['testBalanceOfStartsAtZero()'], + '0xfb09b1ac': ['testBalanceOfReflectsTransfer()'], + '0xeb7492d1': ['testTotalSupply()'], + '0x730720b8': ['testControllerValidTransfers()'], + '0x0d8b5fa2': ['testControllerValidTransferFrom()'], + '0x1f2e886c': ['testControllerTransferTriggersEvent()'], + '0x2f5d3916': ['testControllerApproveTriggersEvent()'], + '0xa32f0f41': ['testFailControllerUnapprovedTransferFrom()'], + '0x6f4812e2': ['testFailControllerInsufficientFundsTransfer()'], + '0x296ed88f': ['testFailControllerInsufficientFundsTransferFrom()'], + '0xe50dce71': ['testControllerApproveSetsAllowance()'], + '0xf712d7ff': ['testFailControllerTransferFromWithoutApproval()'], + '0x821e9169': ['testFailControllerChargeMoreThanApproved()'], + '0x7f924c4e': ['testDeposit()'], + '0xd509b16c': ['testWithdraw()'], + '0x23de6651': ['emitTransfer(address,address,uint256)'], + '0x5687f2b8': ['emitApproval(address,address,uint256)'], + '0x2b4a3b31': ['doTransferFrom(address,address,uint256)'], + '0x0f24f5c8': ['doTransfer(address,uint256)'], + '0xa8484938': ['doApprove(address,uint256)'], + '0xfa566ddd': ['doAllowance(address,address)'], + '0xbc2a4dd6': ['doBalanceOf(address)'], + '0x0994a0a0': ['DSTokenTest()'], + '0x6632a507': ['testSetupPrecondition()'], + '0x10922cc1': ['testTransferCost()'], + '0xe13dc28b': ['testValidTransfers()'], + '0x61e539da': ['testFailWrongAccountTransfers()'], + '0xe7faecec': ['testFailInsufficientFundsTransfers()'], + '0x833b4596': ['testApproveSetsAllowance()'], + '0xb9a0a708': ['testChargesAmountApproved()'], + '0x5fe22c8b': ['testFailTransferWithoutApproval()'], + '0xbfc3cd2f': ['testFailChargeMoreThanApproved()'], + '0xc1829a14': ['testFailTooFewConfirms()'], + '0x77e4fb04': ['testFailNotEnoughValue()'], + '0xdf3a6b10': ['testMemberAddedEvent()'], + '0x0caf9d39': ['testFailTooManyMembers()'], + '0xa04a0908': ['execute(address,bytes,uint256)'], + '0x039a21b8': ['tryExecute(address,bytes,uint256)'], + '0x28a45038': ['testTryProxyCall()'], + '0x60a60fd8': ['testProxyCallWithValue()'], + '0xdd5244b4': ['testTryProxyCallWithValue()'], + '0x3358d2d3': ['buildDSTokenFrontend()'], + '0xa7c5052e': ['buildDSTokenRegistry()'], + '0xb8d94b95': ['buildDSNullMap()'], + '0x510f44cb': ['TestFactoryUser()'], + '0xd3ea3322': ['testBuildTokenSystemCost()'], + '0x2c60a055': ['MapTest()'], + '0x0e757a2e': ['testSetAndGet()'], + '0x2f0b15f6': ['testGetUnset()'], + '0x1dda5c7d': ['testFailSubBalanceBelowZero()'], + '0x9bac8602': ['testFailAddBalanceAboveOverflow()'], + '0x953a7fab': ['testMoveBalance()'], + '0xd930a90b': ['testFailMoveBalanceDueToInsufficientFunds()'], + '0x0cee22e9': ['testSetBalanceSetsSupply()'], + '0xcd9380d5': ['testSetBalanceSetsSupplyCumulatively()'], + '0x6f4dd69c': ['testSetBalanceUpdatesSupply()'], + '0x0c9fcec9': ['setApproval(address,address,uint256)'], + '0x89fcd099': ['getApproval(address,address)'], + '0xa005b87b': ['NullMapTest()'], + '0x4bd70ea3': ['testFailGetUnset()'], + '0x7d287697': ['testTryGetUnset()'], + '0x4464aec7': ['testTryGet()'], + '0x62a0b56b': ['testUnset()'], + '0x013d64bd': ['setCanCall(address,address,string,bool)'], + '0x2a714078': ['triggerAuth()'], + '0x6cb3d30a': ['triggerTryAuth()'], + '0x31db4b95': ['doTriggerAuth()'], + '0xd42bf301': ['doTriggerTryAuth()'], + '0xfe6f0d82': ['testConstructorEvent()'], + '0x9e920587': ['testOwnedAuth()'], + '0x7ac91cc2': ['testFailOwnedAuth()'], + '0xd3aa831f': ['testOwnedTryAuth()'], + '0xcae523c1': ['testOwnedTryAuthUnauthorized()'], + '0xaa7dcd84': ['testUpdateAuthorityEvent()'], + '0x9205fbc2': ['testAuthorityAuth()'], + '0x8fd28bcf': ['testFailAuthorityAuth()'], + '0x31ab4066': ['testAuthorityTryAuth()'], + '0xfd339d18': ['testAuthorityTryAuthUnauthorized()'], + '0x5858ef10': ['testErrorNonOwnerCantBreach()'], + '0x138cc941': ['testErrorTransferToRejectAuthority()'], + '0xda6b31b9': ['testErrorTransferToNullAuthority()'], + '0x4e209678': ['testFailBreach()'], + '0x399fdb86': ['testFailNormalWhitelistReset()'], + '0x5dcdddd1': ['testSafeToAddFix()'], + '0xc1c0e9c4': ['exec()'], + '0x3f74fecb': ['DSTrueFallbackTest()'], + '0x8a46bf6d': ['testFallback()'], + '0x92c8eb96': ['DSFalseFallbackTest()'], + '0x01bb85a4': ['__startBlock(string)'], + '0xc7102df7': ['__stopBlock()'], + '0x661e3605': ['ConstructorContract(uint256)'], + '0x1d57bcf7': ['ProofLibInterface()'], + '0x1f4e996b': ['challenge(bool)'], + '0xa991cb0e': ['respond(uint256)'], + '0x5c5d625e': ['getProof()'], + '0x92d0d153': ['t()'], + '0x11f72496': ['testT()'], + '0xd992bd5b': ['testResultNotZero()'], + '0xea2ea847': ['testChallengeFinalize()'], + '0x4b729aff': ['buyNumber(uint256)'], + '0x9dafbc13': ['initBlock(uint256)'], + '0xe2bbb158': ['deposit(uint256,uint256)'], + '0x201dcd7a': ['newChallenge(uint256,uint256)'], + '0x43114842': ['acceptChallenge(uint256,uint256,uint256)'], + '0x3c0870ae': ['challenge(uint256,uint256,uint256,bool)'], + '0xab09ee80': ['respond(uint256,uint256,uint256,uint256)'], + '0xb6013cef': ['finalize(uint256,uint256)'], + '0xf869b11a': ['declareVictor(uint256,uint256)'], + '0x9f489e4e': ['getDeposit(uint256,address)'], + '0xa0befa94': ['getStake(uint256,uint256)'], + '0x33637d5a': ['getPendingBlock(uint256)'], + '0x28cc413a': ['getProof(uint256,uint256,uint256)'], + '0xc37ff3d9': ['sha(uint256,uint256)'], + '0xf77a0923': ['BitcoinProcessor(address)'], + '0x1c0b6367': ['processTransaction(bytes,uint256)'], + '0x2b861629': ['storeBlockHeader(bytes)'], + '0xcef887b0': ['storeBlockWithFee(bytes,int256)'], + '0x6ebf10fe': ['storeHeader(bytes,address)'], + '0x540cafe0': ['storeHeaderWithFee(bytes,int256,address)'], + '0x7cc48875': ['Slots()'], + '0x3b84edbd': ['setRNG(address)'], + '0xd65ab5f2': ['startGame()'], + '0xeec3cb41': ['placeBet(bool[],uint256,uint256)'], + '0xac6bc853': ['startSpin()'], + '0x934354e7': ['finishSpin()'], + '0x93c94acb': ['calculateRewards(uint256[3][3])'], + '0x00100a18': ['NewPoll(string,string,uint256,uint256)'], + '0x1277e24f': ['payOneTimeFee()'], + '0xfc36e15b': ['vote(string)'], + '0x9a36f932': ['feeDivisor()'], + '0x8d99b2eb': ['endPoll()'], + '0x224993c2': ['setTimeBlock(uint256)'], + '0xfcfff16f': ['open()'], + '0x776d62f6': ['costs()'], + '0x82996d9f': ['rent()'], + '0x5ca8bc52': ['returnIt()'], + '0x8ecc0950': ['returnToOwner()'], + '0xfb5d5729': ['getPongvalTransactional()'], + '0x3af94817': ['getPongvalRemote()'], + '0x40193d17': ['getPongvalConstant()'], + '0xf4d94699': ['EndowmentRetriever()'], + '0xfab43cb1': ['getPongAddress()'], + '0xf00aac7f': ['ArrayRR()'], + '0x6c6f1d93': ['getContractCreationValue()'], + '0xa311dd70': ['setArray(uint8[10])'], + '0xf239e528': ['sendOneEtherHome()'], + '0xb8c86aa6': ['getArraySettingResult()'], + '0xd504ea1d': ['getArray()'], + '0x80db79d9': ['StructAndFor()'], + '0x181be00d': ['getValue(uint8)'], + '0x4166c1fd': ['getElevation(uint8,uint8)'], + '0xa3747fef': ['register(bytes,bytes)'], + '0x5460ef10': ['sendWithExtraGas(address,uint256,uint256)'], + '0x5dac1601': ['SimpleStablecoin()'], + '0xbe7cddf8': ['TwoD()'], + '0x1ebe5c0f': ['sendWithAllOurGasExcept(address,uint256,uint256)'], + '0x557ed1ba': ['getTime()'], + '0x0e13b9af': ['getValue(uint8,uint8)'], + '0x3ab1e703': ['roundMoneyDown3SF(uint256)'], + '0x880cdc31': ['updateOwner(address)'], + '0xd4088e33': ['setPrice(uint256,uint256,uint64)'], + '0x992ae976': ['isSafePunctuation(bytes1)'], + '0x6f8b44b0': ['setMaxSupply(uint256)'], + '0xdb2a0cb7': ['HumanStandardTokenFactory()'], + '0xbe592488': ['validateName(bytes)'], + '0x64edfbf0': ['purchase()'], + '0xa2f3ede2': ['computeNameHash(bytes)'], + '0xfc94dd18': ['verifyHumanStandardToken(address)'], + '0xfe757fb5': ['lastClaimPrice()'], + '0xd35b9d83': ['codeAt(address)'], + '0x64325ddb': ['currentClaimPrice()'], + '0x08216c0f': ['createHumanStandardToken(uint256,string,uint8,string)'], + '0x4f8e624e': ['Greeter(string)'], + '0x5fbddcf3': ['isLivingMonarch()'], + '0x42cbb15c': ['getBlockNumber()'], + '0x2ea459b8': ['claimThrone(bytes)'], + '0xa15afb48': ['Replicator()'], + '0xd6d902c4': ['claimThroneFor(bytes,address)'], + '0xa4136862': ['setGreeting(string)'], + '0x70961774': ['getBlockCreatedOn()'], + '0x59a547b0': ['recordCommission(uint256)'], + '0x715ef4ff': ['resendFailedPayment(uint256)'], + '0x19a278b9': ['getBAddress()'], + '0xe6e91cfc': ['voidFailedPayment(uint256)'], + '0xcb553ac9': ['sweepWizardCommission(uint256)'], + '0xd96aee49': ['MultipleConstructorTest()'], + '0x2d116186': ['deityBalance()'], + '0xa819819b': ['sweepDeityCommission(uint256)'], + '0x705eeb90': ['MultipleConstructorTest(bool)'], + '0xedb27f4e': ['switchWizard(address)'], + '0x1e223143': ['getFirst()'], + '0xa70a9ad7': ['switchDeity(address)'], + '0xdce4a447': ['at(address)'], + '0x1b03316f': ['getSecond()'], + '0xc1c723f4': ['validateProposedMonarchName(bytes)'], + '0x6d1f00a6': ['ThroneMaker(uint256)'], + '0xf2080ba6': ['Pong(int8)'], + '0x273bc3c9': ['numberOfThrones()'], + '0x1a092541': ['getDescription()'], + '0x23a1c271': ['setPongval(int8)'], + '0x931df75f': ['validateProposedThroneName(bytes)'], + '0x694e0d5b': ['StringPasser(uint8[])'], + '0xa396541e': ['getPongvalTxRetrievalAttempted()'], + '0x01df7f30': [ + 'validateProposedThroneConfig(uint256,uint256,uint256,uint256)' + ], + '0x16870257': ['getTileDescription(uint8,uint8)'], + '0x5581004d': ['createThrone(bytes,uint256,uint256,uint256,uint256)'], + '0x044f9ac8': ['findThroneCalled(bytes)'], + '0xd8589be3': ['CoinFlipper()'], + '0xb3a0b1ef': ['basicInfoGetter()'], + '0xf4e36afd': ['findThroneByNameHash(uint256)'], + '0x5acce36b': ['getEndowmentBalance()'], + '0x4ca8b0d0': ['registerExistingThrone(bytes,address,uint256,uint256)'], + '0xf8f46b5f': ['getCurrentMinerAddress()'], + '0xf9e05ed9': ['sha(uint128)'], + '0x2f4ee5d4': ['registerThrone(bytes,uint256,address,uint256,uint256)'], + '0x25d8dcf2': ['betAndFlip()'], + '0xa1188e56': ['getCurrentDifficulty()'], + '0x58ea80e5': ['setThroneCreationPrice(uint256)'], + '0x34dbe44d': ['getLastBlockNumberUsed()'], + '0x92b7d5b9': ['getCurrentGaslimit()'], + '0x94c3fa2e': ['getLastBlockHashUsed()'], + '0xee6d2641': ['sendWithExtraGasExt(address,uint256,uint256)'], + '0x6fd902e1': ['getCurrentBlockNumber()'], + '0xcee6f93c': ['getResultOfLastFlip()'], + '0x5294157f': ['sendWithAllOurGasExceptExt(address,uint256,uint256)'], + '0x796b89b9': ['getBlockTimestamp()'], + '0x0efafd01': ['getPlayerGainLossOnLastFlip()'], + '0x4b5dc8cb': ['roundMoneyDown3SFExt(uint256)'], + '0xc8e7ca2e': ['getMsgData()'], + '0x4d536f9f': ['validateNameExt(bytes)'], + '0x7a6ce2e1': ['getMsgSender()'], + '0x635cfda2': ['Incrementer()'], + '0x7fd8ee68': ['computeNameHashExt(bytes)'], + '0xa17042cc': ['getMsgValue()'], + '0xfc2c3e08': ['getIteration()'], + '0x9d5c6061': ['getMsgGas()'], + '0x77e5bf84': ['getTxGasprice()'], + '0xb8077e28': ['getTxOrigin()'], + '0xe31bfa00': ['next_id()'], + '0x32a2c5d0': ['getContractAddress()'], + '0x26066ad5': ['offer(uint256,bytes,uint256,bytes)'], + '0xc3da42b8': ['c()'], + '0x6f9fb98a': ['getContractBalance()'], + '0xb742398b': ['trade(address,uint256,bytes,address,uint256,bytes)'], + '0x67cb61b6': ['getChoice()'], + '0xd96a094a': ['buy(uint256)'], + '0x29161820': ['Base(uint256)'], + '0xa5d0bab1': ['buyPartial(uint256,uint256)'], + '0x20bf0c52': ['Derived(uint256)'], + '0x40e58ee5': ['cancel(uint256)'], + '0x13d1aa2e': ['f(uint256,uint256)'], + '0x4579268a': ['getOffer(uint256)'], + '0xe420264a': ['g(uint256)'], + '0x57e871e7': ['blockNumber()'], + '0x4848b1a5': ['setData(uint256,uint256)'], + '0x83324e8c': ['numGroups()'], + '0x0178fe3f': ['getData(uint256)'], + '0x3807ba1b': ['poi()'], + '0x9928811b': ['testBroken()'], + '0x75949c13': ['sendHalf(address)'], + '0x3c7a3aff': ['commit()'], + '0x90b5561d': ['insert(uint256)'], + '0x27121069': ['verify(bytes,uint8,bytes,bytes)'], + '0x3e2729bf': ['isRevocated(bytes)'], + '0x853255cc': ['sum()'], + '0x8cfd8901': ['_incBlock()'], + '0x2feda2fa': ['POI()'], + '0x6a4a6b6e': ['_myAddressHelper()'], + '0x100c8ada': ['setCAmodulus(bytes)'], + '0x5bbfe9b6': ['_myGroupHelper()'], + '0x114d69b2': ['setCRLaddr(address)'], + '0xfd747c0b': ['rsaVerify(bytes,bytes,uint256,bytes)'], + '0x8ac4e1d8': ['TemperatureOracle()'], + '0xfaee13b9': ['set(int8)'], + '0x84734476': ['copyBytes(bytes,uint256,uint256,bytes,uint256)'], + '0x9507d39a': ['get(uint256)'], + '0x9209b3c0': ['getCrtDetails(bytes)'], + '0x17ff0caa': ['WeatherBet(uint256,address,address,address)'], + '0x4664b235': ['bytes32_to_bytes(bytes,bytes,bytes)'], + '0x71dd8862': ['IndexOf()'], + '0xfc687311': ['betOn(int8)'], + '0xa87e7552': ['isValid(bytes,bytes)'], + '0x264c8e9a': ['whatWasTheVal()'], + '0x0b7623ba': ['abs(int8)'], + '0xb4787dc5': ['linkEID(bytes,bytes)'], + '0xbe71248a': ['payWinner()'], + '0x2a095fbe': ['unlinkEID(bytes,bytes,address)'], + '0x511b1df9': ['addr(string)'], + '0x2d077ad0': ['Latch()'], + '0x01984892': ['name(address)'], + '0x616fca9b': ['adopt(address)'], + '0xdf55b41a': ['owner(string)'], + '0x2125b65b': ['transfer(uint32,address,uint224)'], + '0x7f445c24': ['subRegistrar(string)'], + '0xf509b627': ['confirm(address,uint224,uint32,address)'], + '0xdd54a62f': ['content(string)'], + '0xa79f26dc': ['force()'], + '0x20620f37': ['onAuctionEnd(string)'], + '0x89cc5ea8': ['bid(string,address,uint256)'], + '0xb9f37c86': ['Registrar()'], + '0xae999ece': ['reserve(string)'], + '0xff1f7046': ['requiresAuction(string)'], + '0x092b25e9': ['setOwner(string,address)'], + '0x01bd4051': ['disown(string)'], + '0xc47f0027': ['setName(string)'], + '0x9b2ea4bd': ['setAddress(string,address)'], + '0xccf4f413': ['setSubRegistrar(string,address)'], + '0x8bbda7e3': ['setContent(string,bytes)'], + '0x98b1e06a': ['deposit(bytes)'], + '0x1bcf5758': ['getOccupies(uint8)'], + '0xfde9ba41': ['transfer(bytes,address,uint256)'], + '0x0878bc51': ['getAttachesto(uint8)'], + '0x922dd59a': ['icapTransfer(bytes,address,bytes,uint256)'], + '0x4d9e4e22': ['Etheria()'], + '0xe039e4a1': ['getOwner(uint8,uint8)'], + '0xdd34e129': ['PriceTest()'], + '0x7d5fec5a': ['setOwner(uint8,uint8,address)'], + '0xd2d4bd72': ['getCrossRate(bytes,bytes)'], + '0xa55cab95': ['getName(uint8,uint8)'], + '0x93eec1fb': ['setName(uint8,uint8,string)'], + '0xd39eb301': ['getStatus(uint8,uint8)'], + '0x54385526': ['setStatus(uint8,uint8,string)'], + '0x8435be4b': ['getLastFarm(uint8,uint8)'], + '0x90fd53ec': ['farmTile(uint8,uint8,int8)'], + '0x8cae1374': ['editBlock(uint8,uint8,uint256,int8[5])'], + '0xfa93019c': ['getBlocks(uint8,uint8)'], + '0x4ca168cf': ['register(bytes,uint256,address,string,uint256)'], + '0x2ef761d3': ['buyTile(uint8,uint8)'], + '0x6cf9cc58': ['registerResource(bytes,uint256,bytes,string)'], + '0x46c52b1a': ['blockHexCoordsValid(int8,int8)'], + '0xfae9d06d': ['calculateTxFee(uint256,address)'], + '0xbb963c8a': ['transferLibOwnership(bytes,address)'], + '0x8d7108e5': ['isValidLocation(uint8,uint8,int8[5],int8[24])'], + '0xfe029156': ['swap(address,address,uint256,uint256)'], + '0x081bf263': ['isOOB(uint8,uint8)'], + '0x4dd49ab4': ['get(bytes,uint256)'], + '0x9cc9299e': ['killSwap()'], + '0x182db370': ['getWhatHappened()'], + '0x6e353a1d': ['emergencyWithdrawal(address)'], + '0xdf98ef33': ['getResource(bytes,uint256,bytes)'], + '0xf2a75fe4': ['empty()'], + '0xc913b552': ['getVersions(bytes)'], + '0x10c1952f': ['setLocked()'], + '0x0f7d6673': ['Channel()'], + '0x763a738c': ['allNames()'], + '0x2d49ffcd': ['getLocked()'], + '0x423d4ef2': ['createChannel()'], + '0xcb14d93b': ['getHash(bytes,address,uint256)'], + '0x4d1f8c31': ['owner(uint64)'], + '0xadf5e565': ['verify(bytes,address,uint256,uint8,bytes,bytes)'], + '0xe86afde0': ['description(uint64)'], + '0x60c6b3a5': ['claim(bytes,address,uint256,uint8,bytes,bytes)'], + '0x0fdb468f': ['fee(uint64)'], + '0xcebce72d': ['token(uint64)'], + '0xf1c30ec0': ['reclaim(bytes)'], + '0xc0171112': ['timestamp(uint64)'], + '0x7b1cbb13': ['getChannelValue(bytes)'], + '0x1216e771': ['expiration(uint64)'], + '0x29e94503': ['VersionedBlob()'], + '0x5322f0c5': ['getChannelOwner(bytes)'], + '0x1c2f38ff': ['paid(uint64)'], + '0x4c488dac': ['getChannelValidUntil(bytes)'], + '0x9eab5253': ['getMembers()'], + '0x7c79ebce': ['expired(uint64)'], + '0x01da73ff': ['isValidChannel(bytes)'], + '0x541d920c': ['commit(bytes,string)'], + '0x9e66cd38': ['free(uint64)'], + '0x6dd6e87b': ['checkOut(int256)'], + '0x1fb6e99d': ['paymentNeeded(uint64)'], + '0xbb4d7cd1': ['tag(uint256,string)'], + '0x268eb055': ['setDescription(uint64,bytes)'], + '0x856deacf': ['findTag(string)'], + '0x21b36a08': ['setFee(uint64,uint256)'], + '0x86bb7121': ['getBlocksPerRound()'], + '0xb0de1cb7': ['publish(uint64,bytes,uint64)'], + '0x35d129f6': ['untag(string)'], + '0x7ef09476': ['transfer(uint64,address)'], + '0x87bb7ae0': ['getTicketPrice()'], + '0x4c6d1d9e': ['checkOutTag(string)'], + '0x89b8b492': ['read(uint64)'], + '0x67af1c81': ['getRoundIndex()'], + '0x49cbe338': ['tryRead(uint64)'], + '0x358d5dc2': ['getIsCashed(uint256,uint256)'], + '0xb1d51d31': ['pay(uint64,address)'], + '0x6572ae13': ['calculateWinner(uint256,uint256)'], + '0x452fbc41': ['USN(address,address,bytes,uint256,uint256,uint128)'], + '0xdf2f0a4a': ['getDecisionBlockNumber(uint256,uint256)'], + '0x46a2679a': ['getSubpotsCount(uint256)'], + '0x93dafba2': ['getSubpot(uint256)'], + '0x1e62be25': ['Bytes32Passer()'], + '0x930ed251': ['getSavedVar()'], + '0xce5566c5': ['cash(uint256,uint256)'], + '0x6df3edef': ['getSavedBytes()'], + '0x8089d001': ['getHashOfBlock(uint256)'], + '0x812cddf2': ['getSavedString()'], + '0x459f93f7': ['getBuyers(uint256,address)'], + '0x305a762a': ['getTicketsCountByBuyer(uint256,address)'], + '0x28d3ad3f': ['getPot(uint256)'], + '0xbcd3d8ca': ['Collector(address,address,uint256)'], + '0xaf93afdd': [ + 'Shipment(bytes,bytes,bytes,bytes,string,bytes,uint256,uint256,bytes,bytes,uint256,uint256,string,bytes,bytes,bytes)' + ], + '0x7e3faec1': ['GoldTxFeePool(address,address,bytes)'], + '0x7b789b3d': ['agreement(bytes,bytes,bytes)'], + '0xd7f31eb9': ['forward(address,uint256,bytes)'], + '0x5e11544b': ['newPeriod()'], + '0xe2fdcc17': ['escrow()'], + '0x45d27edf': ['forward_method(bytes,address,uint256,bytes)'], + '0x8d227fc0': ['getPeriodInfo()'], + '0xd116c8c4': ['releasePayment()'], + '0x97daa043': ['register(bytes,address,address,uint256,bytes)'], + '0x11e99c22': ['arrival()'], + '0xa7dfc874': ['unregister(bytes,address,uint256,bytes)'], + '0x412664ae': ['sendToken(address,uint256)'], + '0x86c57fcc': ['b32ToBytes(bytes)'], + '0x8c4dd5cd': ['Democracy()'], + '0x66d38203': ['setup(address)'], + '0xe8a1c08f': ['nibbleToChar(uint256)'], + '0x86a50535': ['voteFor(uint256)'], + '0xdbc45228': ['newProposal(address,uint256,bytes,bytes)'], + '0xa99e7e29': ['register(bytes,address)'], + '0x5e44daf3': ['vote(uint256,int256)'], + '0x750e443a': ['voteAgainst(uint256)'], + '0x0d61b519': ['executeProposal(uint256)'], + '0x798974dd': ['getNumProposals()'], + '0x4245b0f7': ['Lottery()'], + '0x11610c25': ['bet()'], + '0x837e7cc6': ['rollDice()'], + '0x714064f3': ['BreakableBond(address,address,uint256)'], + '0x74389991': ['breakit()'], + '0x4cedf74e': ['get_party1()'], + '0xd81a91e9': ['get_party2()'], + '0xa89a4f09': ['creatorBalanceChecker()'], + '0xb9e6f1d9': ['get_amount()'], + '0xa4325485': ['getCreatorBalance()'], + '0xe9a9c1b4': ['get_party1_balance()'], + '0xf363441f': ['getCreatorDotBalance()'], + '0xb8017221': ['get_party2_balance()'], + '0x0109f22e': ['CrowdSale()'], + '0x39aaba25': ['get_status()'], + '0x670c884e': ['setup(address,uint256,uint256,uint256,address)'], + '0x639d57f2': ['testGetBitSuccess()'], + '0x4f76cb02': ['testGetBitFailIndexOOB()'], + '0xfadf87b1': ['testGetBitsSuccess()'], + '0x5a353193': ['KrakenPriceTicker()'], + '0xf24a534e': ['Oracle()'], + '0xc8bb73ef': ['testGetBitsFailIndexOOB()'], + '0x4894e37f': ['__callback(bytes,string,bytes)'], + '0x98596726': ['note(uint224)'], + '0x68e4bd99': ['testSetBitSuccess()'], + '0x69f18967': ['testSetBitFailIndexOOB()'], + '0x2212dbc3': ['get_timestamp()'], + '0x8ba9f354': ['testClearBitSuccess()'], + '0x7057c20d': ['CFD(address)'], + '0x0aa46c12': ['testClearBitFailIndexOOB()'], + '0xd7ef1356': ['best_adjustment(bool)'], + '0xe706918c': ['testToggleBitSuccess()'], + '0x7af30442': ['testToggleBitFailIndexOOB()'], + '0x414053be': ['best_adjustment_for(bool,uint128)'], + '0xdaa21e0e': ['testBitSetSuccess()'], + '0xeef547d7': ['deal_details(uint32)'], + '0x254c91b3': ['testBitNotSetSuccess()'], + '0xb144adfb': ['balance_of(address)'], + '0x2145e36c': ['testBitSetFailIndexOOB()'], + '0xfc63d4fb': ['order(bool,uint32,uint128)'], + '0x6d052f56': ['testBitsSetSuccess()'], + '0xf1cff4b5': ['testBitsNotSetSuccess()'], + '0x1381e400': ['cancel(uint32)'], + '0xf85aefba': ['testBitsSetFailIndexOOB()'], + '0xf41017fc': ['finalize(uint24)'], + '0x42a745cb': ['testBitEqualSuccess()'], + '0x4e6ab570': ['insert_order(address,bool,uint32,uint128)'], + '0xf362d78f': ['testBitNotEqualSuccess()'], + '0xb2d37e95': ['remove_order(uint32)'], + '0x8a120dc9': ['testBitEqualFailIndexOOB()'], + '0x64a4a5d7': ['testBitsEqualSuccess()'], + '0x6f36ce79': ['insert_deal(address,address,uint64,uint128,uint32)'], + '0x74087040': ['testBitsNotEqualSuccess()'], + '0x10e89b22': ['remove_deal(uint32)'], + '0xfbffb355': ['testBitsEqualFailIndexOOB()'], + '0x1e44c112': ['find_strike(uint64,uint32,uint32)'], + '0x2b785960': ['testBitAndSuccess()'], + '0xc388cca6': ['testBitAndFailIndexOOB()'], + '0xbac1e2e0': ['testBitsAndSuccess()'], + '0xd588acc4': ['claimMiningReward()'], + '0xda2b7416': ['testBitsAndFailIndexOOB()'], + '0xa1616429': ['testBitOrSuccess()'], + '0xfd83f3e3': ['QueueUserMayBeDeliveryDroneCotnrol()'], + '0x91e8d3dc': ['testBitOrFailIndexOOB()'], + '0x4ca1fad8': ['addRequest(uint256)'], + '0xec0f1025': ['testBitsOrSuccess()'], + '0xe4690a0b': ['popRequest()'], + '0x2581c674': ['testBitsOrFailIndexOOB()'], + '0xab91c7b0': ['queueLength()'], + '0x31be6985': ['testBitXorSuccess()'], + '0xa268b332': ['testBitXorFailIndexOOB()'], + '0xe044c2de': [ + 'newLoan(bytes,address,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x622e88cb': ['testBitsXorSuccess()'], + '0x8e46fbb2': ['testBitsXorFailIndexOOB()'], + '0xc1cbbca7': ['contribute(uint256)'], + '0x278ecde1': ['refund(uint256)'], + '0xe2f8a017': ['payInstallment(uint256)'], + '0xbb510a77': ['createChannel(address,uint256)'], + '0xacf8bf2a': ['channelCount()'], + '0xd7bc23af': ['newParameters(int256,uint256,uint256,uint256)'], + '0x1b855044': ['getHash(uint256,uint256)'], + '0x65093661': ['newCommunity(address)'], + '0xe22b0c46': ['verify(uint256,uint256,uint8,bytes,bytes)'], + '0x5f1231ea': ['getMemberInfo(address)'], + '0x23add736': ['claim(uint256,uint256,uint8,bytes,bytes)'], + '0x3dd7c1b9': ['newProduct(string,string,uint256,uint256)'], + '0x79a85e6c': ['getProductInfo(uint256)'], + '0x2dabbeed': ['reclaim(uint256)'], + '0xa0440426': ['purchaseProduct(uint256,uint256)'], + '0xb7a97a2b': ['isValidChannel(uint256)'], + '0xe7d50e5c': ['FarmShare()'], + '0x3e0a51b4': ['TweetAccount()'], + '0xb6db75a0': ['isAdmin()'], + '0x4a23dc52': ['FileStore()'], + '0xfb46d4c5': ['tweet(string)'], + '0x5aebfd14': ['createFile(bytes)'], + '0xc3ad5ecb': ['getTweet(uint256)'], + '0xc5958bda': ['removeFile(bytes)'], + '0xae978f08': ['getLatestTweet()'], + '0x3d8e2947': ['getFileAddress(bytes)'], + '0xe4c2db06': ['getPreviousFile(bytes)'], + '0x0c4f65bd': ['getOwnerAddress()'], + '0xca77ab8a': ['getNextFile(bytes)'], + '0xca7dc5b1': ['getNumberOfTweets()'], + '0xdc63a62c': ['getFileListHead()'], + '0x95671958': ['getFileListTail()'], + '0x5c3e426c': ['adminRetrieveDonations(address)'], + '0x7d60e343': ['getFileListSize()'], + '0x3e450fff': ['adminDeleteAccount()'], + '0xe4360fc8': ['getFileListElement(bytes)'], + '0x492b67ea': ['Etherdoc()'], + '0x3f77b560': ['newDocument(bytes)'], + '0x3448c7d6': ['createHistory(bytes,address,address)'], + '0x0b80f8d3': ['invmod(uint256,uint256)'], + '0x2f6ae467': ['transferDocument(bytes,address)'], + '0x783ce458': ['expmod(uint256,uint256,uint256)'], + '0xe4547f98': ['documentExists(bytes)'], + '0xeccb15bc': ['SatPosition(int256,int256)'], + '0xf6458c6a': ['toZ1(uint256[3],uint256)'], + '0x3f9b250a': ['getDocument(uint256)'], + '0xafc4a982': ['PathCost(uint16,uint32)'], + '0xc36af460': ['getLatest()'], + '0x306df22d': ['GPSDestination(int256,int256,uint256)'], + '0xd44aadf7': ['initROS()'], + '0x54ae8492': ['CustodialForward()'], + '0x4a00a522': ['homebase(int256,int256)'], + '0x677913e9': ['setAmount(int32)'], + '0x418cf199': ['setEstimateCost(uint256,uint256)'], + '0x739f888c': ['setNewEstimate(int256,int256)'], + '0xc028df06': ['offer()'], + '0xe816a515': ['takeFlight()'], + '0xa6f2ae3a': ['buy()'], + '0xd810f298': ['computeSettlementAmount()'], + '0x48a0d754': ['available()'], + '0xb595181f': ['ShapeshiftBot()'], + '0xf27197ab': ['getIsAvailable()'], + '0xcb2b9031': ['addressToBytes(address,address)'], + '0x883ba26b': ['getIsSettled()'], + '0x504ac982': ['transfer(string,string)'], + '0x60e519c0': ['computeMarginAmount()'], + '0x8a9ffb90': ['transfer(string,string,bool)'], + '0x468f02d2': ['getUnderlyingPrice()'], + '0x2facc4e8': ['depositGovernance(uint256,address)'], + '0xf29617da': ['registrationDeposit(address)'], + '0x1d834a1b': ['insert(uint256,uint256)'], + '0x9a863892': ['NewProposal(uint256)'], + '0xe2233ada': ['smartDoor(address[])'], + '0x3106fea0': ['voteOnProposal(uint256,bool,uint256)'], + '0x22ebb3ac': ['DieselPricePeg()'], + '0xdb0e127a': ['openDoor()'], + '0x0965bf7d': ['processProposals()'], + '0x82ab890a': ['update(uint256)'], + '0xa05e822a': ['howManyOwners()'], + '0xa0e67e2b': ['getOwners()'], + '0x67546967': ['EthBtcEscrow()'], + '0x63052d82': ['getOwnersIndex(address)'], + '0x6cf761d4': ['getMinConfirmationsByAddr(address)'], + '0x97297467': ['checkAndVerify(bytes)'], + '0x9c43d950': ['registration(uint256,uint256,uint256)'], + '0xe68d3ae3': ['escrow(uint256,string,address,uint256)'], + '0xeece1e1f': ['scheduleShuffling()'], + '0x35ee2783': ['Alarm()'], + '0x48519189': ['MonedaAlcala(string,string)'], + '0xbd9335c0': ['scheduleHangouts()'], + '0x7143059f': ['getParticipant(address)'], + '0x65b1fdf4': ['scheduleIssuePOIs()'], + '0xb3c25835': ['addUser(address,string,string,uint256)'], + '0xb37217a4': ['getRandomNumber(uint256)'], + '0x47274dbe': ['disableUser(address,address)'], + '0xdcf73856': ['generateGroups()'], + '0x2090cf8b': ['consultBalance(address)'], + '0xc3d345c4': ['getHangoutAddress()'], + '0x9f8a13d7': ['isActive(address)'], + '0x4e23a144': ['fundUser(address,uint256)'], + '0x34e8980f': ['bootUpHangouts()'], + '0xfc89aff6': ['submitVerifiedUsers(address[])'], + '0x96ed10a4': ['issuePOIs()'], + '0x92b4bb50': ['rps()'], + '0x8e7ea5b2': ['getWinner()'], + '0x718e6302': ['play(string)'], + '0x4c738909': ['getMyBalance()'], + '0x79b0797c': ['AmIPlayer1()'], + '0x805210b7': ['AmIPlayer2()'], + '0x452d44dc': ['checkBothNotNull()'], + '0x4162169f': ['dao()'], + '0xce8b7151': ['isHF()'], + '0x8cdfb1e6': ['transferIfHF(address)'], + '0xc3b8bfe5': ['transferIfNoHF(address)'], + '0x82afd23b': ['isActive(uint256)'], + '0xc41a360a': ['getOwner(uint256)'], + '0xd05c78da': ['safeMul(uint256,uint256)'], + '0xd6febde8': ['buy(uint256,uint256)'], + '0x598647f8': ['bid(uint256,uint256)'], + '0x379607f5': ['claim(uint256)'], + '0x2ac9bf09': ['bid(uint256,uint256,uint256)'], + '0x1df47aad': ['ReplayProtection()'], + '0xc42cd8cf': ['etherSplit(address,address)'], + '0x9f5f7c7f': ['tokenSplit(address,address,address,uint256)'], + '0x2c215998': ['updateStatus(string)'], + '0x30ccebb5': ['getStatus(address)'], + '0xb46300ec': ['send()'], + '0x92d282c1': ['Send()'], + '0x5323c6cf': ['calcCostsBuying(bytes,uint256,uint256[],uint8,uint256)'], + '0x532e7e6a': ['calcEarningsSelling(bytes,uint256,uint256[],uint8,uint256)'], + '0x46a1d95f': ['closeMarket(bytes)'], + '0x4b031d0f': ['shortSellShares(bytes,uint8,uint256,uint256)'], + '0x45c41478': ['getMarkets(bytes,address)'], + '0x1c879c47': ['getMarketHashes(bytes)'], + '0x9948e493': ['calcMarketFee(bytes,uint256)'], + '0xf7a0fa0a': ['getShareDistribution(bytes)'], + '0xd0315658': ['getShareDistributionWithTimestamp(bytes)'], + '0xef04fdb7': ['buyShares(bytes,uint8,uint256,uint256)'], + '0x86723215': ['createMarket(bytes,uint256,uint256,address)'], + '0x55ba343f': ['getMarket(bytes)'], + '0x4401ff5c': ['sellShares(bytes,uint8,uint256,uint256)'], + '0xdf6c13c3': ['getMinFunding()'], + '0x9431f5f0': ['withdrawFees(bytes)'], + '0x43703b0e': ['getEventData(bytes)'], + '0x632f0ba6': ['descriptionHashes(bytes)'], + '0x5e58f141': ['shares(address,bytes,int256)'], + '0xdb5b4183': ['oracleOutcomes(bytes,address)'], + '0x3d69b403': ['isOutcomeSet(bytes)'], + '0xea4ba8eb': ['getOutcome(bytes)'], + '0xbbd8b602': ['getOracleOutcomes(bytes,address[])'], + '0x9ec32d45': ['challengeWinningOutcome(bytes,uint16)'], + '0x41095b60': ['voteForUltimateOutcome(bytes,uint16)'], + '0x8f6f988c': ['setUltimateOutcome(bytes)'], + '0x0968f264': ['withdraw(bytes)'], + '0x1397fdbd': ['getShares(address,bytes,int256[])'], + '0x45ee49b9': ['getUltimateOutcomes(bytes)'], + '0xc90d080a': ['registerEvent(bytes)'], + '0xc0ae6a3a': ['ultimateOutcomes(bytes)'], + '0xc2038560': ['setOutcome(bytes,bytes)'], + '0x8204ecdd': ['getFee(bytes)'], + '0xffcf21a9': ['eventOracles(bytes,uint256)'], + '0x08bf2d0d': ['getOrderBook(uint256,uint256)'], + '0x0e0f55d0': ['RewardOrder(uint256,uint256)'], + '0x0e97cfdf': ['placeOrder(uint256,uint256,uint256)'], + '0x29ef56b1': ['getAskOrderBookStats()'], + '0x3bed33ce': ['withdrawEther(uint256)'], + '0x50baa622': ['withdrawToken(uint256)'], + '0x512f1e64': ['orderBookLength()'], + '0x8ea98117': ['setCoordinator(address)'], + '0x9824425a': ['takeOrder(uint256,uint256,uint256,uint256)'], + '0x98ea5fca': ['depositEther()'], + '0xa2f16d80': ['dexWithdrawCollectedFees()'], + '0xb6ed0632': ['cancelOrder(uint256,uint256)'], + '0xe71264fa': ['addNewTokens(uint256)'], + '0xf1e4a540': ['unsetCoordinator()'], + '0xfe992c98': ['balanceOfAll(address)'], + '0x069d6d1c': ['closeOrder(uint256)'], + '0x070a888f': ['updateRewardDuration(uint256)'], + '0x09405164': ['getOpenCandidates()'], + '0x09a69f57': ['getRewardAmount()'], + '0x27cca148': ['lastClaimedBlock()'], + '0x942b90d3': ['getRewardTable()'], + '0xa9eed530': ['reduceOrderQty(uint256,uint256)'], + '0xc67d376d': ['getClosedCandidates()'], + '0xd3f297d6': ['claimLiquidityReward()'], + '0xfcc11241': ['addOrder(uint256,uint256,uint256,uint256,uint256,uint8)'], + '0x5829d310': ['entries(int256)'], + '0x8f9df278': [ + 'newEntry(int256,bool,uint256,int256,string,bytes32,address,uint256[])' + ], + '0x031d973e': ['closeMarket(bytes32)'], + '0x16181bb7': ['shortSellShares(bytes32,uint8,uint256,uint256)'], + '0x5aa97eeb': ['getMarkets(bytes32[],address)'], + '0x674cc1f5': ['getMarketHashes(bytes32[])'], + '0x6da84ec0': ['calcMarketFee(bytes32,uint256)'], + '0x929e626e': ['getShareDistribution(bytes32)'], + '0xa0bde7e8': ['getShareDistributionWithTimestamp(bytes32)'], + '0xbbd4f854': ['buyShares(bytes32,uint8,uint256,uint256)'], + '0xc1fd4339': ['createMarket(bytes32,uint256,uint256,address)'], + '0xc3c95c7b': ['getMarket(bytes32)'], + '0xdb833e3a': ['sellShares(bytes32,uint8,uint256,uint256)'], + '0xebb71194': ['withdrawFees(bytes32)'], + '0x07d5b826': ['buyAllOutcomes(bytes32,uint256)'], + '0x15e812ad': ['getBaseFee()'], + '0x1934d55a': ['isPermanentlyApproved(address,address)'], + '0x1d007f5f': ['changeDAO(address)'], + '0x1f0c1e0c': ['getEventTokenAddress(bytes32,uint256)'], + '0x3983d5c4': ['calcBaseFee(uint256)'], + '0x4025b293': ['redeemAllOutcomes(bytes32,uint256)'], + '0x428d64bd': ['getShares(address,bytes32[])'], + '0x481b659d': ['permitPermanentApproval(address)'], + '0x57bcccb6': ['revokePermanentApproval(address)'], + '0x8c172fa2': ['getEvent(bytes32)'], + '0x9ba5b4e9': ['getEventHashes(bytes32[])'], + '0xa4a7cf5c': ['redeemWinnings(bytes32)'], + '0xb11e3b82': [ + 'createEvent(bytes32,bool,int256,int256,uint8,address,address,bytes32[])' + ], + '0xc10dd4c6': ['getEvents(bytes32[],address)'], + '0xc51cf179': ['calcBaseFeeForShares(uint256)'], + '0xeff6be2f': ['changeBaseFee(uint256)'], + '0x13fc6ac2': ['getEventData(bytes32)'], + '0x51017702': ['isOutcomeSet(bytes32)'], + '0x5d1a3b82': ['getOutcome(bytes32)'], + '0xc1b06513': ['registerEvent(bytes32[])'], + '0xc91d7e9c': ['getFee(bytes32[])'], + '0x3ced516c': ['descriptionHashes(bytes32)'], + '0x488b3538': ['shares(address,bytes32,int256)'], + '0x4ad07b0e': ['oracleOutcomes(bytes32,address)'], + '0x659fb968': ['getOracleOutcomes(bytes32[],address[])'], + '0x6b1e564a': ['challengeWinningOutcome(bytes32,uint16)'], + '0x7b395487': ['voteForUltimateOutcome(bytes32,uint16)'], + '0x8aa6f1b1': ['setUltimateOutcome(bytes32)'], + '0x8e19899e': ['withdraw(bytes32)'], + '0x98f3b81a': ['getShares(address,bytes32[],int256[])'], + '0xa0ec4e09': ['getUltimateOutcomes(bytes32[])'], + '0xc25e6908': ['ultimateOutcomes(bytes32)'], + '0xc71e48d6': ['setOutcome(bytes32,bytes32[])'], + '0xfcf0f55b': ['eventOracles(bytes32,uint256)'], + '0x01991313': ['scheduleCall(address,bytes4,uint256)'], + '0x480b70bd': ['scheduleCall(address,bytes4,uint256,uint256)'], + '0x049ae734': ['scheduleCall(address,bytes4,uint256,uint256,uint8)'], + '0x68402460': ['scheduleCall(address,bytes4,uint256,uint256,uint8,uint256)'], + '0x8b676ae8': [ + 'scheduleCall(address,bytes4,uint256,uint256,uint8,uint256,uint256)' + ], + '0x30fd300f': ['registerBytes32(address,bytes32)'], + '0x741e2345': [ + 'registerMany(address,uint256,int256,uint256,bytes20,address,bytes)' + ], + '0x73b55eaf': ['registerData(address,int256,bytes32,address)'], + '0xc2b12a73': ['setBytes32(bytes32)'], + '0xf2da67db': ['setMany(uint256,int256,uint256,bytes20,address,bytes)'], + '0x0e850239': ['scheduleCall(bytes4,bytes)'], + '0x4db3da83': ['scheduleCall(bytes4)'], + '0x373a1bc3': ['scheduleCall(address,bytes4)'], + '0x3c2c21a0': ['scheduleCall(address,uint256,bytes4)'], + '0xa1c0539d': ['scheduleCall(address,bytes4,bytes)'], + '0x795b9a6f': ['scheduleCall(address,bytes4,uint256,bytes)'], + '0xc43d0575': ['scheduleCall(bytes4,uint256)'], + '0x3d9ce89b': ['scheduleCall(bytes4,bytes,uint256)'], + '0x48f05187': ['scheduleCall(address,bytes4,bytes,uint256)'], + '0x346cabbc': ['scheduleCall(address,bytes4,uint256,bytes,uint256)'], + '0x8c0e156d': ['scheduleCall(bytes4,uint256,uint256)'], + '0x5a9f2def': ['scheduleCall(bytes4,bytes,uint256,uint256)'], + '0x9772c982': ['scheduleCall(address,bytes4,bytes,uint256,uint256)'], + '0x3a9e7433': ['scheduleCall(bytes4,uint256,uint256,uint8)'], + '0x64ee49fe': ['scheduleCall(address,uint256,bytes4,uint256,uint256,uint8)'], + '0xee77fe86': ['scheduleCall(address,bytes4,bytes,uint256,uint256,uint8)'], + '0xe29fb547': ['scheduleCall(bytes4,uint256,uint256,uint8,uint256)'], + '0x03d22885': [ + 'scheduleCall(address,uint256,bytes4,uint256,uint256,uint8,uint256)' + ], + '0xb549793d': ['scheduleCall(bytes4,bytes,uint256,uint256,uint8,uint256)'], + '0x7b55c8b5': ['scheduleCall(address,bytes4,bytes,uint8,uint256[4])'], + '0x4c471cde': [ + 'scheduleCall(address,bytes4,bytes,uint256,uint256,uint8,uint256)' + ], + '0x938c4307': [ + 'scheduleCall(bytes4,bytes,uint16,uint8,uint256,uint256,uint256,uint256,uint256)' + ], + '0x0ce46c43': ['scheduleCall(address,bytes4,bytes,uint16,uint8,uint256[5])'], + '0x528eedcb': ['sendSafe(address,address,uint256)'], + '0x2812f8b8': [ + 'FutureCall(address,uint256,uint16,address,bytes4,bytes,uint256,uint256,uint256)' + ], + '0xcdda62ad': [ + 'FutureBlockCall(address,uint256,uint8,address,bytes4,bytes,uint256,uint256,uint16,uint256,uint256)' + ], + '0xc976bbbb': ['_compare(int256,bytes2,int256)'], + '0x9f2ce678': ['vote(bytes32,bool)'], + '0x318a3fee': ['relayTx(bytes,int256,int256[],int256,int256)'], + '0xa06db7dc': ['gracePeriod()'], + '0xc6502da8': ['basePayment()'], + '0x625cc465': ['baseDonation()'], + '0x938b5f32': ['origin()'], + '0xeaa37394': ['create(bytes,bytes32,bool,bool,bool,bool,bool)'], + '0xf6469342': ['_setPackedBlockNumber(bytes32,uint256)'], + '0xf3e84cf3': ['createNewRevision(bytes32,bytes)'], + '0xf0cb556c': ['updateLatestRevision(bytes32,bytes)'], + '0x37664643': ['retractLatestRevision(bytes32)'], + '0x9b619d3b': ['_deleteAllPackedRevisionBlockNumbers(bytes32)'], + '0x2bf1f9da': ['restart(bytes32,bytes)'], + '0x117b4705': ['retract(bytes32)'], + '0x0eb8ed07': ['transferEnable(bytes32)'], + '0xaaac50bd': ['transferDisable(bytes32)'], + '0x79ce9fac': ['transfer(bytes32,address)'], + '0xd93e7573': ['disown(bytes32)'], + '0x89ced196': ['setNotUpdatable(bytes32)'], + '0xfe8b6642': ['setEnforceRevisions(bytes32)'], + '0x0d244d68': ['setNotRetractable(bytes32)'], + '0xb7d454a4': ['setNotTransferable(bytes32)'], + '0x4788cabf': ['getContractId()'], + '0x737c8ea1': ['_getRevisionBlockNumber(bytes32,uint256)'], + '0x9070b18d': ['_getAllRevisionBlockNumbers(bytes32)'], + '0x7a02dc06': ['getInfo(bytes32)'], + '0xdeb931a2': ['getOwner(bytes32)'], + '0x64228857': ['getRevisionCount(bytes32)'], + '0xa95d017d': ['getRevisionBlockNumber(bytes32,uint256)'], + '0xb7dd1d17': ['getAllRevisionBlockNumbers(bytes32)'], + '0x49437210': ['getUpdatable(bytes32)'], + '0x0b6fcdb0': ['getEnforceRevisions(bytes32)'], + '0x331a72d1': ['getRetractable(bytes32)'], + '0xf0da84f8': ['getTransferable(bytes32)'], + '0x1d82e9c7': ['EXTRA_GAS()'], + '0x964c836c': ['receiveExecutionNotification()'], + '0xc262df45': ['isKnownRequest(address,address)'], + '0x7fee4ecb': ['GAS_PER_DEPTH()'], + '0x07ad9ecb': ['safeSend(address,uint256)'], + '0xeacc5b3b': ['safeSend(address,uint256,uint256)'], + '0x1a26ed1c': ['validateReservedWindowSize(uint256,uint256)'], + '0x2e898ddc': ['validateTemporalUnit(uint256)'], + '0xb3aaa277': [ + 'validate(address[4],address,uint256[11],uint256,bytes,uint256)' + ], + '0xc45b415e': ['createRequest(address[4],address,uint256[11],uint256,bytes)'], + '0xf00e8651': ['createRequest(address[2],address,uint256[11],uint256,bytes)'], + '0x17a601b5': ['MAX_STACK_DEPTH_REQUIREMENT()'], + '0x3121369d': ['validateRequiredStackDepth(uint256)'], + '0xb5f5962a': ['CALL_GAS_CEILING(uint256)'], + '0xf4c5ab7c': ['validateCallGas(uint256,uint256)'], + '0xd7504385': ['validateToAddress(address)'], + '0x610d5de8': ['validateEndowment(uint256,uint256,uint256,uint256,uint256)'], + '0xcd9a3c98': ['any(bool[7])'], + '0xf1fe42b8': [ + 'TransactionRequest(address[3],address,uint256[11],uint256,bytes)' + ], + '0x00a676f9': ['getExists(bytes32)'], + '0xf42aa287': ['getBlobStore(bytes12)'], + '0x8f420866': ['DEFAULT_SEND_GAS()'], + '0xa126c5df': ['GAS_TO_AUTHORIZE_EXECUTION()'], + '0xbd35d570': ['GAS_TO_COMPLETE_EXECUTION()'], + '0xf6bd5893': ['getGas(uint256)'], + '0x606deecd': ['requestData()'], + '0xf9909915': ['bulkStoreHeader(bytes,int256,bytes,int256)'], + '0x129484b6': [ + 'changeFeeRecipient(int256,int256,int256,int256,int256,int256)' + ], + '0xca0c1e62': [ + 'computeMerkle(int256,int256,int256[],int256,int256,int256[])' + ], + '0x752d349c': ['depthCheck(int256,int256)'], + '0x157f8f51': ['feePaid(int256,int256,int256,int256)'], + '0x7ca823d5': ['getAverageChainWork()'], + '0x9a15f4f3': ['getBlockHeader(int256,int256)'], + '0x2c181929': ['getChainWork()'], + '0xfa14df6b': ['getChangeRecipientFee()'], + '0xc018d0e6': ['getFeeAmount(int256,int256)'], + '0x16e27349': ['getFeeRecipient(int256,int256)'], + '0xace51abc': [ + 'helperVerifyHash__(uint256,int256,int256[],int256,uint256,int256,int256[],int256)' + ], + '0x11400d8e': ['priv_fastGetBlockHash__(int256,int256)'], + '0x3c2e7d54': ['priv_inMainChain__(int256,int256)'], + '0xecb0256b': [ + 'relayTx(bytes,int256,int256[],int256,int256,bytes,int256,int256[],int256,int256)' + ], + '0xfae8f9a2': ['setInitialParent(int256,int256,int256,int256,int256,int256)'], + '0x6e173a7f': ['storeBlockHeader(bytes,bytes)'], + '0x3af75ee1': ['storeBlockWithFee(bytes,int256,bytes,int256)'], + '0xfad9bf9e': [ + 'storeBlockWithFeeAndRecipient(bytes,int256,int256,bytes,int256,int256)' + ], + '0x05a5b8c6': [ + 'verifyTx(bytes,int256,int256[],int256,bytes,int256,int256[],int256)' + ], + '0x9a89ad65': ['within6Confirms(int256,int256)'], + '0x362af076': ['createRequest(address[3],address,uint256[11],uint256,bytes)'], + '0x09861b81': ['flooredSub(uint256,uint256)'], + '0x3dd297da': ['safeMultiply(uint256,uint256)'], + '0x88102583': ['safeCastSigned(uint256)'], + '0x592685d5': ['getWindowStart(address,address)'], + '0xbf2e694f': ['getPreviousRequest(address,address)'], + '0x1acb2719': ['getNextRequest(address,address)'], + '0x09d33f1d': ['addRequest(address,uint256)'], + '0xac8d6030': ['removeRequest(address)'], + '0xb15dcc25': ['query(address,bytes2,uint256)'], + '0x17e1b09b': ['minimumDeposit(uint256)'], + '0x8fbc3ecd': ['BUFFER()'], + '0x3f0ec70b': ['RequestFactory(address)'], + '0xfb87d5ea': [ + 'TransactionRequest(address[4],address,uint256[11],uint256,bytes)' + ], + '0xb311ee0c': ['refundClaimDeposit()'], + '0x8dd8596c': ['sendDonation()'], + '0x6720ceb1': ['sendPayment()'], + '0x6949a058': ['sendOwnerEther()'], + '0x66671c71': ['BaseScheduler(address,address)'], + '0xbf8c50ff': ['scheduleTransaction()'], + '0x93c166ec': ['computeEndowment(uint256,uint256,uint256,uint256)'], + '0xfff78f9c': ['doThrow()'], + '0xf0586f0d': ['doThrow(bool)'], + '0x2667f407': ['__proxy(address,bytes)'], + '0xc3fa5f93': ['BlockScheduler(address,address)'], + '0xb0bcc610': ['scheduleTransaction(address)'], + '0xb8f71f26': ['scheduleTransaction(uint256,address)'], + '0x30c0f8d6': ['scheduleTransaction(address,bytes)'], + '0xc0eb2325': ['scheduleTransaction(address,bytes,uint256)'], + '0x4d5b080c': ['scheduleTransaction(uint256,address,uint256)'], + '0xb03260be': ['scheduleTransaction(uint256,address,bytes)'], + '0xcf4a1612': ['scheduleTransaction(uint256,address,bytes,uint256)'], + '0xed4b1d0d': ['scheduleTransaction(uint256)'], + '0x57e2880d': ['scheduleTransaction(uint256,uint256)'], + '0xcf158fe9': ['scheduleTransaction(uint256,uint256,uint256)'], + '0xf0a78538': ['scheduleTransaction(uint256,bytes)'], + '0xe33c7ae2': ['scheduleTransaction(uint256,uint256,bytes)'], + '0x1099d3ec': ['scheduleTransaction(uint256,uint256,uint256,bytes)'], + '0x447cd682': ['scheduleTransaction(address,uint256)'], + '0x02e8d8c0': ['scheduleTransaction(address,uint256,uint256)'], + '0xd0549602': ['scheduleTransaction(address,uint256,uint256,uint256)'], + '0x44dd4b5e': ['scheduleTransaction(address,uint256,bytes)'], + '0xb67fabdf': ['scheduleTransaction(address,uint256,uint256,bytes)'], + '0xc9296d14': ['scheduleTransaction(address,uint256,uint256,uint256,bytes)'], + '0x314e0fb6': ['scheduleTransaction(address,bytes,uint256[3],uint256)'], + '0xceba30b5': ['scheduleTransaction(address,bytes,uint256[4],uint256)'], + '0xd4c2b6b1': ['scheduleTransaction(address,bytes,uint256[5],uint256)'], + '0xa42e36c6': ['scheduleTransaction(address,bytes,uint8,uint256[5],uint256)'], + '0x3c894475': ['scheduleTransaction(address,bytes,uint8,uint256[6],uint256)'], + '0x4ed4831a': ['all(bool[7])'], + '0xc5f310c0': ['register(bytes12)'], + '0x266710ca': ['manualUpdateBalances_only_Dev()'], + '0x2e0ef395': ['voteOnNewEntryFees_only_VIP(uint8)'], + '0x33ce7787': ['transferInvestorAccount(address,address)'], + '0x402e6230': ['getTotalGambles()'], + '0x580bdf3c': ['disableBetting_only_Dev()'], + '0x6ad50ed4': ['investmentEntryInfos()'], + '0x750cae6a': ['enableBetting_only_Dev()'], + '0x7c9cd7df': ['changeDeveloper_only_Dev(address)'], + '0xbb84d362': ['splitProfitVIP_only_Dev()'], + '0xc7144269': [ + 'changeSettings_only_Dev(uint256,uint256,uint256,uint256,uint16,uint256,uint256,uint256,uint8,uint8)' + ], + '0xe56c8552': ['spinTheWheel(address)'], + '0x433836dc': ['scheduleTransaction(address,bytes,uint8,uint256[3],uint256)'], + '0x9341231c': ['sendOrThrow(address,uint256)'], + '0x1d49e081': ['EXECUTE_EXTRA_GAS()'], + '0xd2531590': ['CANCEL_EXTRA_GAS()'], + '0xad8ed335': ['__proxy(address)'], + '0x9af605cb': ['__proxy(address,bytes,uint256)'], + '0xf10ae2ab': ['__dig_then_proxy(uint256,address,bytes)'], + '0x9a35f886': ['__dig_then_proxy(uint256)'], + '0x7cbcc254': ['__reset__()'], + '0x6aaba012': ['ErrorGenerator()'], + '0x40a3d246': ['toggle()'], + '0x51582ef3': ['sendProxyTransaction(address,uint256,uint256,bytes)'], + '0x7b632c41': ['TimestampScheduler(address,address)'], + '0xb69c0896': ['BaseScheduler(address,address,uint256)'], + '0x30aceb89': [ + 'validateRequestParams(address[3],address,uint256[11],uint256,bytes,uint256)' + ], + '0x15abc160': [ + 'createValidatedRequest(address[3],address,uint256[11],uint256,bytes)' + ], + '0x316b08a0': ['scheduleTransaction(address,bytes,uint256[7],uint256)'], + '0xd96d7ea2': ['PRE_EXECUTION_GAS()'], + '0x45104b16': ['EXECUTION_GAS_OVERHEAD()'], + '0xc7e67360': ['GAS_BUFFER()'], + '0x5ee345e4': [ + 'computeEndowment(uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x27960c5f': [ + 'validateEndowment(uint256,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x81baf820': ['BlockScheduler(address)'], + '0xba8661a2': ['TimestampScheduler(address)'], + '0x6b9b1006': ['TransactionRecorder()'], + '0x043753ba': ['makeDecision(uint256,bool)'], + '0xcd2cdd5b': ['claimOwnershi()'], + '0x1ac61e8c': ['testBlobCreate()'], + '0x741273d6': ['testThrowRegisterContractAgain()'], + '0x59e2d30e': ['testThrowBlobStoreNotRegistered()'], + '0xfa3f1e99': ['testBlobStoreRegistered()'], + '0x29e30910': ['testThrowCreateExistingNonce()'], + '0xd62d3115': ['testCreate()'], + '0xa5dfee67': ['testThrowsCreateNewRevisionNotUpdatable()'], + '0x85b73d3c': ['testCreateNewRevision()'], + '0x5f0edfb8': ['create(bytes,bytes32,bytes1)'], + '0x2551858e': ['getFlags(bytes32)'], + '0x8d375da2': ['testMakeItFail()'], + '0xe597f402': ['create(bytes1,bytes32,bytes)'], + '0x7fefde53': ['WillRegistry()'], + '0x337b1cf9': ['setIpfsHash(bytes)'], + '0xd0b52156': ['getIpfsHash(address,address)'], + '0x5b37e150': ['create(bytes32,bytes)'], + '0x338a1379': ['_setPackedBlockNumber(bytes20,uint256)'], + '0xa84c5330': ['createNewRevision(bytes20,bytes)'], + '0x9e65c7e5': ['updateLatestRevision(bytes20,bytes)'], + '0xa7e93e87': ['retractLatestRevision(bytes20)'], + '0x5ccd2f9b': ['_deleteAllPackedRevisionBlockNumbers(bytes20)'], + '0xe0a70811': ['restart(bytes20,bytes)'], + '0xcf7315c6': ['retract(bytes20)'], + '0x12511c14': ['transferEnable(bytes20)'], + '0x47bdb7f4': ['transferDisable(bytes20)'], + '0xb06df18e': ['transfer(bytes20,address)'], + '0xd6ca8ccb': ['disown(bytes20)'], + '0xd0c24e93': ['setNotUpdatable(bytes20)'], + '0x9243e088': ['setEnforceRevisions(bytes20)'], + '0x976b01c0': ['setNotRetractable(bytes20)'], + '0xb971b4e5': ['setNotTransferable(bytes20)'], + '0x08b7c13b': ['getExists(bytes20)'], + '0xfb47a067': ['_getRevisionBlockNumber(bytes20,uint256)'], + '0xec035393': ['_getAllRevisionBlockNumbers(bytes20)'], + '0xba15e52e': ['getInfo(bytes20)'], + '0x01fd89a4': ['getFlags(bytes20)'], + '0x3df91162': ['getUpdatable(bytes20)'], + '0xdba1ac3d': ['getEnforceRevisions(bytes20)'], + '0x3c335b0e': ['getRetractable(bytes20)'], + '0xaa5d4719': ['getTransferable(bytes20)'], + '0xe487eb58': ['getOwner(bytes20)'], + '0x3ef87414': ['getRevisionCount(bytes20)'], + '0x74f8d96e': ['getRevisionBlockNumber(bytes20,uint256)'], + '0x22057bc7': ['getAllRevisionBlockNumbers(bytes20)'], + '0x13137731': ['testThrowsUpdateLatestRevisionNotUpdatable()'], + '0x2eb5c61f': ['testThrowsUpdateLatestRevisionEnforceRevisions()'], + '0x1fb2f2a0': ['testUpdateLatestRevision()'], + '0xe82f7dd4': ['testThrowsRetractLatestRevisionNotUpdatable()'], + '0x8e1ffb19': ['testThrowsRetractLatestRevisionEnforceRevisions()'], + '0xe0cfc05c': [ + 'testThrowsRetractLatestRevisionDoesntHaveAdditionalRevisions()' + ], + '0x40695625': ['testRetractLatestRevision()'], + '0x1b769e74': ['testThrowsRestartNotUpdatable()'], + '0x5292c1a9': ['testThrowsRestartEnforceRevisions()'], + '0x465e759b': ['testRestart()'], + '0xcaab0acc': ['testThrowCreateRetracted()'], + '0xd96e5565': ['testThrowsRetractNotRetractable()'], + '0x0af4626d': ['testRetract()'], + '0x804e11dc': ['testThrowsDisownNotTransferable()'], + '0xda5c0a7c': ['testDisown()'], + '0xad544dcb': ['testSetNotUpdatable()'], + '0xee0dc478': ['testSetEnforceRevisions()'], + '0xac3e6b2f': ['testSetNotRetractable()'], + '0xa039e3c7': ['testSetNotTransferable()'], + '0x30a24abd': ['create(bytes4,bytes)'], + '0x446fbcd1': ['CredSign()'], + '0x2e06c756': ['post(string,string,string,uint256,uint256,address)'], + '0xd5f37f95': ['sign(uint256,uint256,address)'], + '0xccbda1af': ['getChannelByName(string)'], + '0x738ddabe': ['getContentIndexedAccountCred(uint256,address,address)'], + '0x60dccd89': ['getContentAccount(uint256)'], + '0x05de4f07': ['getContentParent(uint256)'], + '0x9ea1b79d': ['getContentChannel(uint256)'], + '0xa5b9e922': ['getContentTimetamp(uint256)'], + '0x7e904a48': ['getNumContents(uint256)'], + '0xd644e356': ['index(uint256,address,uint256,uint256)'], + '0x0a4caed0': ['getChannelByRank(address,uint256)'], + '0x66099706': ['getChannelCred(address,uint256)'], + '0x5a1cc358': ['getChannelRank(address,uint256)'], + '0xffe34512': ['getNumChannels(address)'], + '0x771ad635': ['getContentCred(address,uint256)'], + '0x1d7e1f68': ['getContentRank(address,uint256)'], + '0xc01706dd': ['getContentByRank(address,uint256,uint256)'], + '0x2ae87a70': ['getNumContents(address,uint256)'], + '0x3b9901cc': ['getChannelsByRanks(address,uint256,uint256)'], + '0x9919b1cc': ['getContentsByRanks(address,uint256,uint256,uint256)'], + '0xf4dbeb9d': ['getCredRanksByContents(address,uint256[])'], + '0x6d1da953': ['createWithNonce(bytes32,bytes)'], + '0x67387d6b': ['testThrowCreateWithNonceExistingNonce()'], + '0x2aee19c7': ['testCreateWithNonce()'], + '0x81ebdeea': ['testThrowCreateWithNonceRetracted()'], + '0x089d5c4a': ['repr()'], + '0xaa237e21': ['set(bool,uint256)'], + '0xd1b1a22b': ['set(string,uint256[],uint256[],uint256[],bool[],uint256[])'], + '0x22bc3b8e': ['getArgument(uint256)'], + '0x0f3a1412': ['getArrlist(uint256,uint256)'], + '0xbb5d40eb': ['isValid()'], + '0x18921de4': [ + 'addSignature(string,uint256[],uint256[],uint256[],bool[],uint256[])' + ], + '0xd8c34127': ['isKnownSignature(string)'], + '0x6ba0b4f2': ['isKnownSelector(bytes4)'], + '0xa6cbcdd5': ['numSignatures(bytes4)'], + '0xe02426c1': ['getSignatureHash(bytes4,uint256)'], + '0x2324c67c': ['getAllSignatureHashes(bytes4)'], + '0xc4b14e0b': ['getSignature(bytes32)'], + '0x1baaeb91': ['getSignature(bytes4,uint256)'], + '0x0194db8e': ['sum(uint256[])'], + '0xcabb3a3a': ['isAlphaNumeric(string)'], + '0x7fdc8290': ['isUnderscore(bytes1)'], + '0x2973e372': ['isAlphaUpper(bytes1)'], + '0x9a571d9f': ['isAlphaLower(bytes1)'], + '0x342454c7': ['isDigit(bytes1)'], + '0xfadc51cf': ['isAlpha(bytes1)'], + '0xfd958695': ['isAlphaNumeric(bytes1)'], + '0xea3d508a': ['selector()'], + '0x4ed3885e': ['set(string)'], + '0x83d51a38': ['concatString(string)'], + '0x69d01268': ['concatUInt(uint256)'], + '0x364ea9e7': ['set(uint256,uint256,bool[],uint256[])'], + '0xcde0a4f8': ['setRegulator(address)'], + '0x483a83df': ['setKYC(address)'], + '0x5c7c9aa4': ['checkAccountState(address)'], + '0xbaccc92b': ['RegulatorIfc(address)'], + '0xbe3945e4': ['getFee(address,address,uint256)'], + '0x3395dc70': ['acceptTransfer(address,address,uint256)'], + '0x07b2779f': ['BasicRegulator(address,uint256,uint256)'], + '0x14cbdb54': ['EspCoin()'], + '0x1995333b': ['burnFunds(uint256)'], + '0x0ae5e739': ['grantAccess(address)'], + '0x85e68531': ['revokeAccess(address)'], + '0x95a078e8': ['hasAccess(address)'], + '0x56b8c724': ['transfer(address,uint256,string)'], + '0x1af716ba': ['transferFrom(address,address,uint256,string)'], + '0x24c93343': ['error(string)'], + '0x652f1f16': ['addSignature(string)'], + '0x560bb612': ['SignatureValidator(address)'], + '0x35b28153': ['addAuthorization(address)'], + '0x94f3f81d': ['removeAuthorization(address)'], + '0x7620a65b': ['Publisher()'], + '0xcc70bb1a': ['publish(string,string,string,address)'], + '0x8023ffbd': ['getOverallSize()'], + '0xebb741cb': ['getChannelSize(uint256)'], + '0xbbed7177': ['getContentTimestamp(uint256)'], + '0x8eaa1e29': ['getContentByData(address,uint256,string,string)'], + '0x69b144eb': ['testThrowsCreateNewRevisionNotOwner()'], + '0x334ef224': ['testThrowsUpdateLatestRevisionNotOwner()'], + '0xa6e16ba2': ['testThrowsRetractLatestRevisionNotOwner()'], + '0x6b6a53fa': ['testThrowsRestartNotOwner()'], + '0x869b3f6a': ['testThrowsRetractNotOwner()'], + '0xbc0e7adb': ['testThrowsDisownNotOwner()'], + '0xce19419b': ['testThrowsSetNotUpdatableNotOwner()'], + '0x67080f6e': ['testThrowsSetEnforceRevisionsNotOwner()'], + '0xe1569f6b': ['testThrowsSetNotRetractableNotOwner()'], + '0xb463bcde': ['testThrowsSetNotTransferableNotOwner()'], + '0x1da6822c': ['testThrowsTransferEnableNotTransferable()'], + '0x98024f18': ['testThrowsTransferDisableNotEnabled()'], + '0x06459119': ['testThrowsTransferNotTransferable()'], + '0xd3d6a975': ['testThrowsTransferNotEnabled()'], + '0xd4b1d19f': ['testThrowsTransferDisabled()'], + '0xd591221f': ['testTransfer()'], + '0x15a0df43': ['testThrowCreateNewRevisionNotOwner()'], + '0xe3a199d6': ['testThrowCreateNewRevisionNotUpdatable()'], + '0x42ce0f30': ['testThrowUpdateLatestRevisionNotOwner()'], + '0x835b42fc': ['testThrowUpdateLatestRevisionNotUpdatable()'], + '0x550bcd8d': ['testThrowUpdateLatestRevisionEnforceRevisions()'], + '0x46c3166f': ['testThrowRetractLatestRevisionNotOwner()'], + '0x2432eb23': ['testThrowRetractLatestRevisionNotUpdatable()'], + '0x531d1974': ['testThrowRetractLatestRevisionEnforceRevisions()'], + '0x6edb4cf6': [ + 'testThrowRetractLatestRevisionDoesntHaveAdditionalRevisions()' + ], + '0xfaf0952b': ['testThrowRestartNotOwner()'], + '0x85fe0448': ['testThrowRestartNotUpdatable()'], + '0xbb6a1427': ['testThrowRestartEnforceRevisions()'], + '0x23647398': ['testThrowRetractNotOwner()'], + '0x75a6a332': ['testThrowRetractNotRetractable()'], + '0x78205f67': ['testThrowTransferEnableNotTransferable()'], + '0xe5c7e509': ['testThrowTransferDisableNotEnabled()'], + '0x966acb38': ['testThrowTransferNotTransferable()'], + '0xd9ec0508': ['testThrowTransferNotEnabled()'], + '0x837a7ba5': ['testThrowTransferDisabled()'], + '0x7b48ba20': ['testThrowDisownNotOwner()'], + '0x938ae4cc': ['testThrowDisownNotTransferable()'], + '0x53caf582': ['testThrowSetNotUpdatableNotOwner()'], + '0xef41e06f': ['testThrowSetEnforceRevisionsNotOwner()'], + '0x20130753': ['testThrowSetNotRetractableNotOwner()'], + '0x5e1936d4': ['testThrowSetNotTransferableNotOwner()'], + '0x4123cb6b': ['m_numOwners()'], + '0x52375093': ['m_lastDay()'], + '0x659010e7': ['m_spentToday()'], + '0x746c9171': ['m_required()'], + '0x797af627': ['confirm(bytes32)'], + '0xb75c7dc6': ['revoke(bytes32)'], + '0xc2cf7326': ['hasConfirmed(bytes32,address)'], + '0xf1736d86': ['m_dailyLimit()'], + '0x96286cc9': ['isTokenOwner(address)'], + '0x69c8b344': ['ownedToken(address)'], + '0xe8580dd4': ['Survey(address,uint256,string,bytes32[])'], + '0x71c59097': ['MainnetSurvey(uint256,string,bytes32[])'], + '0x6e2edf30': ['ETCSurvey(address)'], + '0x58cb7323': ['MainnetETCSurvey()'], + '0x76d66f5d': ['_Transfer(address,address,bytes32)'], + '0x62c99e84': ['_Approval(address,address,bytes32)'], + '0x5fcc2edb': ['IndividualityTokenRoot(address)'], + '0xf3d91708': ['isEligibleForUpgrade(address)'], + '0x1a695230': ['transfer(address)'], + '0x103f9251': ['transferFrom(address,address)'], + '0x7dd56411': ['ownerOf(bytes32)'], + '0x7ca31724': ['tokenId(address)'], + '0xd55ec697': ['upgrade()'], + '0x216ef940': ['proxyUpgrade(address,address,bytes)'], + '0xc4128b6d': ['upgradeCount()'], + '0x09fc8f6d': ['isTokenUpgraded(bytes32)'], + '0x19a9c2f1': ['generateId(string)'], + '0xafb95eed': ['logApproval(address,address,bytes32)'], + '0x85d5c971': ['logTransfer(address,address,bytes32)'], + '0xbbba3333': ['safer_ecrecover(bytes32,uint8,bytes32,bytes32)'], + '0x77d32e94': ['ecrecovery(bytes32,bytes)'], + '0x39cdde32': ['ecverify(bytes32,bytes,address)'], + '0x72c3015c': ['mint(int256,address,string)'], + '0x6e0bd282': ['destroy(bytes32)'], + '0x983b2d56': ['addMinter(address)'], + '0x3092afd5': ['removeMinter(address)'], + '0x7d32e7bd': ['transfer(address,bytes32)'], + '0xb3c06f50': ['transferFrom(address,address,bytes32)'], + '0x5cd2f4d3': ['approve(address,bytes32)'], + '0x4fc9c91a': ['identityOf(bytes32)'], + '0x34b7ac9b': ['END_MINTING()'], + '0x899942b8': ['Devcon2Token()'], + '0x7993e5c2': ['Devcon2TokenForTesting()'], + '0x724121ae': ['contentExists(uint256)'], + '0x1003e2d2': ['add(uint256)'], + '0xa501e88d': ['Content()'], + '0x8570153e': ['publish(string,string,bytes,address[])'], + '0x76f30ca1': ['toContentID(address,uint256,string,bytes)'], + '0xee725d44': ['toChannelID(string)'], + '0x969cb7c3': ['getPublisher(uint256)'], + '0x110df916': ['getChannelID(uint256)'], + '0xb633620c': ['getTimestamp(uint256)'], + '0x4378a6e3': ['getAttributes(uint256)'], + '0x124eaee6': ['Identity()'], + '0xf207564e': ['register(uint256)'], + '0x4d207d9a': ['identify(address)'], + '0x54ea4000': ['identify(address[])'], + '0xeb782d8c': ['ContentSeries(address)'], + '0xde8fa431': ['getSize()'], + '0x21958a50': ['AddressSeries(address)'], + '0x504f1671': ['getSize(address)'], + '0xeb045789': ['ChannelSeries(address)'], + '0x023c23db': ['getSize(uint256)'], + '0x2fea7b81': ['getIdentity(address)'], + '0x043bb5e7': ['getIdentities(address[])'], + '0x27dc297e': ['__callback(bytes32,string)'], + '0x38bbfa50': ['__callback(bytes32,string,bytes)'], + '0xbc08afd9': ['WebOfTrustToken(address,uint256)'], + '0xa5bfa9a9': ['claimToken(bytes32)'], + '0x5669c94f': ['issueToken(address,string)'], + '0xcdcd77c0': ['baz(uint32,bool)'], + '0x0b811cb6': ['executeProposal(uint256,bytes32)'], + '0x1f5d0b4c': ['address(address,address,uint256)'], + '0x8ac0ca36': ['buyViaJohan()'], + '0xc1246d39': ['simulatePathwayFromBeneficiary()'], + '0x59e148fc': ['getLastOfferId()'], + '0x152583de': ['getAttributes()'], + '0x446d5aa4': ['getAttributes(address)'], + '0x88782386': ['UnicornMilk()'], + '0x13df7091': ['mintAll(int256)'], + '0xfa9acb05': ['addressInArray(address,address)'], + '0xb76e4890': ['Tester()'], + '0x0d2560ee': ['addMe()'], + '0x8894dd2b': ['addEther()'], + '0x1e9ea66a': ['balanceEther10000000(uint256)'], + '0xe5bf93b9': ['balanceEther(uint256)'], + '0xcd9f05b8': ['balanceEtherAddress(address)'], + '0xfd7ac203': ['TestToken()'], + '0x35b09a6e': ['someFunction()'], + '0x8f2c44a2': ['UnicornMilker()'], + '0xc26aa3c9': ['lockUnicorn(uint256)'], + '0xff556ecb': ['releaseUnicorn(uint256)'], + '0x27e8c2d8': ['burnUnicornShares()'], + '0xfff3c457': ['readMessages(uint256)'], + '0x6a226a49': ['addMessage(string)'], + '0x200ebe34': ['addTokensToGive(address)'], + '0x7a427d98': ['forceReturn()'], + '0xe53e04a5': ['refillGas()'], + '0x323082d7': ['Vote(string)'], + '0x90cf581c': ['voteYes()'], + '0x41c12a70': ['voteNo()'], + '0x49aa4ee2': ['removeVote()'], + '0xa48bdb7c': ['results()'], + '0x9832ee65': ['resultsWeightedByTokens()'], + '0x9dcb5c65': ['resultsWeightedByEther()'], + '0x49407a44': ['claimEther(uint256)'], + '0x509f8633': ['create_account()'], + '0x32fefb4c': ['add_account(address,address)'], + '0x9b5adea2': ['setMinter()'], + '0x0ecaea73': ['create(address,uint256)'], + '0xa24835d1': ['destroy(address,uint256)'], + '0x36f66528': ['EtherDelta(address,uint256,uint256)'], + '0x338b5dea': ['depositToken(address,uint256)'], + '0x9e281a98': ['withdrawToken(address,uint256)'], + '0xf7888aec': ['balanceOf(address,address)'], + '0x93f0bb51': [ + 'order(address,uint256,address,uint256,uint256,uint256,uint8,bytes32,bytes32)' + ], + '0x0a19b14a': [ + 'trade(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint256)' + ], + '0x6c86888b': [ + 'testTrade(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint256,address)' + ], + '0xfb6e155f': [ + 'availableVolume(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)' + ], + '0xbb8be064': ['HardwareToken()'], + '0x57a373a1': ['uintInArray(uint256,uint256,int256,uint256[],uint256)'], + '0x32afa2f9': ['claimEtherOwner(uint256)'], + '0xa2a8336f': ['claimEtherSigner(uint256)'], + '0x4e077f2a': ['addGasEther()'], + '0x24804cef': ['Deed()'], + '0xfaab9d39': ['setRegistrar(address)'], + '0xfb1669ca': ['setBalance(uint256)'], + '0xbbe42771': ['closeDeed(uint256)'], + '0x0b5ab3d5': ['destroyDeed()'], + '0xa06cab79': ['Registrar(address,bytes32)'], + '0x367bbd78': ['strlen(string)'], + '0x03985426': ['getMode(bytes32)'], + '0xede8acdb': ['startAuction(bytes32)'], + '0xe27fe50f': ['startAuctions(bytes32[])'], + '0x22ec1244': ['shaBid(bytes32,address,uint256,bytes32)'], + '0xce92dced': ['newBid(bytes32)'], + '0xaefc8c72': ['unsealBid(bytes32,address,uint256,bytes32)'], + '0xdf7cec28': ['cancelBid(bytes32)'], + '0x983b94fb': ['finalizeAuction(bytes32)'], + '0x0230a07c': ['releaseDeed(bytes32)'], + '0x15f73331': ['invalidateName(string)'], + '0x5ddae283': ['transferRegistrars(bytes32)'], + '0xebb045fa': ['PublicResolver(address)'], + '0x41b9dc2b': ['has(bytes32,bytes32)'], + '0x01ffc9a7': ['supportsInterface(bytes4)'], + '0x3b3b57de': ['addr(bytes32)'], + '0xd5fa2b00': ['setAddr(bytes32,address)'], + '0x2dff6941': ['content(bytes32)'], + '0xc3d014d6': ['setContent(bytes32,bytes32)'], + '0x1d2e2cc4': ['ENS()'], + '0x02571be3': ['owner(bytes32)'], + '0x0178b8bf': ['resolver(bytes32)'], + '0x16a25cbd': ['ttl(bytes32)'], + '0x5b0fc9c3': ['setOwner(bytes32,address)'], + '0x06ab5923': ['setSubnodeOwner(bytes32,bytes32,address)'], + '0x1896f70a': ['setResolver(bytes32,address)'], + '0x14ab9038': ['setTTL(bytes32,uint64)'], + '0x9d063ed8': ['FIFSRegistrar(address,bytes32)'], + '0xd22057a9': ['register(bytes32,address)'], + '0xe8efc1a0': ['updatedValue(bytes32)'], + '0x3dfb4843': ['renewDeed(bytes32)'], + '0xd8389dc5': ['hash(bytes32)'], + '0xd7fa1007': ['setHash(bytes32,bytes32)'], + '0x003538c5': ['TestRegistrar(address,bytes32)'], + '0x267b6922': ['entries(bytes32)'], + '0x3f15457f': ['ens()'], + '0x61584936': ['sealedBids(bytes32)'], + '0xb88eef53': ['registryCreated()'], + '0xfaff50a8': ['rootNode()'], + '0x8b859409': ['setRelease(bytes32,bytes32,string)'], + '0x244fcd03': ['removeRelease(bytes32,string)'], + '0x89859b50': ['updateLatestTree(bytes32)'], + '0xa10889fa': ['setVersion(uint32,uint32,uint32,string,string)'], + '0x0ccec396': ['getNumReleases()'], + '0x57b07cd9': ['getReleaseHash(uint256)'], + '0x173cb7de': ['getNumReleasesForNameHash(bytes32)'], + '0x0c26e42e': ['getReleaseHashForNameHash(bytes32,uint256)'], + '0x3f415772': ['releaseExists(bytes32)'], + '0xbb814e9e': ['versionExists(bytes32)'], + '0x4c4aea87': ['getReleaseData(bytes32)'], + '0x0c4326a0': ['getMajorMinorPatch(bytes32)'], + '0xfac5bb92': ['getPreRelease(bytes32)'], + '0x8ca4eef6': ['getBuild(bytes32)'], + '0x2ffb8631': ['getReleaseLockfileURI(bytes32)'], + '0x0e5ffb3c': ['hashVersion(uint32,uint32,uint32,string,string)'], + '0x93d79105': ['hashRelease(bytes32,bytes32)'], + '0x3ae9b510': ['getLatestMajorTree(bytes32)'], + '0xf2f254c7': ['getLatestMinorTree(bytes32,uint32)'], + '0x5263ba87': ['getLatestPatchTree(bytes32,uint32,uint32)'], + '0xdea9c72b': ['getLatestPreReleaseTree(bytes32,uint32,uint32,uint32)'], + '0xd7cc8362': ['isLatestMajorTree(bytes32,bytes32)'], + '0xd1f59db9': ['isLatestMinorTree(bytes32,bytes32)'], + '0xc233e870': ['isLatestPatchTree(bytes32,bytes32)'], + '0x02de2cf3': ['isLatestPreReleaseTree(bytes32,bytes32)'], + '0x02556de3': ['updateMajorTree(bytes32)'], + '0x44d75fa9': ['updateMinorTree(bytes32)'], + '0xb6ac24df': ['updatePatchTree(bytes32)'], + '0x900d85fa': ['updatePreReleaseTree(bytes32)'], + '0xbed34bba': ['compareStrings(string,string)'], + '0x15398afe': ['compareNumericStrings(string,string)'], + '0xdd79e33e': ['splitIdentifiers(string)'], + '0x2fc0aad3': ['isNumericString(string)'], + '0x55ff440a': ['castStringToUInt(string)'], + '0xb7009613': ['canCall(address,address,bytes4)'], + '0xeacfc0ae': ['Authorized()'], + '0x87045369': ['setCanCall(address,address,bytes4,bool)'], + '0x02acdb44': ['setAnyoneCanCall(address,bytes4,bool)'], + '0x20d9822e': ['setAnyoneCanCall(address,string,bool)'], + '0x083ae1fe': ['setPackage(string)'], + '0x001f8d11': ['removePackage(bytes32,string)'], + '0x2406cedb': ['setPackageOwner(bytes32,address)'], + '0xa9b35240': ['packageExists(bytes32)'], + '0x7370a38d': ['getNumPackages()'], + '0x95f0684b': ['getPackageNameHash(uint256)'], + '0xb4d6d4c7': ['getPackageData(bytes32)'], + '0x06fe1fd7': ['getPackageName(bytes32)'], + '0xaf9a3f9b': ['hashName(string)'], + '0x34c0d654': ['setPackageDb(address)'], + '0xf314bf46': ['setReleaseDb(address)'], + '0x10ae4ce2': ['setReleaseValidator(address)'], + '0x5fcb568c': ['release(string,uint32,uint32,uint32,string,string,string)'], + '0x0f3d7c3e': ['release(string,uint32[3],string,string,string)'], + '0x4f197ee7': ['transferPackageOwner(string,address)'], + '0x83ea0620': ['packageExists(string)'], + '0x4188d79c': ['releaseExists(string,uint32,uint32,uint32,string,string)'], + '0xcfe9a7b8': ['getPackageName(uint256)'], + '0xc2ba5b40': ['getPackageData(string)'], + '0xcec95aa1': ['getReleaseHashForPackage(string,uint256)'], + '0xc392f5a0': ['getAllPackageReleaseHashes(string)'], + '0x12cc08f2': ['getPackageReleaseHashes(string,uint256,uint256)'], + '0x4cb71b9b': ['getAllReleaseHashes()'], + '0x79cce1c5': ['getReleaseHashes(uint256,uint256)'], + '0x1f6b0a9d': [ + 'getReleaseLockfileURI(string,uint32,uint32,uint32,string,string)' + ], + '0x79c3ddc1': ['isPackageOwner(string,address,address)'], + '0x91060168': ['fetchString(address,bytes4,bytes32)'], + '0xfa28ba0d': ['validateReleaseLockfileURI(string)'], + '0xf4ea95b9': ['validateReleaseVersion(uint32[3])'], + '0x6f0cfab6': ['DNSResolver()'], + '0x126a710e': ['dnsrr(bytes32)'], + '0x76196c88': ['setDnsrr(bytes32,bytes)'], + '0x61d585da': ['state(bytes32)'], + '0xe571c35e': ['ReverseRegistrar(address,bytes32)'], + '0x1e83409a': ['claim(address)'], + '0xbffbe61c': ['node(address)'], + '0x27b752b8': ['sha3HexAddress(address)'], + '0xe1fa8e84': ['register(bytes32)'], + '0xa31d5580': ['Registrar(address,bytes32,address)'], + '0x3ea3f6c5': ['activateRegistrar()'], + '0x271cd760': ['getPackageDb()'], + '0xfb3a1fb2': ['getReleaseDb()'], + '0x4961b40c': ['getReleaseValidator()'], + '0x2d34ba79': ['setup(address,address)'], + '0x30b9af98': ['withdrawFunding()'], + '0x92a781d8': ['changeBaseValue(uint256)'], + '0xb60d4288': ['fund()'], + '0xc062f578': ['updateStage()'], + '0xf3a44fe1': ['withdrawForWorkshop()'], + '0x99e0021f': ['mergencyCall()'], + '0x299ed37a': ['emergencyCall()'], + '0x0b7abf77': ['TOTAL_TOKENS()'], + '0x17f5de95': ['MAX_TOKENS_SOLD()'], + '0x39f64b52': ['calcTokenPrice()'], + '0x48c54b9d': ['claimTokens()'], + '0x48cd4cb1': ['startBlock()'], + '0x521eb273': ['wallet()'], + '0x60fd902c': ['gnosisToken()'], + '0x62ea82db': ['bids(address)'], + '0x6f85c7e4': ['WAITING_PERIOD()'], + '0x8da5cb5b': ['owner()'], + '0xa3c2c462': ['totalReceived()'], + '0xa6b513ee': ['finalPrice()'], + '0xc040e6b8': ['stage()'], + '0xc51bf934': ['CEILING()'], + '0xd9f8a4e2': ['calcCurrentTokenPrice()'], + '0xdd9dd688': ['calcStopPrice()'], + '0xde78e78a': ['tokenLaunched()'], + '0x4c6b25b1': ['results(bytes32)'], + '0x69347990': ['ownerWithdrawl()'], + '0x7b1aa45f': ['ownerDeposit()'], + '0x996a8046': ['__callback(bytes32,string,bool)'], + '0xb964608d': ['get_return_by_level(uint256)'], + '0xcddbe729': ['game(uint256)'], + '0x0674763c': ['assert(bool)'], + '0xe21608be': ['ReserveToken()'], + '0x1cbd0519': ['accountLevel(address)'], + '0x8abadb6b': ['setAccountLevel(address,uint256)'], + '0x4c7f74df': ['EtherDelta(address,address,address,uint256,uint256,uint256)'], + '0x8f283970': ['changeAdmin(address)'], + '0xe8f6bc2e': ['changeAccountLevelsAddr(address)'], + '0x71ffcb16': ['changeFeeAccount(address)'], + '0x54d03b5c': ['changeFeeMake(uint256)'], + '0x8823a9c0': ['changeFeeTake(uint256)'], + '0x5e1d7ae4': ['changeFeeRebate(uint256)'], + '0x0b927666': ['order(address,uint256,address,uint256,uint256,uint256)'], + '0x05888fcd': [ + 'tradeBalances(address,uint256,address,uint256,address,uint256)' + ], + '0x46be96c3': [ + 'amountFilled(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)' + ], + '0x278b8c0e': [ + 'cancelOrder(address,uint256,address,uint256,uint256,uint256,uint8,bytes32,bytes32)' + ], + '0x60116397': ['Registrar(address,bytes32,uint256)'], + '0xf4dc2d21': ['Deed(uint256)'], + '0x06fdde03': ['name()'], + '0x313ce567': ['decimals()'], + '0x40275f85': ['getPersonalDepositAddress(address)'], + '0x5a3b7e42': ['standard()'], + '0x89d59ee5': ['createPersonalDepositAddress()'], + '0x8c546f81': ['GNT()'], + '0x8f70bfa0': ['processDeposit()'], + '0x95d89b41': ['symbol()'], + '0xb414d4b6': ['frozenAccount(address)'], + '0xdc3080f2': ['spentAllowance(address,address)'], + '0x366a68dc': ['setBlockLock(uint256)'], + '0xa39a45b7': ['replaceOwner(address)'], + '0xa4e2d634': ['isLocked()'], + '0xd8162db7': ['lockedUntilBlock()'], + '0x1593a8c7': ['endLottery()'], + '0x53aab434': ['buyIn()'], + '0x5ec01e4d': ['random()'], + '0x6939864b': ['lotteryState()'], + '0xd366fbab': ['startLottery(bytes32,uint256,uint256,uint256,uint256,bool)'], + '0xfd7c460d': ['ciberLottery()'], + '0x2525f5c1': ['cancelBid(address,bytes32)'], + '0xc01a8c84': ['confirmTransaction(uint256)'], + '0x1209b1f6': ['ticketPrice()'], + '0x50b44712': ['tickets(uint256)'], + '0x5c3f9765': ['endDateClose()'], + '0x984ac378': ['lotteryTitle()'], + '0xb8851fea': ['endDateStart()'], + '0xc179520c': ['ManageAccount()'], + '0x12494160': ['isHolder()'], + '0x42ce1488': ['upload(string)'], + '0x3c925f16': ['getAccountHolder()'], + '0x83f7b8e1': ['getNumberOfPhotos()'], + '0xe2a71f12': ['accountDelete()'], + '0x009b9369': ['getVoteNumber(uint256)'], + '0x0ee79fb3': ['closeReferendums()'], + '0x291e6777': ['sendVote(uint256,uint256)'], + '0x32d2fb9f': ['getRefRemainingTime(uint256)'], + '0x3b0506f7': ['getVoteByAddress(address,uint256)'], + '0x62fb09b2': ['getRefDescr(uint256)'], + '0x77a7e6be': ['getRefTotal(uint256)'], + '0x80dcaf27': ['getRefNumber()'], + '0x8736fd16': ['getRefStatus(uint256)'], + '0xace523c4': ['createReferendum(string,string,uint256,uint256)'], + '0xb29d7914': ['getRefResults(uint256)'], + '0xc0df77d0': ['getRefName(uint256)'], + '0x94d9cf8f': [ + 'CreateProxyWithControllerAndRecovery(address,address[],uint256,uint256)' + ], + '0x4a3a87e2': [ + 'CreateProxyWithControllerAndRecoveryKey(address,address,uint256,uint256)' + ], + '0x4fcf8210': ['eraseRecord(bytes32)'], + '0xde10f04b': ['eraseNode(bytes32[])'], + '0x3a76abff': ['_eraseNode(uint256,bytes32[],bytes32)'], + '0x1cda37f2': ['eraseRecords(bytes32)'], + '0x00e43ee9': ['setMigrationStatus(uint256,address)'], + '0x984413b8': ['_eraseNode(bytes32)'], + '0xb0c80972': ['setBalance(uint256,bool)'], + '0xfebefd61': ['startAuctionsAndBid(bytes32[],bytes32)'], + '0x77bc222c': ['_eraseSingleNode(bytes32)'], + '0x57aee888': ['_eraseNodeHierarchy(uint256,bytes32[],bytes32)'], + '0xdce293a7': ['minLength(uint256)'], + '0xaf92a693': ['addRegistrar(address)'], + '0xba904eed': ['removeRegistrar(address)'], + '0x081780f4': ['clearRecord(bytes32)'], + '0xb0349184': ['clearRecords(bytes32[])'], + '0xf62cce34': ['_clearRecordHierarchy(uint256,bytes32[],bytes32)'], + '0x36b81feb': ['Deed(address)'], + '0x4a617faa': ['shaBid(bytes32,uint256,bytes32)'], + '0x47872b42': ['unsealBid(bytes32,uint256,bytes32)'], + '0x93503337': ['isAllowed(bytes32,uint256)'], + '0x8a4068dd': ['transfer()'], + '0x13c89a8f': ['getAllowedTime(bytes32)'], + '0xa360b26f': ['Migrations()'], + '0xfdacd576': ['setCompleted(uint256)'], + '0x99a88ec4': ['upgrade(address,address)'], + '0x8e7fd292': ['trySetSubnodeOwner(bytes32,address)'], + '0x29cd5777': ['_tryEraseSingleNode(bytes32)'], + '0x5e431709': ['sealedBids(address,bytes32)'], + '0x9c67f06f': ['registryStarted()'], + '0xea9e107a': ['acceptRegistrarTransfer(bytes32,address,uint256)'], + '0x05b34410': ['creationDate()'], + '0x2b20e397': ['registrar()'], + '0x3fa4f245': ['value()'], + '0x674f220f': ['previousOwner()'], + '0x2203ab56': ['ABI(bytes32,uint256)'], + '0x623195b0': ['setABI(bytes32,uint256,bytes)'], + '0xc8690233': ['pubkey(bytes32)'], + '0x29cd62ea': ['setPubkey(bytes32,bytes32,bytes32)'], + '0x691f3431': ['name(bytes32)'], + '0x77372213': ['setName(bytes32,string)'], + '0x20d8741f': ['Feed()'], + '0xdd114c22': ['publish(address,uint256,address,uint256)'], + '0xfb279ef3': ['tip(uint256,address,uint256)'], + '0x96c824a8': ['createAccountFundContract()'], + '0x33397816': ['withdrawAccountBalance(address)'], + '0x6ebbe863': ['updatePublishContract(address)'], + '0xfad4b99a': ['updateChannelMinimum(address,uint256)'], + '0x0b7ad54c': ['getContent(uint256)'], + '0xda9c6a46': ['getReplyCount(uint256)'], + '0x47372325': ['getChannelSize(address)'], + '0x2ca6d2c0': ['getAccountSize(address)'], + '0x73f93a48': ['getAccountContentTip(address,uint256)'], + '0x0a7f4239': ['getAccountFundContract(address)'], + '0x0fcda174': ['getAccountTokenBalance(address,address)'], + '0x79be02af': ['Read(address)'], + '0x27fbcac5': ['getChannelFeed(address,uint256,uint256)'], + '0xdd90c403': ['getAccountFeed(address,uint256,uint256)'], + '0xbff974e8': ['getContentReplies(uint256)'], + '0xb3822da8': ['getContents(uint256[])'], + '0x2a45a39a': ['Post(address)'], + '0xe3579ea5': ['publish(string,string,address,uint256)'], + '0x4c8cc20b': ['toContentID(address,string,string,address,uint256)'], + '0x6ce1417e': ['Fund()'], + '0xea46193e': ['getEtherBalance()'], + '0x55291dbd': ['claimEther()'], + '0xe9e99d81': ['getChannelFeed(address,uint256,uint256,uint256)'], + '0x05a17fc6': ['getAccountFeed(address,uint256,uint256,uint256)'], + '0xd90a88cd': ['getContentReplies(uint256,uint256)'], + '0x49e347ae': ['getContents(uint256[],uint256)'], + '0xbac1e9f6': ['getChannelSize(address,uint256)'], + '0x048e2e94': ['getAccountSize(address,uint256)'], + '0x9f181b5e': ['tokenCount()'], + '0xf446c1d0': ['A()'], + '0x314e99a2': ['abdicate()'], + '0x9b0b9c07': ['acceptBankDraft()'], + '0xbdfdb519': ['accept(string,uint256,uint16)'], + '0x8f5e9ca7': ['acceptTOS(address,bool)'], + '0xa79deb4f': ['acceptTradeDeal()'], + '0x5a28340a': ['accessOperatingBudget(uint256)'], + '0xa8b60b93': ['ackMsg(uint256,string)'], + '0x7ec0f30d': ['ack(string)'], + '0x82a62137': ['activateAccount(address)'], + '0x1e9fcc77': ['activateAllowance(address,address)'], + '0x6bd92f7c': ['activateAllowanceRecord(address,address)'], + '0x0651844e': ['activateBalance(address)'], + '0xc8e49707': ['activateExportFee(address)'], + '0x2cd78450': ['activateExportFeeChargeRecord(address)'], + '0xd532e481': ['activateFrozenAccount(address)'], + '0x1d2b7155': ['activateImportFeeChargeRecord(address)'], + '0xcf03f5f4': ['activateMasterKey(address)'], + '0x1917ab5c': ['activate(string)'], + '0x0b2acb3f': ['add(address,bytes)'], + '0xec97cff7': ['addCertificationDocument(address,bytes32)'], + '0xa0d605c6': ['addCertificationDocumentInternal(address,bytes32)'], + '0xe80bd3e5': ['addCertificationDocumentToSelf(bytes32)'], + '0x2b198366': ['addCertifier(address)'], + '0xac3e7d24': ['addChainyData(string)'], + '0x9450b1c8': ['addCharityFundation(string,string,string)'], + '0x6ac6205c': ['addDataPoint(int256,uint256,bool,string)'], + '0x4094ef5e': ['addDataRequest(string)'], + '0xd3118a5a': ['addDoc(string,string)'], + '0x20339891': ['addGridMember(address)'], + '0x61bffe01': ['addIdentities(bytes32[],bytes32[])'], + '0x17b3a34b': ['_addIdentities(uint256,bytes32[])'], + '0x17e1bfb7': ['addInstitution(address,string)'], + '0xf824384a': ['addInvestorAtID(uint256)'], + '0x202d6eaf': ['addInvestorsValue(uint256)'], + '0x2fe9541f': ['addIssueBounty(string,uint256)'], + '0x2d06177a': ['addManager(address)'], + '0x2ba0b09f': ['AddNewCategory(bytes4,uint8,uint8,address)'], + '0x29dfdded': ['addNewDonkey(address)'], + '0x74bfb965': ['addNewProxy(address)'], + '0x755f99c2': ['AddNewSmallContract(address)'], + '0xc1d5e84f': ['addNewUser(address)'], + '0x76849376': ['addNode(bytes32,address)'], + '0x7d380265': [ + 'addOptionChain(uint256,string,uint256,uint256,bytes32,address,int256[])' + ], + '0x227f9633': ['addOption(string,address,uint256)'], + '0xdf5dd1a5': ['addOracle(address)'], + '0x3c0dde1c': ['_addPools(address,address)'], + '0x3d90d44d': ['addPowerSource(address,uint256,uint256)'], + '0x49bf66d3': ['addRegistryIntoNameIndex(address)'], + '0xb796a339': ['addRegistryIntoOwnerIndex(address,address)'], + '0x7cdbae63': ['addRegistryIntoTagsIndex(address)'], + '0x3e82055a': ['addSignature(uint256,bytes16,bytes)'], + '0xd1feca67': ['addSpendingRequest(address)'], + '0xdab80d6f': ['addSponsor(address)'], + '0xb0c8f9dc': ['add(string)'], + '0x8396392d': ['add(string,string,string,address)'], + '0x36555b85': ['add(string,uint256)'], + '0xd2dc0869': ['add(string,uint256,string,string,address)'], + '0x0f3eb785': ['add(string,uint256,uint256,uint256)'], + '0x38178fbe': ['addString(string,string)'], + '0x45590ec8': ['addTag(uint256,string)'], + '0x0e1d88fc': ['addTender(uint256,uint256,address,uint256)'], + '0x7f0899f2': ['AddTicket(bytes5[])'], + '0xd48bfca7': ['addToken(address)'], + '0x75c4aaa6': ['addUnderDog(uint256)'], + '0x213ac932': ['addUser(address,uint256,uint8,bytes32,bytes32)'], + '0x9da680f3': ['adjustRegistrationFee(uint256)'], + '0x5b6a54bc': ['adjustTransactionFee(uint256)'], + '0x40fdef80': ['administration(uint256,string,uint256,uint256,address)'], + '0xbc21ce9d': ['Aggregation()'], + '0x98688a95': ['Ai()'], + '0xbd3f0965': ['AiraEtherFunds(string,string)'], + '0xe1efda6d': ['airaSend(address,address,uint256)'], + '0x6d2cb794': ['airaTransfer(address,address,uint256)'], + '0xa9f8ec6c': ['AlarmClockTipFaucet()'], + '0x4a8b5389': ['allocateBountyAndEcosystemTokens()'], + '0xbcfcb03e': ['allocateFounderTokens()'], + '0xd526b9bd': ['_allow()'], + '0x1c8d5d38': ['allowance(address,address,bytes32)'], + '0xeb06e65e': ['allowanceFromProxy(address,address,address)'], + '0x9c0a4bbc': ['AlwaysFail()'], + '0x3b591ea7': ['AmountToForgeTheNextBlock()'], + '0x6056969b': ['announce(bytes32)'], + '0x3ef8ec78': ['announce_numbers(uint8,uint8,uint8,uint8,uint32,bytes32)'], + '0xea0a5237': ['announce(string)'], + '0xac04f5a7': ['append(address)'], + '0x94ed9b77': ['append(address,address)'], + '0x9aaf442c': ['applyCensorship(uint256)'], + '0x691d58e7': ['_applyRefund(uint256)'], + '0x7b7d7225': ['_approve(address,uint256)'], + '0x6d1669e1': ['approveAndCall(address,address,uint256,bytes)'], + '0xf11c4482': ['approveFromProxy(address,address,uint256)'], + '0x7df52ba8': ['Arbitrate(uint32,uint32,bool)'], + '0x99154b49': ['ARK()'], + '0x014e5fde': ['ARKController_1_00()'], + '0xfb32f4f5': ['ARK_FLAGGER_1_00()'], + '0x2be6d43c': ['ARKTagger_1_00()'], + '0xae30d35d': ['ARK_TROGLOg_1_00()'], + '0x97709cde': [ + 'ARK_VOTER_1_00(uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0xdba21657': ['askForEther(uint256)'], + '0x8a3e44d4': ['assetMoveInformation(address,address)'], + '0x0399c357': ['assignFreeReadings(address,uint8)'], + '0x7fe0518a': ['asyncSend(address,uint256)'], + '0xa843c97f': ['attack(uint256,uint256,uint256[])'], + '0xe0886f90': ['at(uint256)'], + '0x373c98a2': ['authCall(address,bytes32)'], + '0x39b35753': ['authCancel(address)'], + '0x4a5db3b5': ['authorizeAddress(address)'], + '0x2db89533': ['Auth(uint8,address)'], + '0x10cf5d47': ['awaitingPayout()'], + '0x3d79d1c8': ['bal()'], + '0x0a6be0e7': ['BalancedPonzi()'], + '0x4d30b6be': ['balanceOf(address,bytes32)'], + '0x61a00f6d': ['Ballot(bytes32[])'], + '0x940f851c': ['Ballot(uint8)'], + '0x97c3ccd8': ['ban(address)'], + '0xb5deeca7': ['BaseRegistry()'], + '0xcbe9ef39': ['BasicCoin(uint256,address)'], + '0xd767aee0': ['bbb()'], + '0x738486bd': ['BeerCoin(uint256)'], + '0xf79b22e0': ['betOnATeam(uint256)'], + '0xd30a512e': ['betOnColumnOrDozen(bool,bool,bool)'], + '0x86314af9': ['BetOnHashV84()'], + '0x3adb2de7': ['bet_this_spin()'], + '0x416c8701': ['beyond()'], + '0x934db458': ['Big()'], + '0x71dd99fe': ['BigRisk()'], + '0xf67a1d37': ['BlockChainChallenge()'], + '0x8a519fb9': ['BlockChainEnterprise()'], + '0x9ad4f98e': ['BlocksureInfo()'], + '0x48d9a374': ['blockTransfer(address,uint256)'], + '0x00601d6c': ['board(uint256,uint8,uint8)'], + '0xd1100691': ['BookCafe()'], + '0xbb00fc55': ['bookEarnings()'], + '0x9eee85fe': ['bookEarnings(address,uint256)'], + '0xdba7ef7d': ['Bookie(address,address)'], + '0x60913244': ['botOnSale(uint256,uint256)'], + '0x4cb85356': ['BranchSender(uint256,bytes32)'], + '0x0ad95b44': ['bribery()'], + '0xb0ad38c4': ['buildCity(string,uint256[2],uint256[2])'], + '0xdad99989': ['burnCoins(address)'], + '0x5fc5d48b': ['burnUnsoldCoins(address)'], + '0x3824d8ee': ['buy100DaoFor1Eth()'], + '0x561a4873': ['buyAd(string,string,string,uint256,uint8,address)'], + '0x5f8f0483': ['buyBankerAgreementFromImporterBank()'], + '0x29274fe1': ['buyBOTx(uint256,string,string,address,uint256)'], + '0xe75528cc': ['buyBuilding(uint256,uint256)'], + '0xe7e2aa0e': ['buyer_cancel()'], + '0xd04bfc9c': ['buyer_pay()'], + '0x29cbdc86': ['buyin(address,uint256)'], + '0x4ea66c38': ['buyinInternal(address,uint256)'], + '0xd24ddcfe': ['buyKissBTC()'], + '0x854f4817': ['buyKissBTCWithCallback(address,uint256)'], + '0xdda44b10': ['buyRecipient(address,uint8,bytes32,bytes32)'], + '0xcef8d343': ['buyShare(uint256,bool)'], + '0x90cb04e1': ['buy(string,uint256,uint16)'], + '0xedca914c': ['buyTicket()'], + '0x920c94df': ['BuyTicketForOther(address,uint8,uint8,uint8)'], + '0x378c0605': ['buyTickets(address)'], + '0x46f7a883': ['BuyTicket(uint8,uint8,uint8)'], + '0xaaf9d13e': ['buyTopDog(uint256,uint256)'], + '0xe5fe4f31': ['buy(uint8,bytes32,bytes32)'], + '0x4b8772c1': ['buyUnit(uint256,uint256)'], + '0xb412d4d6': ['CafeDelivered()'], + '0x4dda1764': ['CafeMaker()'], + '0x4dc3141b': ['CalcAll()'], + '0xea295ec2': ['calcRevenue(address)'], + '0xc1cc0775': ['calculateFeeDynamic(uint256,uint256)'], + '0xc03e382f': ['calculateShare()'], + '0x671dacdc': ['CalculateSqrt(uint256)'], + '0xdcf8113e': ['campaignEndedSuccessfully()'], + '0x74e60a48': [ + 'cancelOrder(address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)' + ], + '0xdc419fd8': ['cancelOrder(bool,uint256)'], + '0x3fb0b2c9': ['CancelRoundAndRefundAll()'], + '0x9d1bbd7e': ['CancelRoundAndRefundAll(uint256)'], + '0x6618b008': ['cancelSellOrder(address)'], + '0x39b50688': ['cancelSellOrder()'], + '0x06909f69': ['cancel(string,uint256)'], + '0x1d3390a1': ['carefulSendWithFixedGas(address,uint256,uint256)'], + '0x5cff876b': ['carrotsCaught()'], + '0x4bb4b260': ['cashAllOut()'], + '0xe2861c8d': ['cashOutProfit()'], + '0x4a30f976': ['censorship(uint256,bool,bool)'], + '0x05b2b03a': ['CertificationCentre(address)'], + '0x35d79fad': ['CertificationDb(address,uint256,address)'], + '0xf72457af': ['CertifierDb()'], + '0x5103a5a3': ['certify(address,bytes32)'], + '0x0f096163': ['Chainy()'], + '0xdabdc1f2': ['ChangeActiveDigger(address)'], + '0x839849c0': ['changeBaseMultiplier(uint256)'], + '0x1ed6f423': ['changeDescription(address,string)'], + '0x75090ebf': ['changeDomain(uint256,uint256,uint256,address)'], + '0x3fd94686': ['changeEligibleDonkeys(uint256)'], + '0x6a1db1bf': ['changeFee(uint256)'], + '0x93c32e06': ['changeFounder(address)'], + '0xd21d7950': ['changeGasLimitOfSafeSend(uint256)'], + '0x62ee6d29': ['changeHashtoLowOrHigh(uint256)'], + '0x1efb17ee': ['changeHouseAddress(address)'], + '0xeb1ff845': ['changeId(uint256,uint256,uint256)'], + '0x07a9574a': ['changeLeaderMessage(string)'], + '0x53fefd7d': ['changeMaxDeposit(uint256)'], + '0xa51aea2d': ['changeMaxMultiplier(uint256)'], + '0x45ca25ed': ['changeName(address,string)'], + '0x85eac05f': ['changeOwnerAddress(address)'], + '0x244ded7a': ['ChangeOwnership(address)'], + '0xc0b92612': ['changePig(address)'], + '0x0fffbb54': ['changeRankingSize(uint256)'], + '0x1982ed58': ['ChangeReuseCashInHarware(bool,uint16,uint16)'], + '0xcdcb7c8f': ['chase()'], + '0x919840ad': ['check()'], + '0xc23697a8': ['check(address)'], + '0xede8ebf3': ['checkApprove(address,uint256)'], + '0x20e647e1': ['checkBetColor(uint8,address,bytes32,bytes32)'], + '0xf2b904c3': ['checkBetColumn(uint8,address,bytes32,bytes32)'], + '0x74388347': ['checkBetDozen(uint8,address,bytes32,bytes32)'], + '0x75830463': ['checkBetLowhigh(uint8,address,bytes32,bytes32)'], + '0x40c0bcb9': ['checkBetNumber(uint8,address,bytes32,bytes32)'], + '0xe9c31315': ['checkBetParity(uint8,address,bytes32,bytes32)'], + '0x1e5330ca': ['checkBetResult(uint8,address,bytes32,bytes32)'], + '0x90a85119': ['checkBetResult(uint8)'], + '0xc67146a5': ['check_bet(uint256,address,uint8)'], + '0xf062e26b': ['check_darkdao()'], + '0x1a9360dd': ['checkDate()'], + '0x32921690': ['checkDepth(address,uint256)'], + '0xdc3ab866': ['checkEarnings(address)'], + '0x51fdaf92': ['checkExpiredfunds()'], + '0x46b207b8': ['checkExpiry()'], + '0xe95bee59': ['checkFormat(string)'], + '0x119aa5c8': ['checkForward(bytes)'], + '0x19483cd1': ['checkHash()'], + '0x0382c254': ['CheckHash(uint8,uint8,uint8,uint8,bytes32)'], + '0x255016c8': ['checkIfExploded()'], + '0x0343dfa0': ['checkInvariants()'], + '0x4c7a2254': ['checkMyWithdraw()'], + '0x33893071': ['checkMyWithdraw(address)'], + '0xb2bfd948': ['checkNumbers(uint8[3])'], + '0xbed411a0': ['CheckPrize(address)'], + '0xb623f5e5': ['checkSetCosignerAddress(address)'], + '0xef19c332': ['_checkSigned(bytes32,uint256,uint8,bytes32,bytes32)'], + '0x3c959aca': ['CheckTickets()'], + '0xe0c6190d': ['checkTime()'], + '0x5329c681': ['checkTimeout(uint256)'], + '0x88e072b2': ['checkTransfer(address,uint256)'], + '0xc5575ef0': ['checkTransferFrom(address,address,uint256)'], + '0x00a7d6b3': ['checkTransferFromToICAP(address,bytes32,uint256)'], + '0xbd8c1d33': [ + 'checkTransferFromToICAPWithReference(address,bytes32,uint256,string)' + ], + '0xc6e0c908': [ + 'checkTransferFromWithReference(address,address,uint256,string)' + ], + '0x8e4afa51': ['checkTransferToICAP(bytes32,uint256)'], + '0x058026d0': ['checkTransferToICAPWithReference(bytes32,uint256,string)'], + '0xcbcaacab': ['checkTransferWithReference(address,uint256,string)'], + '0x5f72f450': ['check(uint256)'], + '0x22d8cf5b': ['CheckUserVote(uint8,uint8)'], + '0xefdecd9b': ['check_withdrawdao()'], + '0xbd66528a': ['claim(bytes32)'], + '0x008a745d': ['claimDividendShare(uint256)'], + '0x0b3ed536': ['claimDonations(uint256)'], + '0xb88a802f': ['claimReward()'], + '0x3b751f7f': ['claimThroneRP(string)'], + '0xe6e7237f': ['claim_time_victory(uint256)'], + '0x4a1aa767': ['claim_victory(uint256,uint8,uint8,uint8)'], + '0x4e05ded6': ['ClassicCheck()'], + '0x565a2ecf': ['classicTransfer(address)'], + '0x2526d960': ['clawback()'], + '0x01775f23': ['_closeBooks()'], + '0xee1b4828': ['closeBooks()'], + '0x31a3a506': ['closeFunding()'], + '0xc71b583b': ['closeRequest()'], + '0x203c03fa': ['Coinflip()'], + '0x7879e19e': ['CollectAllFees()'], + '0xaf8b7525': ['CollectAndReduceFees(uint256)'], + '0xc27b2c2d': ['collectEarnings()'], + '0xd4d5d32a': ['collectFee()'], + '0xb17acdcd': ['collectFees(uint256)'], + '0xeeb57139': ['CollectMoney(uint256)'], + '0x4a71d469': ['collectRev()'], + '0xd9fcb31f': ['comm_channel()'], + '0xf14fcbc8': ['commit(bytes32)'], + '0xf3bb9741': ['commitmentCampaign(uint256,bytes32)'], + '0x355474d2': ['commitReading(address)'], + '0xbe4054b9': ['commitReading(address,uint256,uint256,string)'], + '0xf2f03877': ['commit(uint256,bytes32)'], + '0x3da0ac79': ['compare()'], + '0x3a96fdd7': ['compare(string,string)'], + '0x4f139314': ['compensateLatestMonarch(uint256)'], + '0xbfbc793c': ['computeNameFuzzyHash(string)'], + '0x5aa94a68': ['computeResultVoteExtraInvestFeesRate()'], + '0x6bdbf8e6': ['concat()'], + '0x89c19ddb': ['concat(string,string)'], + '0xc8f8d75d': ['Config(uint8,address)'], + '0x75cb2672': ['configure(address)'], + '0x305b73d9': ['configure(address,address,uint256,uint8,bytes32,bytes32)'], + '0x3773930e': ['ConfigureFunction(address,uint256,uint16,uint16,uint16)'], + '0x47f3d794': ['configure(uint256,uint8,uint256,uint256,uint256,uint256)'], + '0x4746cef8': ['_confirmAndCheck(address,bytes32)'], + '0xffb4c857': ['_confirmAndCheck(bytes32)'], + '0x0ae08793': ['confirmAndCheck(bytes32)'], + '0x3f3935d1': ['confirmReverse(string)'], + '0x0afa9fb9': ['contains(int256,address)'], + '0x5dbe47e8': ['contains(address)'], + '0xda4b5e29': ['contains()'], + '0x1747dfd4': ['ContractPlay()'], + '0x7e7a2fbf': ['contribute_toTheGame()'], + '0x1aadcc34': ['convertGreyGreen(uint8,uint8)'], + '0xc618d15f': ['ConvertNumbers(bytes5)'], + '0x11cd98ed': ['convertToAllTable(uint256,string)'], + '0x5020dcf4': ['convertToEach(uint256,string,uint256)'], + '0xbed1b8b9': ['convertToInt(string)'], + '0x3733ffca': ['convertTo(uint256,string,string)'], + '0x90f2c86d': ['convertToWei(uint256,string)'], + '0x276b94e1': ['copypaste()'], + '0x60726abb': ['copy()'], + '0x061ea8cc': ['countByOwner(address)'], + '0x135128c2': ['CounterPartyDeposit()'], + '0x1840f0ca': ['countVotes(uint256)'], + '0xe10e274a': ['CrazyEarning()'], + '0x4a82534b': ['create(address,address,address,uint256,uint8,uint8,uint256)'], + '0x66e98c31': ['createCoin(string,uint256,uint256,string,string,address)'], + '0x0eb0afa6': ['createDebt(address,address,uint256)'], + '0xf463edd1': ['createDocument(uint256)'], + '0xe9794dc1': ['CreateHash(uint8,string)'], + '0x5fe27ab0': ['createHKG(address)'], + '0xc88961da': ['createKingdom(string,address,address,address)'], + '0xeac116c4': ['createKingdom(string,address,address,address,address)'], + '0xa21931ea': [ + 'CreateProposal(string,string,string,uint32,string,string,string,uint32,uint32)' + ], + '0xa753d6f2': [ + 'CreateProposal(string,string,string,string,string,string,uint32,uint32)' + ], + '0x35cc59a9': ['createSchema(bytes)'], + '0x4156fdb7': ['createSwap(uint256)'], + '0x16d960b5': ['createThing(bytes32[],bytes32[],uint88)'], + '0x8ea822d8': ['createThings(bytes32[],uint16[],bytes32[],uint16[],uint88)'], + '0x72479140': ['CreateTicket(address,uint8,uint8,uint8)'], + '0x3d6a32bd': [ + 'createTradeContract(address,uint256,uint256,uint256,bool,bool)' + ], + '0x6f9a5eab': ['createTx(uint256,address,uint256)'], + '0xe1c66292': ['Create(uint32,address)'], + '0x77863b61': ['CrossWhitehatWithdraw(uint256,address)'], + '0x26a4861c': ['CROWDFUNDING_PERIOD()'], + '0xec5c9036': ['Crowdsale(address,uint256,uint256)'], + '0xe42def21': ['CryptoHill()'], + '0xeccf1b29': ['CrystalDoubler()'], + '0xbfc3d84b': ['CT()'], + '0xce845d1d': ['currentBalance()'], + '0x80c951bf': ['currentClaimPriceInFinney()'], + '0x85528394': ['currentClaimPriceWei()'], + '0xbab2f552': ['currentCycle()'], + '0x0295d71b': ['currentDepositLimit()'], + '0xda3c300d': ['currentFee()'], + '0xb8aca90b': ['CurrentGame()'], + '0xac4bd53a': ['currentLeader()'], + '0x499af77c': ['current_spin_number()'], + '0x06961560': ['DAO(address,uint256,uint256,uint256,address)'], + '0xcaed4f9f': ['DataService()'], + '0xd8915fc5': ['DCAssetBackend(bytes32,bytes32)'], + '0x306387a4': ['dealStatus(uint256)'], + '0x95669952': ['debtor(address,uint256)'], + '0xaa6be303': ['debtors(address)'], + '0x54107401': ['declareLove(string,string)'], + '0x5c19a95c': ['delegate(address)'], + '0x928a00d2': ['deleteCoin(uint256)'], + '0xe4dedc7f': ['DeleteContract()'], + '0xc0f5a9cb': ['deleteThing(bytes32[])'], + '0x07ef99a0': ['demintTokens(int256,address,uint8)'], + '0x4abb9d39': ['depletable()'], + '0xacfdfd1c': ['deploy(uint256,string,string,address)'], + '0xec2ac54e': ['deposit(address,uint256,bytes32,uint256)'], + '0xb7482509': ['deposit(address,string)'], + '0x47e7ef24': ['deposit(address,uint256)'], + '0xc5b1a53c': ['deposit(bytes16[],uint64)'], + '0xaa67c919': ['depositFor(address)'], + '0xbb3ce7fe': ['DepositHolder()'], + '0xb47fa7e0': ['DepositLimit(uint256)'], + '0x44e43cb8': ['depositRevenue()'], + '0xe241c1d9': ['deriveKey(uint256,uint256,uint256)'], + '0x9b1ad792': ['destroyToken(address,uint256)'], + '0x67fbd289': ['destroyTokens(uint256)'], + '0x2b68b9c6': ['destruct()'], + '0x41395efa': ['dgxBalance()'], + '0x56105a08': ['DgxSwap()'], + '0x594151e0': ['Dice()'], + '0x5e855f14': [ + 'Dice(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x6545bed3': [ + 'Dice(uint256,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x0f06670a': ['didWin(bytes32)'], + '0x91b4a0e7': ['Difficulty()'], + '0x1b3a8e6f': ['directionCount(int256,int256,int256,int256)'], + '0x0d17bc2e': ['_disallow()'], + '0x7f3bd56e': ['disburse(address,uint256)'], + '0x1f0f711f': ['discontinue()'], + '0x423e7e79': ['_dispatchEarnings()'], + '0xf240f7c3': ['dispute()'], + '0x44691f2b': ['Dispute()'], + '0x4ecd73e2': ['DistributeDividends(uint256)'], + '0x76577eae': ['distributeEarnings()'], + '0x2ef875fb': ['div10(uint256,uint8)'], + '0x058aace1': ['divest()'], + '0x11af3c68': ['divest(address)'], + '0xbb504317': ['divest(address,uint256)'], + '0x8ca17995': ['divest(uint256)'], + '0x8df554b3': ['Dividend()'], + '0x4a2b0c38': ['DividendProfit()'], + '0x0d48e8d0': ['doBalance()'], + '0xe916d0f0': ['doBalance(address)'], + '0x33fd066d': ['doBalanceFor(address)'], + '0xdfdb5f17': ['doBurn(address,uint256)'], + '0x60c311fd': ['doBurnFromContract(address,uint256)'], + '0xf1bca7a4': ['doCall(uint256)'], + '0x7fd238ba': ['doCoinage(address[],uint256[],uint256,uint256,uint256)'], + '0x8ac78c80': ['Docsign()'], + '0xddf187b0': ['dogFight()'], + '0x7997b997': ['doMelt(uint256,uint256)'], + '0xad1ef61e': ['donkeyInvested(address)'], + '0xc9bbc8c0': ['donkeyName(address)'], + '0x26161670': ['donkeyRanking(uint256)'], + '0x23509e69': ['donkeysEligibleForFees()'], + '0x37751b35': ['doTransfer(address,address,uint256)'], + '0x13220305': ['doTransferOther(address,address,address,uint256)'], + '0xdc583801': ['doubleyour5()'], + '0x4974bc27': ['download()'], + '0x9890220b': ['drain()'], + '0x0eecae21': ['draw()'], + '0x89d8ca67': ['drawPot(bytes32,bytes32)'], + '0x18433bb7': ['DrawPrepare()'], + '0xe436bdf3': ['Draws(uint256)'], + '0x4f39ca59': ['drop(bytes32)'], + '0x200538c6': ['DTE()'], + '0x5e0e2957': ['dumpOut()'], + '0xef5daf01': ['_dumpToCompany()'], + '0xaca66aec': ['DVIP()'], + '0xf245b9e4': ['DVIP(address)'], + '0xe570be18': ['DVIPBackend(address,address)'], + '0xa08b3367': ['EC()'], + '0xdb318833': ['_ecAdd(uint256,uint256,uint256,uint256,uint256,uint256)'], + '0xf47289e1': ['_ecDouble(uint256,uint256,uint256)'], + '0x913f424c': ['_ecMul(uint256,uint256,uint256,uint256)'], + '0x0c7de59d': ['edit(address,bytes,bool)'], + '0xf63da25b': ['Emailer()'], + '0x23385089': ['emitApprove(address,address,uint256)'], + '0xe3a9b508': ['EnableDisableTokenProxy()'], + '0x2c46d8d5': ['EndRound(uint256)'], + '0xacbf98a7': ['endsWith()'], + '0xf67abd87': ['entryDetails(uint256)'], + '0xd4625a3a': ['equals()'], + '0x46bdca9a': ['equal(string,string)'], + '0xfc72c1ef': ['ERC20Base(uint256)'], + '0x0bd2ae1c': ['ERW()'], + '0x22f607f6': ['Escrow()'], + '0x0bad342a': [ + 'EscrowContract(address,address,address,address,uint256,uint256,uint256,uint256)' + ], + '0x8383bfc8': ['EscrowFoundry()'], + '0x1768b436': ['ETCSurvey()'], + '0xdbf45aa3': ['EthBank()'], + '0x838445e8': ['EtherAds(address,address,address)'], + '0x1df5e755': ['Etherandom()'], + '0x384e5018': ['etherandomCallbackAddress()'], + '0xd216d55d': ['etherandomExec(bytes32,bytes32,uint256)'], + '0x1f201e39': ['etherandomExecWithGasLimit(bytes32,bytes32,uint256,uint256)'], + '0xa715ff59': ['EtherandomProxy()'], + '0x36f9f49c': ['etherandomSeed()'], + '0x70e71ea3': ['etherandomSeedWithGasLimit(uint256)'], + '0x4d561721': ['etherandomSetNetwork()'], + '0x7ca55e00': ['etherandomVerify(bytes32,bytes32,bytes32,uint256,uint256)'], + '0x29bed3bf': ['EthereumRoulette()'], + '0xd81f53fd': ['EtherId()'], + '0x50e06b57': ['Etherization()'], + '0xd409ddda': ['EtherizationUtils()'], + '0xff7f5f2a': ['EtherizationUtils2()'], + '0xf9a794ad': ['EtherLovers()'], + '0x1558ae4d': ['Etheroll()'], + '0xa08d3f83': [ + 'Etheropt(uint256,string,uint256,uint256,bytes32,address,int256[])' + ], + '0xadd43c59': ['EtherTopDog()'], + '0x356594ab': ['EtherTransfer()'], + '0x0da3e613': ['EthFactory()'], + '0xf5f6ea26': ['EthOne()'], + '0x3023d0c4': ['Ethstick()'], + '0x6f13e01b': ['EthVenturePlugin()'], + '0x4054f5de': ['EthVentures3()'], + '0x9c172f87': ['EthVentures4()'], + '0xd5171523': ['euroteambet()'], + '0x9f87acd0': ['exec(bytes32,bytes32,uint256)'], + '0xf4993bbd': ['executeEmergencyWithdrawal()'], + '0x38557648': ['executeSellOrder(address)'], + '0x4d782cbc': ['executeSellOrder()'], + '0x140b4465': ['executeSpendingRequests()'], + '0x3462f32d': ['execWithGasLimit(bytes32,bytes32,uint256,uint256)'], + '0xd4649fde': ['expire(uint256,uint8,bytes32,bytes32,bytes32)'], + '0x03cf4fd6': ['expire(uint256,uint256,uint8,bytes32,bytes32,bytes32)'], + '0x419945f8': ['ExpiringMarket(uint256)'], + '0x37930615': ['extend(bytes16[],uint64)'], + '0x6a6d31db': ['externalEnter()'], + '0xf55b23c0': ['externalLeave()'], + '0xe2056c46': ['ExtraBalToken()'], + '0x7ef95c6f': ['extractAccountAllowanceRecordLength(address)'], + '0x4de162e4': ['extractAccountLength()'], + '0x727089f1': ['extractAllowanceLength()'], + '0x8f731077': ['extractAllowanceRecordLength(address)'], + '0xc8117b5b': ['extractBalanceOfLength()'], + '0x1cf43b63': ['extractExportFeeChargeLength()'], + '0xa056469a': ['extractFeeLength()'], + '0xb5a6c525': ['extractFrozenAccountLength()'], + '0xd1da09ee': ['extractImportFeeChargeLength()'], + '0x2885b593': ['extractMasterKeyIndexLength()'], + '0x981a60f5': ['extractNameFromData(bytes)'], + '0xb764e273': ['failSend()'], + '0xc57a050e': ['fairandeasy()'], + '0xa5e62f02': ['fallbackRP()'], + '0x93e02d13': ['FallenLeaders()'], + '0xd3732642': ['FastRealisticPyramid()'], + '0xc5096a69': ['feeFor(address,address,uint256)'], + '0x6860fd58': ['Fees(uint256)'], + '0x5b151fd2': ['fifty_fifty()'], + '0x75438e49': ['fillGas()'], + '0x884b5dc2': ['fill(uint256[])'], + '0x7ff729fc': ['fillUpProject(uint256,uint256)'], + '0xbf12165e': ['fillUpSlot(uint256,uint256)'], + '0x5fa513d5': ['findPtr(uint256,uint256,uint256,uint256)'], + '0x70d53be5': ['find()'], + '0xc9bd2893': ['fines()'], + '0x2cce4abe': ['_finishNoCallback()'], + '0x113e6b66': ['fipsAddToLedger(bytes20,address)'], + '0xaa8dea8c': ['fipsAddToLedger(bytes20,address,bytes)'], + '0xa289673b': ['fipsChangeOwner(bytes20,address,address)'], + '0x1dcb304b': ['fipsGenerate()'], + '0x7910085d': ['fipsIsRegistered(bytes20)'], + '0x3ae7cdfa': ['fipsLegacyRegister(bytes20[],address)'], + '0xdfce8ac3': ['fipsLegacyRegister(bytes20,address,bytes)'], + '0x5cb18a6d': ['fipsLegacyRegisterMulti(bytes20[],address,bytes)'], + '0x3def449b': ['FipsNotary()'], + '0x7620f4bb': ['fipsNotaryLegacy68b4()'], + '0x5084da18': ['fipsOwner(bytes20)'], + '0x3df76482': ['fipsPublishData(bytes20,bytes)'], + '0xfba06849': ['fipsPublishDataMulti(bytes20[],bytes)'], + '0x74d4ab27': ['fipsRegister()'], + '0x419ffa03': ['fipsRegister(address)'], + '0xb16562fe': ['fipsRegister(address,bytes)'], + '0x1531c267': ['fipsRegisterMulti(uint256,address,bytes)'], + '0x3dc02266': ['fipsRegister(uint256)'], + '0x2f62a6ff': ['fipsRegister(uint256,address,bytes)'], + '0xc12af1ce': ['fipsRegister(uint256,bytes)'], + '0x2fa00e58': ['fipsTransfer(bytes20,address)'], + '0x42402c2c': ['fipsTransferMulti(bytes20[],address)'], + '0x9e9d3aa4': ['FirstBloodToken(address,address,uint256,uint256)'], + '0x3df4ddf4': ['first()'], + '0xe87df70e': ['fivetimes()'], + '0x912de8de': ['fixBalance()'], + '0xf1c760ae': ['fixBalanceInternal(address)'], + '0x3369dace': ['flipTheCoinAndWin()'], + '0x6b9f96ea': ['flush()'], + '0x446a7974': ['Fokitol()'], + '0x6a5da6e5': ['followCampaign(uint256)'], + '0x384b1393': ['follow(uint256)'], + '0x7cf0ffcb': ['forceDivestAll()'], + '0x29e206bd': ['forceDivestAll(bool)'], + '0x232523e8': ['forceDivestOfAllInvestors()'], + '0x51404cbe': ['forceDivestOfOneInvestor(address)'], + '0x93feb13b': ['ForceSendHelper(address)'], + '0x11b9fee8': ['ForkChecker(uint256,bytes32)'], + '0x16c72721': ['forked()'], + '0xd264e05e': ['forward()'], + '0xa4d575ce': ['_forward(address,bytes)'], + '0xac562666': ['freezeCoin()'], + '0xb466b76f': ['fresh()'], + '0xb72e717d': ['fromAddress(address)'], + '0x891de9ed': ['fromTLA(string)'], + '0x3c067945': ['fundBalance()'], + '0x43243797': ['fundsOf(address)'], + '0xca708230': ['funnel()'], + '0xfc108f70': ['GamblerPerAddress(address)'], + '0xefa7e56b': ['GameEnds()'], + '0x2143da91': ['GameOfThrones()'], + '0xa10edc55': ['GeneralPurposeProfitSplitter()'], + '0x4d70d1d7': ['generateId(uint256)'], + '0x6f6c0244': ['generateShortLink()'], + '0x419db07b': ['generousFee()'], + '0xfa7d68f1': ['getAccountInfo(uint256,uint256)'], + '0x10082bff': ['getActorBillXdetail(address,uint256,bool)'], + '0x04fc11d5': ['getActual()'], + '0x21f8a721': ['getAddress(bytes32)'], + '0x6795dbcd': ['getAddress(bytes32,string)'], + '0x42c69566': ['get_address(address,string)'], + '0xe7b48f74': ['get(int256,address)'], + '0x579cdf17': ['getAdminName(address)'], + '0xc8edf65e': ['GetAndReduceFeesByFraction(uint256)'], + '0xc6ed8e1b': ['getApprovedProxys()'], + '0xf9cc0605': ['getAvailable()'], + '0x12065fe0': ['getBalance()'], + '0x1177892f': ['getBalanceByAdress(address)'], + '0x565a2e2c': ['getBeneficiary()'], + '0xa6afd5fd': ['getBets()'], + '0x061e494f': ['getBet(uint256)'], + '0x8c98117c': ['getBill(uint256,uint256)'], + '0xe422ebe9': ['getBot()'], + '0x618fa9ce': ['getBotBillingIndex(uint256,uint256)'], + '0x4ae9af61': ['getBotStats(uint256,uint256)'], + '0x5f70d9ac': ['getBot(uint256)'], + '0xc06c4474': ['get_burned(bytes32)'], + '0xc00ca383': ['getByOwner(address,uint256)'], + '0x8eaa6ac0': ['get(bytes32)'], + '0xd120a284': ['getBytesFromNumbers(uint8[3])'], + '0x1f6e5117': ['getCallbackAddress()'], + '0x769dc523': ['GetCategoryNumber(bytes4)'], + '0x7281854d': ['GetCategoryValue(uint8)'], + '0xc88cc6ac': ['getCertification(address)'], + '0x777feff5': ['getCertificationDbAtIndex(uint256)'], + '0x808ab1d6': ['getCertificationDbCount()'], + '0xfd260dfc': ['getCertificationDbStatus(address)'], + '0xde629235': ['getCertificationDocumentAtIndex(address,uint256)'], + '0xd5582205': ['getCertifiedStudentAtIndex(uint256)'], + '0x038461ea': ['getCertifiedStudentsCount()'], + '0x2f695053': ['getCertifierAtIndex(uint256)'], + '0x56d73ad1': ['getCertifierDb()'], + '0x6e63015c': ['getCertifiersCount()'], + '0x05b765ea': ['getCertifierStatus(address)'], + '0x045236b4': ['getChainyData(string)'], + '0x919edc7c': ['getChainySender(string)'], + '0xe8b13c44': ['getChainyTimestamp(string)'], + '0x233120aa': ['getChainyURL()'], + '0xd7130651': ['getCity(uint256)'], + '0xd0068f80': ['getClient(uint256)'], + '0x3aa94b1d': ['getCoinStats(uint256)'], + '0xda311588': ['getCoin(uint256)'], + '0xe65d6b49': ['getCommission()'], + '0x69bcdb7d': ['getCommitment(uint256)'], + '0xf896503a': ['getConfigAddress(bytes32)'], + '0xea3ebae6': ['getConfigBool(bytes32)'], + '0x62c7855b': ['getConfigBytes(bytes32)'], + '0xb44bd51d': ['getConfig(string)'], + '0x5c1b3ca1': ['getConfigUint(int256,bytes32)'], + '0xd408746a': ['GetContractAddr()'], + '0xd3edcb5b': ['getCreditorAddresses()'], + '0x81064e2d': ['getCreditorAmounts()'], + '0x77c78df9': ['getCurrentLevel()'], + '0x2bf4e53d': ['getCurrentShareholders()'], + '0x329bfc33': ['getCurrentWinner()'], + '0x152cf9db': ['getDataPoint(int256,uint256,uint256)'], + '0xcf69df28': ['getDataRequestLength()'], + '0x88f53db1': ['getDataRequest(uint256)'], + '0xd2b0d554': ['getDisclaimer()'], + '0x80ede329': ['getDocumentDetails(uint256)'], + '0x16e55626': ['getDogName(address)'], + '0x1a7a98e2': ['getDomain(uint256)'], + '0xbe6307c8': ['getDraw(uint256)'], + '0x2fa7cbfb': ['getExecCost(uint256)'], + '0x752bacce': ['getExecPrice()'], + '0xba1162d7': ['getFmLength()'], + '0xd63547e6': ['GetFreeCnt()'], + '0x4a7e049e': ['getFullCompany(address,uint256)'], + '0x3e853128': ['getGasForXau(address)'], + '0x455259cb': ['getGasPrice()'], + '0x75608264': ['get_hash(uint8,bytes32)'], + '0xbba91ea7': ['getHomeadvIndex(uint256)'], + '0x24fc65ed': ['getId(uint256,uint256)'], + '0xb7de47d3': ['getIndex(uint256,uint256)'], + '0x2b98222e': ['getInstitutionByAddress(address)'], + '0x6da1833c': ['getInstitutionByName(string)'], + '0x728af7ec': ['getInterest(uint256,uint256)'], + '0x0a80ef45': ['getIsClosed()'], + '0x0ed21029': ['getIssueAssignee(uint256,bytes32)'], + '0x706dfe54': ['getIssueState(uint256,bytes32)'], + '0xc5bf339c': ['getLastNonPublished()'], + '0x65fa2f7f': ['getLastPrice(uint256)'], + '0x89f4ed7a': ['getLastTag(uint256)'], + '0x29a065bd': ['getLOg(uint256)'], + '0xe0e3ba5a': ['getLosesShare(address)'], + '0x550ed1f0': ['getMaxBetAmount()'], + '0x82a5285d': ['getMinBetAmount()'], + '0x5af73f3f': ['getMinimalBalance(uint256,address)'], + '0x90daaf67': ['getMinimalDeposit()'], + '0xf909d60d': ['getMinimumGasLimit()'], + '0x724ae9d0': ['getMinInvestment()'], + '0xa538d287': ['getMinMax()'], + '0x686e8aaa': ['GetMoney()'], + '0x3cc86b80': ['GetMoney(uint256,address)'], + '0x50ab6f7f': ['getMsgs()'], + '0xc1d4f708': ['getMwLength()'], + '0xcfb3a493': ['getMyBounty(uint256)'], + '0xb484e532': ['getMyMsg()'], + '0xc003b082': ['getMyPlayerID()'], + '0x36ffa905': ['getMyProposals()'], + '0x0645b5d5': ['getMyShareholderID()'], + '0x3e83fe36': ['getMyShares()'], + '0xea1bf386': ['getNextSellerBOTdata(uint256)'], + '0x2ade6c36': ['getNodeAddress(bytes32)'], + '0xbbe4fd50': ['getNow()'], + '0x1c895915': ['getNumberOfPayments(uint256)'], + '0x5819dde2': ['getNumbersFromBytes(bytes3)'], + '0x017972af': ['getNumbersFromHash(bytes32)'], + '0x06638e92': ['GetNumbersFromHash(bytes32)'], + '0x57ee24af': ['getNum(bytes32,uint256)'], + '0xb39a64cd': ['getNumCalled()'], + '0x52200a13': ['getNumHolders(uint256)'], + '0x72ea4b8c': ['getNumInvestors()'], + '0xa8893a6e': ['getNumOfSalesWithSameId(bytes16)'], + '0x531c1b33': ['getOperatingBudget()'], + '0x09574810': ['getOperationsNumber()'], + '0x202e3924': ['getOperation(uint256)'], + '0xfaa1a8ff': ['getOwnedBot(address,uint256)'], + '0x0ae50a39': ['GetOwner()'], + '0xe74ffbd5': ['getPart(bytes32,uint256)'], + '0xd085e66e': ['GetPart(bytes32,uint256)'], + '0xe42d5be0': ['getPaymentOf(address)'], + '0x5a825cbb': ['getPayment(uint256,uint256)'], + '0xe56556a9': ['getPlayerID(address)'], + '0x953aa435': ['GetPrice(uint8)'], + '0x116c6eab': ['getProfitShare(address)'], + '0x7486a8e3': ['get_publisher(bytes32)'], + '0x6a28db13': ['getQrLength()'], + '0x163aba3c': ['getQueryFee()'], + '0xf1b3f968': ['getRaceEndBlock()'], + '0xcd4b6914': ['getRandom(uint256)'], + '0x7bcd7fad': ['getRecordAtIndex(uint256)'], + '0xb719d1d0': ['getRegInfo(address)'], + '0x052b2aa7': ['getRegistrants()'], + '0xadd4c784': ['getResult(bytes32)'], + '0x7332b520': ['getRewardsCount(uint256)'], + '0x85dd2148': ['getSaleDate(bytes16)'], + '0xac92fdb5': ['getSaleDate(bytes16,uint256)'], + '0xd239ea8b': ['getSchemasLenght()'], + '0x288c6ed2': ['getSeedCost(uint256)'], + '0x9183fd01': ['getSeedPrice()'], + '0x347632e8': ['getShareholderAdressByID(uint256)'], + '0x308d6613': ['getSignData(uint256,uint8)'], + '0xb36a0b15': ['getSignDetails(uint256,uint8)'], + '0x28dcfdac': ['getSignsCount(uint256)'], + '0x842bc37b': ['GetSmallCotractIndex(address)'], + '0xafa293d4': ['getSource()'], + '0xe9e7a667': ['get_stake(bytes32)'], + '0x22b0f6ee': ['getStatusOfPayout(uint256)'], + '0x9a0af2ec': ['getStLength()'], + '0x693ec85e': ['get(string)'], + '0x4a0d89ba': ['getSwap(uint256)'], + '0x7ac26aeb': ['getTag(string,uint256)'], + '0xdf300b46': ['getThing(bytes32[])'], + '0x55b62dcf': ['getThresold(uint256)'], + '0x002a5cc9': ['getTicketHolders(uint256)'], + '0x9f0e3107': ['get_timestamp(bytes32)'], + '0x82b2e257': ['getTokenBalance()'], + '0xacab021c': ['getTOS(address)'], + '0x12b58349': ['getTotalBalance()'], + '0xc4e41b22': ['getTotalSupply()'], + '0xcaa648b4': ['getTotalValue()'], + '0xf709dd51': ['getTrademark()'], + '0x9bb0e4df': ['getUint(int256,bytes32,string)'], + '0x74e4435f': ['getUserAddress(uint256,bytes32)'], + '0xa2bb5d48': ['get_username(address)'], + '0x6de00927': ['GetUserRank(uint8,address)'], + '0xff981099': ['getVotes(uint256)'], + '0xffb1a6cb': ['getWins(address)'], + '0x4ae8c55f': ['getWwLength()'], + '0xfb9a4595': ['GitHubBounty()'], + '0x0b7373d6': ['giveAllBack()'], + '0x04706fdf': ['giveContributionsBackProfitBugged()'], + '0xb5299ca6': ['giveMeat()'], + '0x9e7b8d61': ['giveRightToVote(address)'], + '0x35ae41c9': ['godAutomaticCollectFee()'], + '0x691bfc89': ['goods(uint16,uint256)'], + '0x7c25f260': ['Government()'], + '0xbb6a0853': ['GreedPit()'], + '0x92ba4ba6': ['GridMember(string,uint256,bool,address,address)'], + '0x3cc7790a': ['GSI()'], + '0xa1c95ac2': ['GSIToken(uint256,string,uint8,string,address)'], + '0x75f96ead': ['Guess(uint256)'], + '0xdf143fb7': ['HackerGold(address)'], + '0x5ed7ca5b': ['halt()'], + '0x4f28af6a': ['handleBet(uint256)'], + '0xcb96012e': ['hashTo256(bytes32)'], + '0x650955d4': ['HashToken()'], + '0xa1add510': ['hasRelation(bytes32,bytes32,address)'], + '0x06f36cc9': ['helpBlue()'], + '0x353928d8': ['helpRed()'], + '0xce373b95': ['heroOfThePit()'], + '0xaeeb96af': ['Highlander()'], + '0x7eb69ba1': ['hint(int256,bytes32,string,bytes20)'], + '0xc98031be': ['hintURL(int256,bytes32,string)'], + '0xef4ffee2': ['Honestgamble()'], + '0xa6027d53': ['IconomiTokenTest(uint256,string,uint8,string,uint256)'], + '0xb98fdc36': ['IconomiToken(uint256,string,uint8,string,uint256)'], + '0xdaf22f4d': ['identify(bytes32)'], + '0xaf640d0f': ['id()'], + '0xf7c3ee7a': ['immortality()'], + '0x602acca1': ['InchainICO(address[],uint256)'], + '0xa4beffa7': ['increaseInvestment()'], + '0xcab5c0f1': ['_incrementState()'], + '0x1e8c72b4': ['incrUserAvailBal(address,uint256,bool)'], + '0x3d5db1c2': ['incrUserOnholdBal(address,uint256,bool)'], + '0x22686250': ['index(int256,uint256)'], + '0x1f13de92': ['inEther(uint256)'], + '0x9334ab61': ['Infos()'], + '0x4a1f0bf6': ['inheritToNextGeneration(address)'], + '0x2cc0b254': ['init(address,bytes32)'], + '0x87ebd76c': ['initContract(string,string,uint256,uint256)'], + '0x23584a21': ['initStats(string,address,uint256)'], + '0x98eaca94': ['inKissBTC(uint256)'], + '0xa0469b02': ['inputToDigit(uint256)'], + '0xfeaa29d8': ['insertProfitHere()'], + '0x46af23f5': ['InstantLottery(address,address,bool,address)'], + '0xf83d96c1': ['InsuranceAgent()'], + '0x8cecf66e': ['_inverse(uint256)'], + '0xadfe6b80': ['InvestAdd()'], + '0x391f2e96': ['InvestCancel()'], + '0x4f013184': ['investInTheSystem()'], + '0xc4321adb': ['investInTheSystem(uint256)'], + '0x2afb21bc': ['InvestWithdraw()'], + '0x76285b5b': ['_is360thDay()'], + '0x74eb9b68': ['isAccountLocked(address)'], + '0x1cf52f2b': ['isActiveRegistrant(address)'], + '0x24d7806c': ['isAdmin(address)'], + '0xfc1f7652': ['_isBoardMember(address)'], + '0xda7d0082': ['isCertification(address,bytes32)'], + '0x5afa5036': ['isCertified(address)'], + '0x1c2353e1': ['isCertifier(address)'], + '0x37b0574a': ['isClassic()'], + '0xc2b6b58c': ['isClosed()'], + '0x57eaeddf': ['_isContract()'], + '0x2f553d31': ['isCreated(bytes32)'], + '0x5445e38c': ['_isCycleValid(uint256)'], + '0x88eb7af7': ['_isHuman()'], + '0xaa51793c': ['isLosingBet(uint256)'], + '0x42f6e389': ['isModule(address)'], + '0x6534b4e2': ['IsPayoutReady__InfoFunction(bytes32)'], + '0x245a6f74': ['isProxyLegit(address)'], + '0x3e5cee05': ['issueIOU(string,uint256,address)'], + '0x05d87fe2': ['issueLetterOfCredit(uint256,uint256,uint256)'], + '0x40fdf515': ['issuetender(address,uint256,uint256)'], + '0x475a9fa9': ['issueTokens(address,uint256)'], + '0x4adcbd19': ['isThisHardforkedVersion()'], + '0xaf5610dd': ['isThisPreforkVersion()'], + '0x7c4c27c8': ['isThisPuritanicalVersion()'], + '0x4209fff1': ['isUser(address)'], + '0x04d10f1c': ['isValidChainyJson(string)'], + '0x6662e4be': ['isWinningBet(uint256)'], + '0x99aeade3': ['iterateTable(uint256,uint256)'], + '0x3b46a7df': ['ivote(bool)'], + '0x0138e31b': ['_jAdd(uint256,uint256,uint256,uint256)'], + '0xed64bea4': ['JamCoin()'], + '0x5f972df8': ['_jDiv(uint256,uint256,uint256,uint256)'], + '0x9743dfc1': ['jesterAutomaticCollectFee()'], + '0x5b764811': ['_jMul(uint256,uint256,uint256,uint256)'], + '0x4a7b26ec': ['join_game(uint256)'], + '0x1ecfe64d': ['_jSub(uint256,uint256,uint256,uint256)'], + '0x691fb8ea': ['jumpIn()'], + '0xc53ad76f': ['Kardashian()'], + '0x775dec49': ['keccak()'], + '0xbe26733c': ['Kill()'], + '0x73abecbb': ['kill1()'], + '0x2bb685bc': ['kill2()'], + '0x179b73da': ['killBoardProposal(uint256,address)'], + '0xb0c7f709': ['kingAutomaticCollectFee()'], + '0x7e81b6aa': ['KingdomFactory()'], + '0x5e68ac2c': [ + 'Kingdom(string,address,address,address,uint256,uint256,uint256,uint256,uint256)' + ], + '0x31ae0019': ['KissBTC()'], + '0x07e00bcb': ['kissBTCCallback(uint256,uint256)'], + '0x47799da8': ['last()'], + '0x7075b1d8': ['latestMonarchInternal()'], + '0xfa6d373c': ['LeaderHash()'], + '0x9fb25d9e': ['LeaderMessage()'], + '0x166c4b85': ['len(bytes32)'], + '0xd95a2d42': ['lendGovernmentMoney(address)'], + '0x56d88e27': ['len()'], + '0xfe71aec5': ['LittleCactus()'], + '0x7b647652': ['LittleEthereumDoubler()'], + '0xf83d08ba': ['lock()'], + '0xe8d1e961': ['lockAccount(uint256)'], + '0x3a7d280c': ['login(string)'], + '0x4cbee813': ['logout(string)'], + '0x41304fac': ['log(string)'], + '0x71e2d919': ['lol()'], + '0x3fd1f232': ['LookAtAllTheseTastyFees()'], + '0xf7bd2361': ['LookAtBalance()'], + '0x25d4bdeb': ['LookAtCollectedFees()'], + '0x7ee65635': ['LookAtDepositsToPlay()'], + '0xb0ecca8f': ['LookAtLastTimePerZone(uint256)'], + '0xb1c6517a': ['LookAtNumberOfPlayers()'], + '0xdfca2f53': ['LookAtPrizes()'], + '0xa9fbc614': ['lookupTicketHolder(uint256)'], + '0xba13a572': ['lottery()'], + '0x21bb79fe': ['luckyDogInfo()'], + '0xb74bc710': ['LuckyDoubler()'], + '0x5a2ee019': ['m()'], + '0x8af49ab7': ['maintain(uint256,uint256)'], + '0x561e91a1': ['makeBet()'], + '0x1077f06c': ['makeClaim(uint256)'], + '0x059a500c': ['makeDeposit(uint256)'], + '0x3df16377': [ + 'make_move_and_claim_victory(uint256,uint8,uint8,uint8,uint8,uint8,uint8,uint8)' + ], + '0xa35cfa22': ['make_move(uint256,uint8,uint8,uint8,uint8)'], + '0x2f1e4968': ['makeNewProposal(string,uint256)'], + '0x8b543b80': ['maximumCredit(address)'], + '0x11fe773d': ['memcpy(uint256,uint256,uint256)'], + '0x62be3172': ['Message(address,address,address,string)'], + '0x0257c48c': ['meta(bytes32,bytes32)'], + '0x7958533a': ['meta(uint256,bytes32)'], + '0x8f8bde82': ['MicroDAO()'], + '0x1e701780': ['MICRODAO(address,uint256,uint256,uint256,address)'], + '0x026993e0': ['Midas(address,address)'], + '0xfa968eea': ['minBetAmount()'], + '0xd10e99fe': ['mint(int256,bytes32)'], + '0x3a7fb796': ['mintGreen(int256,address,uint256)'], + '0x77ceded8': ['mintGrey(int256,address,uint256)'], + '0xf41bfa9e': ['mint(int256,uint256,string)'], + '0x411c4e72': ['ModifyFeeFraction(uint256)'], + '0xa20c404f': [ + 'ModifySettings(uint256,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x689b3e2d': ['Moonraker(address,address)'], + '0x5837e083': ['move_history(uint256)'], + '0xd8a8e03a': ['move(uint256,address)'], + '0x231944e2': ['moveUnits(uint256,uint256,uint256[])'], + '0x33f472b9': ['MPO()'], + '0xf714de9c': ['MultiAccess()'], + '0x4f60f334': ['multiAccessAddOwner(address)'], + '0x092a2e37': ['multiAccessAddOwnerD(address,address)'], + '0x69a5e902': ['multiAccessCall(address,uint256,bytes)'], + '0x8b9726c1': ['multiAccessCallD(address,uint256,bytes,address)'], + '0x9bd99195': ['multiAccessChangeOwner(address,address)'], + '0x6c494843': ['multiAccessChangeOwnerD(address,address,address)'], + '0x6d522b19': ['multiAccessChangeRequirementD(uint256,address)'], + '0x62891b5d': ['multiAccessChangeRequirement(uint256)'], + '0x446294ad': ['multiAccessGetOwners()'], + '0xeb7402f5': ['multiAccessHasConfirmed(bytes32,address)'], + '0xe419f189': ['multiAccessIsOwner(address)'], + '0x73f310df': ['multiAccessRemoveOwner(address)'], + '0x5a74dee5': ['multiAccessRemoveOwnerD(address,address)'], + '0x7ed19af9': ['multiAccessRevoke(bytes32)'], + '0xd1b4ff7e': ['multiAccessRevokeD(bytes32,address)'], + '0xd1cf113e': ['multiAccessSetRecipient(address)'], + '0x7429f1eb': ['multiAccessSetRecipientD(address,address)'], + '0x30677b83': ['multiplierFactor()'], + '0x9d7d6667': ['multipliers()'], + '0xfbeaebc6': ['murder()'], + '0x98391c94': ['muteMe(bool)'], + '0x0bd089ab': ['MyAdvancedToken(uint256,string,uint8,string,address)'], + '0xc95e81cb': ['MyBet(uint8,address)'], + '0x6e658fbe': ['myFundsExpireIn(uint256)'], + '0x089327de': ['MyToken()'], + '0x041d0c0b': ['MyTokenLoad(uint256,string,uint8,string,address)'], + '0x1d2bca17': ['MyToken(uint256,string,uint8,string)'], + '0x2e52d606': ['n()'], + '0x19350aea': ['nameFor(address)'], + '0x3bcf7d22': ['newBribedCitizen(address)'], + '0xba487e62': ['newCampaign(uint32,uint96,uint16,uint16)'], + '0x927ed13a': ['newClient(uint256,address)'], + '0x1df473bc': ['newContract(bytes)'], + '0xf3dd3d8a': ['newCurrency(string,string,uint8)'], + '0x78ae88d1': ['newDeal(uint256,uint256,uint256,uint256,uint256)'], + '0x7c69b5d1': ['NewDeposit(uint256)'], + '0xc853c03d': ['newDraw(uint256,uint8[3],uint256,uint256,uint256,uint256)'], + '0xdcff5581': ['NewFeeAddress(address)'], + '0x66ad484c': ['newfirst_player(address)'], + '0x7d03f5f3': ['newGame()'], + '0xd9e7ee1c': ['new_game(uint256,uint256)'], + '0x1d71a1cd': ['newIncome(string)'], + '0xfb099c84': ['newInvestor()'], + '0x4316abbb': ['newJester(address)'], + '0x9a8f09bd': ['newKing(address)'], + '0x9229c504': ['new_mainPlayer(address)'], + '0x2fac1a54': ['newOrder(bool,uint256,uint256,uint256,uint256)'], + '0x85952454': ['newOwner(address)'], + '0x3baf4e1e': ['newPayment(uint256,uint256)'], + '0x71589d6b': ['newponzi()'], + '0x4f24186a': ['newProposal(string)'], + '0xa07daa65': ['newRequest(uint256)'], + '0x025bbbe5': ['newSale(bytes16,uint256,uint256)'], + '0x97bb2a63': ['newvow(uint256,address)'], + '0xf28386bf': ['Nexium()'], + '0xab73e316': ['next(address)'], + '0x727b1cd6': ['next_draw(bytes32,uint256,uint256,uint256,uint256,uint256)'], + '0x332f93a9': ['nextPayoutGoal()'], + '0x47e40553': ['nextRound()'], + '0xd1bf9aba': ['nextRune()'], + '0xb3cb8885': ['nextUnderdogPayout()'], + '0xb3a2a999': ['nextWithdrawal(bytes16)'], + '0xa668d7c9': ['NiceGuyPonzi()'], + '0x0908178f': ['NoFeePonzi()'], + '0xac20902e': ['NormalizeMoney()'], + '0x305075db': ['NormalizeRanks()'], + '0xecb4136e': ['NotAnotherPonzi()'], + '0x58d3b617': ['Notifier(string)'], + '0xfa4e5e5a': ['notify(uint8,string,string)'], + '0xdea06188': ['NumberOfBlockAlreadyMined()'], + '0x892c0214': ['NumberOfCurrentBlockMiners()'], + '0x85233869': ['NumberOfMiners()'], + '0xdf811d7d': ['numberOfPlayersInCurrentRound()'], + '0xdf06f906': ['numBets()'], + '0xca35271c': ['numDebtors(address)'], + '0x902e64e5': ['Oath()'], + '0xa1920586': ['offer(uint256,uint256)'], + '0x901717d1': ['one()'], + '0xe671f510': ['onEtherandomExec(bytes32,bytes32,uint256)'], + '0x041fe13d': ['onEtherandomSeed(bytes32,bytes32)'], + '0xa5eb7a4e': ['operated()'], + '0x9549355e': ['oracalizeReading(uint256)'], + '0x9a828a71': ['oracalizeReading(uint256,string)'], + '0x053c351b': ['oraclize_getPrice(string)'], + '0xabe9f569': ['oraclize_getPrice(string,uint256)'], + '0xc8e55708': ['oraclize_query(string,string[1])'], + '0x871113c3': ['oraclize_query(string,string[1],uint256)'], + '0x044d0b06': ['oraclize_query(string,string[2])'], + '0xa6bf3df0': ['oraclize_query(string,string[2],uint256)'], + '0x9b9ba572': ['oraclize_query(string,string[3])'], + '0xae404996': ['oraclize_query(string,string[3],uint256)'], + '0x16d9356f': ['oraclize_query(string,string[4])'], + '0xbc5ff5e1': ['oraclize_query(string,string[4],uint256)'], + '0xbd9a5673': ['oraclize_query(string,string[5])'], + '0xb6ce5581': ['oraclize_query(string,string[5],uint256)'], + '0x14167bf0': ['oraclize_query(string,string[])'], + '0xe50a3bb1': ['oraclize_query(string,string[],uint256)'], + '0x0ff4f160': ['oraclize_query(uint256,string,string[1])'], + '0x77ac3da5': ['oraclize_query(uint256,string,string[1],uint256)'], + '0xa8c3ec48': ['oraclize_query(uint256,string,string[2])'], + '0x29a6f31b': ['oraclize_query(uint256,string,string[2],uint256)'], + '0xec6afc22': ['oraclize_query(uint256,string,string[3])'], + '0xfb114f57': ['oraclize_query(uint256,string,string[3],uint256)'], + '0x2ff92323': ['oraclize_query(uint256,string,string[4])'], + '0x0494630f': ['oraclize_query(uint256,string,string[4],uint256)'], + '0x6510ef4d': ['oraclize_query(uint256,string,string[5])'], + '0x00a94b6e': ['oraclize_query(uint256,string,string[5],uint256)'], + '0xdc206e5f': ['oraclize_query(uint256,string,string[])'], + '0xa2b5591c': ['oraclize_query(uint256,string,string[],uint256)'], + '0x83a51ad0': ['oraclize_setConfig(bytes32)'], + '0x01095962': ['oraclize_setCustomGasPrice(uint256)'], + '0x6b1cb549': [ + 'orderMatch(uint256,uint256,uint256,int256,uint256,uint256,address,uint8,bytes32,bytes32,int256)' + ], + '0xbd858288': [ + 'orderMatch(uint256,uint256,int256,uint256,uint256,address,uint8,bytes32,bytes32,int256)' + ], + '0x17961d0f': ['ord()'], + '0x16bac350': ['overthrow(string)'], + '0xe2894a8a': ['OwnerAnnounce(string)'], + '0x4f44728d': ['ownerChangeOwner(address)'], + '0xad04592e': ['owner_deposit()'], + '0xd6e0bf29': ['OwnerDeposit()'], + '0xd263b7eb': ['ownerkill()'], + '0x6eacd48a': ['ownerPauseGame(bool)'], + '0x4b7fcee7': ['ownerPausePayouts(bool)'], + '0xcf832ce2': ['ownerRefundPlayer(bytes32,address,uint256,uint256)'], + '0xa27c672a': ['owner_reveal_and_commit(uint8,bytes32,bytes32)'], + '0x392327b5': ['owner_set_fraction(uint256)'], + '0x268d50fe': ['ownerSetHouseEdge(uint256)'], + '0x5e968a49': ['ownerSetMaxProfitAsPercentOfHouse(uint256)'], + '0x6cdf4c90': ['ownerSetMinBet(uint256)'], + '0xd207e757': ['ownerSetOraclizeSafeGas(uint32)'], + '0x8b64d70e': ['owner_set_time_limit(uint256)'], + '0x31375242': ['ownerSetTreasury(address)'], + '0xf738e5ca': ['ownerTakeProfit()'], + '0x758971e8': ['ownerTakeProfit(bool)'], + '0x7ac37d58': ['ownerTransferEther(address,uint256)'], + '0x150ad2a8': ['owner_transfer_ownership(address)'], + '0x26da8e17': ['ownerUpdateCostToCallOraclize(uint256)'], + '0xb33926cb': ['owner_withdraw(uint256)'], + '0xf7bc39bf': ['owns(address)'], + '0x88c3ba85': ['ParallelGambling()'], + '0xf65c4d42': ['Participate(uint256)'], + '0x1b9265b8': ['pay()'], + '0x18b749c4': ['payEther(uint256)'], + '0x4d268ddd': ['payImporterBankForGoodsBought()'], + '0xff08d2b0': ['PayMiners()'], + '0x85db2dda': ['PayoutQueueSize()'], + '0xe0fe075e': ['payoutReady()'], + '0x081e806d': ['PayOut(uint256)'], + '0xb2310cc5': ['payRequstedSum(uint256,uint256)'], + '0xb821f815': ['pay_winner(uint256)'], + '0xabf74a93': ['pitFee()'], + '0x43046844': ['placeBet(uint8)'], + '0xa4406bcd': ['placeSellOrder(uint256,uint256)'], + '0xb1cc4348': ['placeWager()'], + '0x71b6663e': ['play1(address,uint256)'], + '0x2ddbc04a': ['play2(address,uint256)'], + '0xdb18c972': ['play4(address,uint256)'], + '0xf0e10c0d': ['play(address,uint256)'], + '0xc7a1865b': ['play(bytes32)'], + '0x3e4c0c82': ['player_1(uint256)'], + '0x1ef0625b': ['player_2(uint256)'], + '0xc068eae0': ['player_collect_winnings(uint256)'], + '0xa4fde8bc': ['player_declare_taking_too_long()'], + '0x3c314a91': ['playerGetPendingTxByAddress(address)'], + '0x46b04e53': ['PlayerInfoPerZone(uint256,uint256)'], + '0x63aea3e0': ['PlayerInfo(uint256)'], + '0xeace4827': ['player_make_bet(uint8)'], + '0xdc6dd152': ['playerRollDice(uint256)'], + '0x24fb563f': ['PlayerTickets(address,uint256,uint256)'], + '0xa5f4af33': ['playerWithdrawPendingTransactions()'], + '0x39b333d9': ['Play(uint8,uint8,uint8,uint8)'], + '0x4c0eceb5': ['plusOnePonzi()'], + '0xe6cbcba9': ['PlusOnePonzi()'], + '0xd1f0bb2d': ['populateAllowedFreeExchanges()'], + '0x3570c2ee': ['PosRewards()'], + '0xb45105b2': ['post(string,address,string)'], + '0xc6a17d2b': ['pow10(uint256,uint8)'], + '0x2c02d622': ['precalculate()'], + '0x13bd4e2c': ['_prepareAndSendReward()'], + '0xf81d087d': ['prepareLottery()'], + '0xe6c1beb4': ['prepend(address)'], + '0xf8018a79': ['prepend(address,address)'], + '0x6bae05cf': ['preRegister(address)'], + '0x45788ce2': ['prev(address)'], + '0xa035b1fe': ['price()'], + '0x1288c42a': ['Prism()'], + '0x22dc36e2': ['processed(uint64)'], + '0x61aa8d93': ['processFee()'], + '0x5c52e51e': ['processPayout()'], + '0x80acaafb': ['profitDistribution()'], + '0xe1f5ebc5': ['_projectAddNew(address,uint256)'], + '0x6a3c1198': ['_projectCancelNew()'], + '0xa055fe64': ['_projectCommitNew(address)'], + '0x87914c6f': ['prolongateContract()'], + '0x9801cb8e': ['ProofOfExistence()'], + '0x4671e65e': ['proposeEmergencyWithdrawal(address)'], + '0xac4e73f9': ['proposeReverse(string,address)'], + '0x1fdf6e0c': ['protectKingdom()'], + '0xa9b8f7b8': ['ProtectTheCastle()'], + '0x4f09eba7': ['proxyApprove(address,uint256,bytes32)'], + '0xe82b7cb2': ['proxySetCosignerAddress(address,bytes32)'], + '0xea98e540': [ + 'proxyTransferFromToICAPWithReference(address,bytes32,uint256,string)' + ], + '0xf0cbe059': [ + 'proxyTransferFromWithReference(address,address,uint256,bytes32,string)' + ], + '0xc5487661': ['proxyTransferToICAPWithReference(bytes32,uint256,string)'], + '0x64ef212e': ['proxyTransferWithReference(address,uint256,bytes32,string)'], + '0xd94073d4': ['PT()'], + '0x8940aebe': ['publicKey(uint256)'], + '0x8b2e6dcf': ['publish(bytes32)'], + '0x57e25a79': ['PullPaymentCapable()'], + '0x0eb495c2': ['pushCity()'], + '0x4616caa9': ['pushCoin(uint256,address,string)'], + '0xacc8cb18': ['pushTerm(string)'], + '0xafd09bab': ['quadrupler()'], + '0x4306cc3f': ['queryEarnings(address)'], + '0x83eed3d5': ['queryN(uint256,string,bytes)'], + '0xc55c1cb6': ['queryN_withGasLimit(uint256,string,bytes,uint256)'], + '0xfdd3a879': ['quick()'], + '0xf28a7912': ['quick2()'], + '0xe0c7c117': ['Randao()'], + '0x0b15650b': ['randInt(uint256,uint256)'], + '0x8e3957d9': ['RandomNumber()'], + '0x7741b4ec': ['RandomNumberFromSeed(uint256)'], + '0xb863bd37': ['random(uint256)'], + '0xeb7cdb56': ['rankDown(uint256,uint256)'], + '0x74fbbc86': ['rate(uint256,uint256,string)'], + '0xba344743': ['_rawTransfer(address,address,uint256)'], + '0x2d2800f1': ['react()'], + '0xb7213bd4': ['readLog(uint256)'], + '0x7d7c2a1c': ['rebalance()'], + '0x248582b0': ['receivePaymentForGoodsSoldEarly()'], + '0x743e0c9b': ['receiveTokens(uint256)'], + '0x49d55d9d': ['receiveTransfer(uint256)'], + '0xc864e760': ['recordCommissionEarned(uint256)'], + '0xe51ace16': ['record(string)'], + '0xf06d335e': ['_recoverAccount(address,address)'], + '0x648bf774': ['recover(address,address)'], + '0x0cd865ec': ['recover(address)'], + '0x0ca35682': ['recover(uint256)'], + '0xf32efd3c': ['recoverUser(address,address,uint256,uint8,bytes32,bytes32)'], + '0xe20bbd8d': ['RecoveryWithTenant()'], + '0x0f23cbaa': ['recycle()'], + '0x578bcc20': ['reduceDebt(address,address,uint256)'], + '0x538e0759': ['refill()'], + '0x58b1f29c': ['refundBounty(uint256)'], + '0x847f8a10': ['Refund(uint32)'], + '0x5af36e3e': ['refund(uint256,uint256)'], + '0x66b42dcb': ['register(address,string,uint256,string)'], + '0xeeda149c': ['Register(address)'], + '0x4420e486': ['register(address)'], + '0x8d59cc02': ['register(address,string,string)'], + '0x8b7f0ddd': [ + 'register(address,address,string,string,bytes32[],uint256,string)' + ], + '0x7b1a547c': ['registerAs(address,string,uint256,string,address)'], + '0x3facd57c': [ + 'registerBill(uint256,address,address,uint256,uint256,uint256)' + ], + '0x84c344fe': ['_register(bytes4,string)'], + '0xb0fd935b': ['registerCertificationDb(address)'], + '0x4cd995da': ['registerCompany(address,string)'], + '0x669ee827': ['RegisterDevice()'], + '0xfe63300a': [ + 'registerExternalBill(uint256,address,address,uint256,uint256,uint256)' + ], + '0x68af4971': ['registerListening()'], + '0x00e7d289': ['registerListening(address)'], + '0x7f6d8955': ['RegisterOne(uint32,address,address)'], + '0xf2c298be': ['register(string)'], + '0x3ffbd47f': ['register(string,string)'], + '0xaeb4f0d3': ['RegisterTwo(address,address)'], + '0x8ae986cf': ['registrantApprove(address)'], + '0xe9fe799e': ['registrantRemove(address)'], + '0x7db9743b': ['Registry()'], + '0x6d15f208': ['reject(string,uint256,uint16,address,uint256)'], + '0xc76a4bfb': ['relayReceiveApproval(address,address,uint256,bytes)'], + '0xd67cbec9': ['release(uint32,uint32,uint32,bytes20)'], + '0xa7b2d4cb': ['remove(int256,address)'], + '0xf3ee6305': ['removeCertificationDocument(address,bytes32)'], + '0x9c30936f': ['removeCertificationDocumentFromSelf(bytes32)'], + '0xba4c206e': ['removeCertificationDocumentInternal(address,bytes32)'], + '0x0066753e': ['removeCertifier(address)'], + '0xd5df7559': ['removeDocument(uint256)'], + '0xac18de43': ['removeManager(address)'], + '0xba7dc45f': ['_removeOperation(bytes32)'], + '0x2c4cb4be': ['removeRegistryFromNameIndex(address)'], + '0x669459a7': ['removeRegistryFromOwnerIndex(address)'], + '0xaf55bba0': ['removeRegistryFromTagsIndex(address)'], + '0xf25eb5c1': ['removeReverse()'], + '0x80599e4b': ['remove(string)'], + '0x7e32a592': ['repairTheCastle()'], + '0x631de4d6': ['replace(address,address)'], + '0x9fd4f7d1': ['replaceWizard(address)'], + '0xce87f626': ['replaceWizardRP(address)'], + '0xeaa1f9fe': ['reqisterListening(address)'], + '0x27f06fff': ['requestFillUp(uint256)'], + '0x2e5d1042': ['requestPayout(uint256,uint256,bytes32,uint256,uint256)'], + '0xe9c63b9c': ['requestPeerBalance()'], + '0x4c9ed763': ['requestTokensBack()'], + '0x0ac28725': ['requestTradeDeal(uint256,uint256,string)'], + '0xf802075f': ['requiredEndowment()'], + '0x432ced04': ['reserve(bytes32)'], + '0x92698814': ['reserved(bytes32)'], + '0x6676871d': ['reserved_funds()'], + '0x6423db34': ['Reset()'], + '0x478e25bf': ['resetAction(bytes32)'], + '0x769796fe': ['resetAction(uint256)'], + '0xb181a8fc': ['resetContract()'], + '0xf50d3914': ['resetFoundationtList()'], + '0xd337616e': ['resetLottery()'], + '0x5cfd8c24': ['ResetPonzi()'], + '0x433d4aab': ['resolve(uint8,uint8)'], + '0xa6403636': ['resolve(uint8,bytes32,bytes32,bytes32)'], + '0x1ef3755d': ['restart()'], + '0xa987d654': ['restoreItem(uint256)'], + '0xc4bc5da5': ['resumeContract()'], + '0x61b20d8c': ['retrieveFunds()'], + '0x85c78fac': ['retryOraclizeRequest(uint256)'], + '0x5cbc85d0': ['returnBounty(uint256)'], + '0xcff2fa42': ['_returnFee(address,uint256)'], + '0x0ca7395f': ['returnFund(address,uint256)'], + '0xec81e22e': ['returnmoneycreator(uint8,uint256)'], + '0x7ac4b05e': ['returnMyMoney(uint256)'], + '0x9ec35352': ['returnRandom()'], + '0xebaf7f2f': ['returnReward(uint256)'], + '0x66d8c463': ['reveal(bytes32,string)'], + '0x32d5fe98': ['revealCampaign(uint256,uint256)'], + '0x9348cef7': ['reveal(uint256,uint256)'], + '0x84ad6ff3': ['ReversibleDemo()'], + '0x05f8b6f5': ['_rewireIdentities(bytes32[],uint256,uint256,uint32)'], + '0x8390b02a': ['rfindPtr(uint256,uint256,uint256,uint256)'], + '0xe1108706': ['rfind()'], + '0xf7149220': ['RNG()'], + '0x4e1053cc': ['RobinHoodPonzi()'], + '0xd2602930': ['RockPaperScissors()'], + '0x8d216186': ['roll(uint256,bytes32)'], + '0x5a7a8850': ['rollWithSeed(bytes32)'], + '0xb73405a9': ['roundMoneyDownNicely(uint256)'], + '0x5ccc3eaa': ['roundMoneyUpToWholeFinney(uint256)'], + '0x96d02099': ['rsplit()'], + '0xdd727ea6': ['runJackpot()'], + '0x5674a3ed': ['runLottery()'], + '0x4d366398': ['runPeerBalance()'], + '0x677cee54': ['SafeConditionalHFTransfer()'], + '0x2baf4f22': ['_safeFalse()'], + '0x4401a6e4': ['safeSend(address)'], + '0x4269d8ef': ['_safeSend(address,uint256)'], + '0xa97ffd5e': ['safeToSell(uint256)'], + '0x38e48f06': ['save(string)'], + '0x3fb27b85': ['seal()'], + '0xddbbc35c': ['searchByName(string)'], + '0x42cf0e72': ['searchByOwner(address)'], + '0xc82aac47': ['searchByTag(bytes32)'], + '0x40a49a96': ['searchSmallestInvestor()'], + '0xf7c2b38c': ['seconds_left()'], + '0xcf1cd249': ['secureSend(address)'], + '0x85e5bb3a': ['Security_AddPasswordSha3HashToBankAccount(bytes32)'], + '0x7d94792a': ['seed()'], + '0xe4cc1161': ['seedWithGasLimit(uint256)'], + '0x88b9e10e': ['seizeTokens(address,uint256)'], + '0x6be505f5': ['selectWinner(bytes32)'], + '0x9cb8a26a': ['selfDestruct()'], + '0x2aa3177a': ['self_store()'], + '0x514dcfe3': ['seller_accept()'], + '0x2d592a34': ['sellKissBTC(uint256)'], + '0x41524433': ['sellKissBTCWithCallback(uint256,address,uint256)'], + '0xddb5b3ac': ['SellTokens()'], + '0xe4849b32': ['sell(uint256)'], + '0x227185d6': ['Send1Get2()'], + '0xd6006e88': ['send(address[],uint256[],uint256)'], + '0x3e58c58c': ['send(address)'], + '0x35d13969': ['SendAllMoney()'], + '0x3d21aa42': ['sendApproval(address,uint256,address)'], + '0xd1e15045': ['sendBack()'], + '0x5292af1f': ['sendBalance(address)'], + '0xeb455dc6': ['sendBitcoin(string,uint256)'], + '0xb938bf42': ['sendBounty(bytes32)'], + '0x9894221a': ['SendCashForHardwareReturn()'], + '0x010731c0': ['sendCryptedHand(bytes32)'], + '0x78ec81a0': ['sendEarnings(address)'], + '0xb1d05422': ['SendEmail(string,string)'], + '0xbb6b4619': ['SendETC(address)'], + '0x3a314b24': ['SendETH(address)'], + '0x9c6034a7': ['sendIfNotForked()'], + '0x7b02b2c9': ['sendMsg(address,string)'], + '0x76d438b0': ['sendReward(uint256,uint256)'], + '0xbf8fc670': ['sendToAggregation(uint256)'], + '0x6620a935': ['sendToOwner()'], + '0x03750d94': ['serverSeed(address,bytes32)'], + '0x7eff1465': ['setAccountAllowance(address,address,uint256)'], + '0x5e03d393': ['setAccountFrozenStatus(address,bool)'], + '0xf6d339e4': ['setAddress(bytes32,string,address)'], + '0x3c84f868': ['set(int256,address,uint256)'], + '0x213b9eb8': ['setAddr(string,address)'], + '0x5d96ec65': ['setAdministrator(address,string,bool)'], + '0xf8af9e6f': ['setAdv(uint256,string,string)'], + '0x058d7433': ['setAlliesContract(address)'], + '0x7a837213': ['setAllowedAccount(address)'], + '0xf8ec4bf2': ['setAllowTransactions(bool)'], + '0x7948f523': ['setAmbiAddress(address,bytes32)'], + '0x9fa5e5d5': ['setARKowner(address)'], + '0xd0d552dd': ['setAsset(address)'], + '0x9f203255': ['setAuditor(address)'], + '0xda7fc24f': ['setBackend(address)'], + '0x754dea40': ['setBackendOwner(address)'], + '0x5c89c10d': ['setBannedCycles(uint256[])'], + '0x1c31f710': ['setBeneficiary(address)'], + '0xcf09e6e1': ['SetBigContract(address)'], + '0xc1441172': ['setBlackFlagRequest(uint256,uint256)'], + '0x2ffda1e0': ['setBlackflag(uint256,bool)'], + '0x6b5caec4': ['setBot(address)'], + '0x23e9c216': ['setBounty(address,string,uint256)'], + '0x16ce8a69': ['setBuilding(uint256,uint256)'], + '0x47448e8a': ['set(bytes32,string,bytes32)'], + '0x37881810': ['setCallbackAddress(address)'], + '0x8702735c': ['setCapitol(uint256,uint256)'], + '0x951b01c5': ['setCertifierDb(address)'], + '0xeef8e35f': ['setChainyURL(string)'], + '0xf8bd526e': ['setCoinageContract(address)'], + '0xa510f776': ['setCompany()'], + '0x4c2d71b3': ['setConfigAddress(bytes32,address)'], + '0x1e0c7ed4': ['setConfigBool(bytes32,bool)'], + '0xe8a5282d': ['setConfig(bytes32)'], + '0x810a882f': ['setConfigBytes(bytes32,bytes32)'], + '0x3e8f5b90': ['setConfig(string,uint256)'], + '0xbc45d789': ['setConfigUint(int256,bytes32,uint256)'], + '0xfd6f5430': ['setContent(string,bytes32)'], + '0x92eefe9b': ['setController(address)'], + '0x5e6ad49d': ['_setCosignerAddress(address)'], + '0x82fc49b8': ['setCosignerAddress(address)'], + '0x986dcd4d': ['setCycleLimit(uint256)'], + '0xe73a914c': ['setDAO(address)'], + '0xc52bd836': ['setDappOwner(bytes32,address)'], + '0x03959bb7': ['setDataContract(address)'], + '0x4a994eef': ['setDelegate(address,bool)'], + '0x90c3f38f': ['setDescription(string)'], + '0x172d8a30': ['setDirectorLock(uint256,uint256)'], + '0xa1b7ae62': ['setdirectorName(string)'], + '0x38eaf913': ['setDirectorNode(string)'], + '0x423e1298': ['setDoNotAutoRefundTo(bool)'], + '0x6716a692': ['setDVIP(address)'], + '0x74331be7': ['sete(address)'], + '0xb56e1bca': ['setExchangeToken()'], + '0xfe4a3ac9': ['setExecPrice(uint256)'], + '0x01cceb38': ['setExpiry(uint256)'], + '0xb35893f3': ['setExporter()'], + '0x87cc1e1c': ['setExporterBank()'], + '0xa4502cb8': ['setExportFee(address,uint256)'], + '0xe5782fd5': ['setFeeStructure(uint256,uint256,uint256)'], + '0x69fe0e2d': ['setFee(uint256)'], + '0x02aa274b': ['setForward(bytes4,address)'], + '0x69569a51': ['setFrontend(address)'], + '0x576eac66': ['setFundingGoal(uint256)'], + '0x711953ef': ['setGameAddress(address)'], + '0x2187a833': ['setGreenToken()'], + '0x78f0161a': ['setGreyGreenPrice(uint8)'], + '0xad9ec17e': ['setGreyToken()'], + '0xd148288f': ['setHoldingPeriod(uint256)'], + '0xa37fd390': ['setHomeAdv(uint256,string)'], + '0x9fb755d7': ['setHotWallet(address)'], + '0x0a3b1cd2': ['setHotwallet(address)'], + '0x1bd9c46e': ['setImporter()'], + '0xae2df7b3': ['setImporterBank()'], + '0xe2c61114': ['setImportFee(address,uint256)'], + '0xa8659216': ['setInitialLockinDays(uint256)'], + '0x26b916b4': ['Set_Interest_Rate(uint256)'], + '0x9fcbc738': ['setIntermediate(address)'], + '0x18f303a1': ['SetInternalValues(uint8,uint256)'], + '0x7f0c949c': ['setJurisdication(string)'], + '0x74f519db': ['setLastTimestamp(uint256,uint256)'], + '0x27ea6f2b': ['setLimit(uint256)'], + '0x9cb31079': ['setLowLimit(uint256)'], + '0x73ffd969': ['setMap(uint256,uint256,uint256)'], + '0x457dd8b3': ['setMasterKey(address)'], + '0x5e404de3': ['setMaximumCredit(uint256)'], + '0xee8ff562': ['setMaxProfit()'], + '0x3b91ceef': ['setMax(uint256,uint256)'], + '0x1ca60aeb': ['setMeltingContract(address)'], + '0x50944a8f': ['setMembership(address)'], + '0x91cd242d': ['setMeta(bytes32,bytes32,bytes32)'], + '0xdd93890b': ['setMeta(uint256,bytes32,bytes32)'], + '0x35930e13': ['setMinimalRewardedBalance(uint256)'], + '0xb0414a2d': ['setMinimumGasLimit(uint256)'], + '0x03251a08': ['setMin(uint256,uint256)'], + '0xb1662d58': ['setModule(address,bool)'], + '0x29de91db': ['setMsg(address,uint256)'], + '0x8aa33776': ['setMsgPrice(uint256)'], + '0x5ac801fe': ['setName(bytes32)'], + '0xfe55932a': ['setName(uint256,string)'], + '0x4b3b6168': ['SetNewBigContract(address)'], + '0xc4d9102f': ['setNextID(uint256,int256)'], + '0xfc9e53df': ['setNextRegistrar(address)'], + '0x8389f353': ['setNumCities(uint256)'], + '0x8173b813': ['setNumCities(uint256,uint256)'], + '0x755b5b75': ['setNumUnits(uint256,uint256)'], + '0x65228934': [ + 'setOperationsCallGas(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x7adbf973': ['setOracle(address)'], + '0xc7e22ac4': ['setOracleGas(uint256)'], + '0x89ed0b30': ['setOraclizeGas(uint32)'], + '0x18f3fae1': ['setOversight(address)'], + '0xd62b255b': ['setOwner(address,string)'], + '0x167d3e9c': ['SetOwner(address)'], + '0x7acbfb65': ['setOwner(uint256,uint256)'], + '0xffe302d1': ['setPlz(string)'], + '0x2e3be78d': ['setPrecisionDirect(uint8)'], + '0x3f9f5b68': ['setPreviousID(uint256,int256)'], + '0x36f7cd70': ['setPricePerStake(uint256)'], + '0x5e983d08': ['setPrices()'], + '0x05fefda7': ['setPrices(uint256,uint256)'], + '0xf7d97577': ['setPrice(uint256,uint256)'], + '0x53d97e65': ['setPrizes(uint32[])'], + '0x6e0d98fe': ['setProbabilities(uint32[])'], + '0x7137ed47': ['setProxyContract(address)'], + '0x8e25071a': ['setProxyCurrator(address)'], + '0xc24924d6': ['setQueryFee(uint256)'], + '0xe50d0473': ['SetRank(uint8,address,uint16)'], + '0x50b7b7a2': ['setRating(bytes32,uint256)'], + '0x50f07cf9': ['setReadingDelay(uint256)'], + '0x8279c7db': ['setReceiverAddress(address)'], + '0xa0a2f629': ['setReferralId(uint256,address)'], + '0xe0117441': ['setRegistrationPrice(uint256)'], + '0x718bd6dd': ['setRequestUntil(uint8)'], + '0xaf030d2c': ['setResult(uint256,uint256,bytes32)'], + '0x0381cb3b': ['setRowcol(uint256,uint256[2])'], + '0xe1a9109d': ['setSeedPrice(uint256)'], + '0x09d2d0b9': ['setServiceAccount(address,bool)'], + '0xa8026912': ['setSource(address)'], + '0x81183633': ['setStandard(bytes32)'], + '0x3e0a322d': ['setStartTime(uint256)'], + '0x49e65440': ['setSymbol(bytes32)'], + '0xb1233451': ['setTerm(uint256,string)'], + '0xb950556a': ['setThingValid(bytes32[],bool)'], + '0xce592586': ['setThresold(uint256,uint256)'], + '0xaee84f6b': ['setTime(address,uint256)'], + '0x9a9c29f6': ['settle(uint256,uint256)'], + '0xb33a8a11': ['setTokenReference(address)'], + '0x55db4092': ['setTOS(address,bool)'], + '0x506e106c': ['setToS(string)'], + '0xf7ea7a3d': ['setTotalSupply(uint256)'], + '0xa33dd801': ['setTreasuryBalance(uint256)'], + '0x4dc43eaf': ['setTreasury(uint256,uint256)'], + '0xdd57d5c5': ['setTrust(address)'], + '0xacb6c69b': ['setTrustedClient(address)'], + '0x1d7b5baf': ['setUint(int256,bytes32,string,uint256)'], + '0x2f30c6f6': ['set(uint256,address)'], + '0x468129a5': ['setUnit(uint256,uint256,uint256)'], + '0x7bc0ff20': ['setupExportFee(address,uint256)'], + '0x26881518': ['setupFee(address)'], + '0x92d8c8cf': ['setupImportFee(address,uint256)'], + '0x294f3d4d': ['setUpLimit(uint256)'], + '0xce8d054e': ['_setupNoCallback()'], + '0x12ab7242': ['setupStackDepthLib(address)'], + '0x1d124fe4': ['setUtils2(address)'], + '0x69953501': ['setUtils(address)'], + '0x4bc2a657': ['setVoter(address)'], + '0x7318b453': ['setVotetUntil(uint8)'], + '0x4173b181': ['setWeiPrice(uint256)'], + '0x0df71602': ['setWinner(uint256)'], + '0x12819817': ['setXauForGasCurrator(address)'], + '0xef4bdfdd': ['Set_your_game_number_between_1_15(string)'], + '0xb3ade772': ['shipProducts(string,string)'], + '0x83d852d9': ['shutdownTransactions()'], + '0x95d5a1be': ['SignatureReg()'], + '0x76cd7cbc': ['sign(bytes)'], + '0x5f68804e': ['SimpleLotto()'], + '0x152fb125': ['SimpleMixer()'], + '0x4ac7becf': ['SimpleSign()'], + '0xc83be888': ['single_move(uint256,uint8,uint8)'], + '0x70d084c0': ['SingularDTVCrowdfunding()'], + '0x0ab58ead': ['SingularDTVFund()'], + '0x0b590c6b': ['SingularDTVToken()'], + '0x1ff13086': ['size(int256)'], + '0x9c4baf27': ['Skywalker(address,address)'], + '0x1a88bc66': ['slot()'], + '0x853552d7': ['_slotAddNew(address)'], + '0xee564544': ['_slotCancelNew()'], + '0x16f9ce49': ['_slotCommitNew(address)'], + '0x6fe665e9': ['SlotMachine()'], + '0x22593300': ['Small(address)'], + '0x5503a659': ['smallponzi()'], + '0xe3b26a8c': ['SocialNetwork()'], + '0x5d0be9de': ['softWithdrawRevenueFor(address)'], + '0xd5dbb1ad': ['solveBet(address,uint8,bool,uint8,bytes32,bytes32)'], + '0xb2f2588b': ['sortNumbers(uint8[3])'], + '0xface030b': ['SpinTheWheel(address)'], + '0x56fa47f0': ['split(address)'], + '0x0f2c9329': ['split(address,address)'], + '0x9c709343': ['split(bool,address)'], + '0xf7654176': ['split()'], + '0xd9d2d058': ['Splitter()'], + '0x2672b3e2': ['SplitterEtcToEth()'], + '0x8946d33f': ['SplitterEthToEtc()'], + '0xb7266456': ['StandardToken()'], + '0x70983e91': ['startBoardProposal(uint256,address)'], + '0x9f35d3b2': ['start(string,string,uint256,uint256,uint256,uint256)'], + '0x0fbf7151': ['startsWith()'], + '0xa1cb31b7': ['_state()'], + '0x12253a6c': ['stopContract()'], + '0x975057e7': ['store()'], + '0xdda9939c': ['Store(address[])'], + '0x877653f0': ['_storeBalanceRecord(address)'], + '0xf60381a1': ['stra2cbor(string[])'], + '0x2fcb6628': ['_stringGas(string,string)'], + '0xfc01abbe': ['stringToBytes32(string,string)'], + '0x9077dcfd': ['submitCoding(string,uint256)'], + '0x2da8f764': ['submitVideo(string,string)'], + '0xb71c47a2': ['surrender()'], + '0xcd57a448': ['SwapContract(address,uint256)'], + '0x6b76484e': ['swap(address,address)'], + '0xd60dcb5d': ['Switch()'], + '0xb660d77c': ['switchMPO(address,address)'], + '0xd422e4e0': ['takeFee(address,uint256,string)'], + '0x4f073130': ['takeOrder(bool,uint256,uint256)'], + '0xbf55486b': ['Tanya()'], + '0xe2ee9941': ['tap(bytes20)'], + '0x420ef2b3': ['TargetHash()'], + '0x922fc84b': ['taskProcessedNoCosting(uint256)'], + '0x36e6b92e': ['taskProcessedWithCosting(uint256,uint256)'], + '0x93cc9162': ['taskRejected(uint256,uint256)'], + '0x4dc7cc55': ['terminateAlt()'], + '0x08714bfa': ['TestContract()'], + '0x1465aa97': ['testingContract()'], + '0x2af7ceff': ['testPrice(uint256)'], + '0xbab86ea8': ['test(string,string)'], + '0x4cad42d3': ['testWager()'], + '0xc96593a0': ['The10ETHPyramid()'], + '0x83d8a90f': ['theDonkeyKing()'], + '0x87fd0421': ['TheEthereumLottery()'], + '0x0e3f732a': ['TheGame()'], + '0xafbec8df': ['TheGrid()'], + '0x7399646a': ['theRun()'], + '0x83c51a38': ['thesimplegame()'], + '0x6f9a023c': ['theultimatepyramid()'], + '0x3c6e03d7': ['thewhalegame()'], + '0x18489f50': ['thingExist(bytes32[])'], + '0xe3848e5b': ['thing(string,string,string)'], + '0xda25c0cd': ['ThisExternalAssembly()'], + '0x857d4c07': ['throwScraps(uint256)'], + '0x18253234': ['ticketsAvailable()'], + '0xd7f746ce': ['tickingBomb()'], + '0x5f17114e': ['TimeDeposit()'], + '0x2f5a5c5b': ['timegame()'], + '0xcfed9199': ['timePassed(uint256)'], + '0xdd137b5d': ['toBase58(uint256,uint8)'], + '0xb05e390a': ['TokenEther(string,string)'], + '0x7ff9b596': ['tokenPrice()'], + '0x31380c89': ['TokenSale()'], + '0x4da47ba0': ['TokenSale(address,uint256)'], + '0xd5089396': ['Token(string,string,uint8,uint256)'], + '0x6c1a5b8c': ['TOKEN_TARGET()'], + '0xb29c2493': ['token(uint256,string,uint8,string)'], + '0xf2022905': ['toldYouItWouldWork()'], + '0x283a4576': ['Tomeka()'], + '0x51560da9': ['topDogInfo()'], + '0x43ec3f38': ['toSliceB32(bytes32)'], + '0xafed762b': ['toSlice(string)'], + '0x15a03930': ['TossMyCoin()'], + '0x47e46806': ['toString()'], + '0xfc7b9c18': ['totalDebt()'], + '0x1ff517ff': ['totalDebt(address)'], + '0x7fef036e': ['totalEntries()'], + '0x5216aeec': ['totalInvested()'], + '0xdc19266f': ['Total_of_Players()'], + '0x6831c169': ['totalPayedOut()'], + '0x6a8c2437': ['totalRescues()'], + '0xb524abcf': ['totalSupply(bytes32)'], + '0xbff1f9e1': ['totalUsers()'], + '0x8caaaae6': ['totalWeiPrice()'], + '0x637e86eb': ['totBOTs()'], + '0xbb39a960': ['trade(address,uint256,address,uint256)'], + '0x04bb754c': ['TradeFinancing()'], + '0x4847a79c': ['_transfer(address,uint256)'], + '0x57cfeeee': ['transfer(address,uint256,bytes32)'], + '0xdeb80111': ['transfer_asset(address,uint256)'], + '0x22e803c2': ['transferBounty()'], + '0x60063887': ['transferDebt(address,address,address,uint256)'], + '0xddd41ef6': ['transferDirector(address)'], + '0x30e0789e': ['_transfer(address,address,uint256)'], + '0x63334c58': ['transferETC(address)'], + '0xd50f6bf0': ['transferETH(address)'], + '0x97fcb54e': ['transfer_eth(address,uint256)'], + '0xa0eda9f2': ['_transferFee(address,uint256,string)'], + '0xcb712535': ['_transferFrom(address,address,uint256)'], + '0xc204f9f1': ['_transferFromToICAP(address,bytes32,uint256)'], + '0xa525f42c': ['transferFromToICAP(address,bytes32,uint256)'], + '0xcac77df7': [ + '__transferFromToICAPWithReference(address,bytes32,uint256,string)' + ], + '0x0b1e400a': [ + '_transferFromToICAPWithReference(address,bytes32,uint256,string)' + ], + '0xa48a663c': [ + 'transferFromToICAPWithReference(address,bytes32,uint256,string)' + ], + '0x48a490fb': ['transferFromTreasury(address,uint256)'], + '0xcacc24eb': ['transferFromViaProxy(address,address,address,uint256)'], + '0x31c6c4cf': [ + 'transferFromWithReference(address,address,uint256,bytes32,string)' + ], + '0x3de9e4c6': ['__transferFromWithReference(address,address,uint256,string)'], + '0xa10bee85': ['_transferFromWithReference(address,address,uint256,string)'], + '0x6461fe39': ['transferFromWithReference(address,address,uint256,string)'], + '0x752a3df6': ['transferIfHardForked(address)'], + '0xd6a619e3': ['transferIfPuritanical(address)'], + '0x29605e77': ['transferOperator(address)'], + '0x235c002d': ['transferOther(address,address,uint256)'], + '0x67af26fb': ['transferOtherFrom(address,address,address,uint256)'], + '0x1301ee02': ['transferringETC(address)'], + '0xd4245e5b': ['transferringETH(address)'], + '0xfbf58b3e': ['transfer(string,address)'], + '0xd3aa22c7': ['transferTLA(string,address)'], + '0xa25057de': ['_transferToICAP(bytes32,uint256)'], + '0x733480b7': ['transferToICAP(bytes32,uint256)'], + '0x3bf2313d': ['__transferToICAPWithReference(bytes32,uint256,string)'], + '0x078c3fa4': ['_transferToICAPWithReference(bytes32,uint256,string)'], + '0x77fe38a4': ['transferToICAPWithReference(bytes32,uint256,string)'], + '0xe7dafdb6': ['transfer_token(address,address,uint256)'], + '0x12514bba': ['transfer(uint256)'], + '0x240ecad5': ['transferViaProxy(address,address,uint256)'], + '0x6d16f79c': ['__transferWithReference(address,uint256,string)'], + '0x51b3d7b9': ['_transferWithReference(address,uint256,string)'], + '0xac35caee': ['transferWithReference(address,uint256,string)'], + '0x1d065dde': ['_transferWithReward(address,address,uint256)'], + '0xe99543aa': ['Trash(uint256)'], + '0x8fe58eb9': ['Triger()'], + '0x54204ad4': ['triple()'], + '0x432c685f': ['trustClient(address)'], + '0x464f37c9': ['trustedChildRefund()'], + '0x866f6736': ['trustedChildWithdraw()'], + '0x2e6e504a': ['trusteeWithdraw()'], + '0x65343fcb': ['TrustEth()'], + '0x5fdf05d7': ['two()'], + '0x0d0c2008': ['TwoAndAHalfPonzi()'], + '0x49cc954b': ['twoYearsPassed()'], + '0x4dd850fb': ['UfoPonzi()'], + '0xf76f950e': ['uint2str(uint256)'], + '0x9e1e6528': ['uncertify(address)'], + '0x734d8287': ['unclaimedFees()'], + '0xf0d474f9': ['underdogCount()'], + '0x6eb7b4c2': ['underdogInfo(uint256)'], + '0x75f40f40': ['underdogPayoutFund()'], + '0x2880ebe7': ['underdogPayoutMarkup()'], + '0xcb3e64fd': ['unhalt()'], + '0xff81fb91': ['unhint(int256,bytes32)'], + '0xd4859dbc': [ + 'UniversalFunctionSecure(uint8,bytes32,bytes32,bytes32,bytes32,bytes32)' + ], + '0x579badf6': [ + 'UniversalFunction(uint8,bytes32,bytes32,bytes32,bytes32,bytes32)' + ], + '0x2ec2c246': ['unregister(address)'], + '0x1a0919dc': ['unregister(bytes32)'], + '0x4e116eb8': ['unRegisterCertificationDb(address)'], + '0xf1a00a53': ['unregisterListening(address)'], + '0xf295206f': ['_unsafeSend(address,uint256)'], + '0x9447fd0a': ['until()'], + '0x63def590': ['untrustClient(address)'], + '0x6a4b6aa5': ['untrustedChildWithdraw()'], + '0x0e38901a': ['unvault(uint256)'], + '0xe0b1cccb': ['updateBalance(address,uint256)'], + '0xfd8055d2': [ + 'updateBOTBillingInfo(uint256,string,address,string,string,uint256)' + ], + '0xb4a5ef58': ['updateDefaultTimeoutPeriod(uint256)'], + '0x2ffb9e64': ['updateGasForXaurData(uint256,uint256)'], + '0x4f10acc1': ['updateGoldFeeData(uint256)'], + '0x7c582304': ['updateInvestmentTotal(address,uint256)'], + '0xf2016a4f': ['updateMinEthPerNotification(uint256)'], + '0x10f41715': ['updateMintingData(uint256,uint256)'], + '0xb3485dca': ['UpdatePrice(uint8,uint32)'], + '0x482961e1': ['updateReading(uint256,uint256)'], + '0x9dc35799': ['updateReading(uint256)'], + '0x71e11354': ['updateRegistration(string,string)'], + '0x645dce72': ['updateRelease(uint32,uint32,uint32,bytes20,bool)'], + '0x5dddea66': ['updateState(uint256,uint8,uint256)'], + '0xbc058968': ['updateThingData(bytes32[],bytes32[],uint88)'], + '0x4ca7fbd0': ['updateTokenPriceWeekTwo()'], + '0x1d4b0796': ['updateTxStats()'], + '0x5a6c787e': ['updateWithMPO()'], + '0x1aa86370': ['updateXIPFSPublicKey(string)'], + '0xac7ffae3': ['updt(uint256,string,uint256,uint256,string,string,address)'], + '0x0900f010': ['upgrade(address)'], + '0xf597a499': ['UserDatabase(uint256)'], + '0x376fe102': ['userId(address)'], + '0xe6b972f5': ['userName(address)'], + '0x7b12df39': ['userProfits()'], + '0xe28fed1e': ['userRescues(address)'], + '0x8a65d874': ['userStats(address)'], + '0xed498fa8': ['userTokens(address)'], + '0xccf1ab9b': ['usurpation()'], + '0x83f6d9a4': ['validateNameInternal(string)'], + '0xb8d4efb5': ['validate_percent(uint8)'], + '0x67fc1c6a': ['validateProposedMonarchName(string)'], + '0xd22c391a': [ + 'validateProposedThroneRules(uint256,uint256,uint256,uint256,uint256)' + ], + '0x8f7fe231': ['ValidetherOracle()'], + '0xc0a239e3': ['valuePerShare()'], + '0xcc189d00': ['Vault(address,uint256)'], + '0xe820a32f': ['vetoPayout(uint256,uint256)'], + '0x4228974c': ['Videos()'], + '0x226685ee': ['Visit()'], + '0x6bf52ffa': ['Vote()'], + '0x5f09952e': ['voteAllowTransactions(bool)'], + '0x52a554a1': ['voteBoardProposal(uint256,address,bool)'], + '0x187a62d5': ['voteEmergencyWithdrawal(bool)'], + '0x045c6ce0': ['voteForProposal(uint256)'], + '0x58ae8bcf': ['voteInMasterKey(address)'], + '0x901d7775': ['voteOutMasterKey(address)'], + '0x23637e60': ['votePrice(uint256,bool)'], + '0x76e4ca0d': ['voteQuorum(uint256,bool)'], + '0xf2561a43': ['voteSuicide(address)'], + '0x0bf75567': ['voteSuperQuorum(uint256,bool)'], + '0xb3f98adc': ['vote(uint8)'], + '0xe2cdd42a': ['vote(uint256,address,bool)'], + '0x0121b93f': ['vote(uint256)'], + '0x655388be': ['walkTowardsBlock()'], + '0x5d5483b3': ['WatchAppliedFeePercentage()'], + '0xd628e0a6': ['WatchBalance()'], + '0xe0834ea4': ['WatchBalanceInEther()'], + '0x252786e4': ['WatchBlockSizeInEther()'], + '0xcf6b3822': ['WatchCollectedFeesInSzabo()'], + '0x82381c96': ['WatchCurrentMultiplier()'], + '0x20bfec70': ['WatchFees()'], + '0xc9734ebd': ['WatchLastPayout()'], + '0x61ba3377': ['WatchLastTime()'], + '0xfb34fc6f': ['WatchNextBlockReward()'], + '0x4ef5710a': ['WatchNumberOfPlayerInCurrentRound()'], + '0x6b3a87d2': ['WatchWinningPot()'], + '0xbe0638e4': ['WealthShare()'], + '0x05459f42': ['WeeklyLotteryB(address)'], + '0x836d6d66': ['WeeklyLotteryB(address,uint256)'], + '0x856f3080': ['WhatWasMyHash(bytes32)'], + '0x06e53f47': ['whichChainIsThis()'], + '0x9b19251a': ['whitelist(address)'], + '0xd6d02c51': ['whois(string)'], + '0x609ff1bd': ['winningProposal()'], + '0x95ceb4b3': ['winningProtocal()'], + '0x5ca3400c': ['WithBeneficiary(address)'], + '0x31e3e2fe': ['WithDraw()'], + '0x07bc6fad': ['withdraw(address,uint256,bytes32,uint256)'], + '0x8d92fdf3': ['withdrawAsset(uint256)'], + '0x5f52e9fd': ['WithdrawCashForHardwareReturn(uint256)'], + '0x1dd4914b': ['withdrawEtherOrThrow(uint256)'], + '0x24600fc3': ['withdrawFunds()'], + '0xf4aa1291': ['withdrawFundsAdvanced(address,uint256,uint256)'], + '0xceeafd9d': ['withdrawFundsAdvancedRP(address,uint256,uint256)'], + '0xc7f86c37': ['withdrawFundsRP()'], + '0x6103d70b': ['withdrawPayments()'], + '0x770c6cbb': ['WithDrawPreForkChildDAO()'], + '0x4f573cb2': ['withdrawRevenue()'], + '0xf108a7d2': ['withdraw(uint256,address,string)'], + '0x5b6b431d': ['Withdraw(uint256)'], + '0x44faa139': ['Withdraw(uint32)'], + '0xe63697c8': ['withdraw(uint256,address,uint256)'], + '0xf359671c': ['withdrawWithReference(address,uint256,string)'], + '0x89790192': ['WithFee(address,uint256)'], + '0x0d87a7c0': ['WLBDrawsDB()'], + '0xd08275f1': ['WolframAlpha()'], + '0x720c4798': ['workshop()'], + '0x214c9d50': ['WritedrawStatus()'], + '0xc0a1a949': ['x15()'], + '0x7266f4a4': ['X3()'], + '0xdb7ca38a': ['XaurmProxyContract()'], + '0x4f052648': ['XaurumDataContract()'], + '0xc1be4031': ['XaurumProxyERC20()'], + '0x71f297cc': ['XaurumToken(address)'], + '0x648621ec': ['xnotify(string)'], + '0xe3ceb06d': ['YesNo(bytes32,address,string,address,uint256)'], + '0xbc8f3bcb': ['ZeroDollarHomePage()'], + '0xbd02e4f6': ['calcRandomNumberAndGetPreliminaryGameResult(uint256,uint64)'], + '0x8f4fb958': ['calculateRandomNumberByBlockhash(uint256,address)'], + '0xae47a290': ['changeMaxBet(uint256)'], + '0x06394c9b': ['changeOperator(address)'], + '0x3aa5f4f7': ['changeTokenSettings(uint16,uint256,uint256)'], + '0x9a969768': ['distributeProfits(uint256)'], + '0x0f590c36': ['emergencyFixGameResult(uint64,uint256)'], + '0x364f4896': ['emission(address,address,uint256,uint16,uint16)'], + '0x7a8df1b9': ['getAffiliateInfo(address)'], + '0x9eb9dd3b': ['getBetsProcessed()'], + '0x2fd6d40b': ['getBetValueByGamble(uint8)'], + '0x6d12301c': ['getBetValue(bytes32,uint8)'], + '0x03ee8f08': ['getCoeff(uint16)'], + '0x38f77d69': ['getDistributeProfitsInfo()'], + '0xd02528e6': ['GetGameIndexesToProcess()'], + '0xb3fb14ad': ['getGameResult()'], + '0x49041903': ['getGame(uint64)'], + '0x824d5603': ['getIndex(uint16,uint16)'], + '0xf84f420b': ['getRandomNumber(address,uint256)'], + '0x267127ec': ['getTokenSettings()'], + '0x3cf885c4': ['isBitSet(uint256,uint8)'], + '0x15cff546': ['isOperationBlocked()'], + '0x257bcd6a': ['placeBet(uint256,bytes32,bytes32)'], + '0xfe73e3ec': ['preliminaryGameResult(uint64)'], + '0x89abeb19': ['ProcessGameExt(uint256)'], + '0x665bcc32': ['ProcessGames(uint256[],bool)'], + '0xa24d23eb': ['ProcessGame(uint256,uint256)'], + '0xaa677354': ['register(address,address)'], + '0xeb5904c0': ['setProfitDistributionContract(address)'], + '0x53c84526': ['setSmartAffiliateContract(address)'], + '0xf0caea2b': ['SmartRoulette()'], + '0xb599afc8': ['totalBetCount()'], + '0x4ce01d86': ['totalBetValue()'], + '0x2c4e591b': ['totalGames()'], + '0x37bdc99b': ['release(uint256)'], + '0x25fda176': ['notify(address,uint256)'], + '0x545e7c61': ['deploy(address,address)'], + '0xd3017193': ['addUser(address,uint256)'], + '0x2d580ef6': ['add(address,bytes32)'], + '0x79716e43': ['confirmTransaction(bytes32)'], + '0xca1d209d': ['fund(uint256)'], + '0x8b147245': ['update(bytes32)'], + '0x329ce29e': ['buyTile(uint256)'], + '0xa3908e1b': ['convert(uint256)'], + '0xdef2489b': ['convert(address)'], + '0x1e9a6950': ['redeem(address,uint256)'], + '0x74a93e6c': ['setTokenHolder(address,address)'], + '0xac940823': ['betOnLowHigh(bool)'], + '0x5521d17b': ['betOnColor(bool)'], + '0x338cdca1': ['request()'], + '0x59c87d70': ['request(bytes32)'], + '0x2bffc7ed': ['add(string,address)'], + '0x58d9fa04': ['addUser(uint256,address)'], + '0x64371977': ['set(uint256,string)'], + '0xf09ea2a6': ['offer(uint256,address,uint256,address)'], + '0x77fcb91d': ['forward(address,bool)'], + '0x53d9d910': ['create(address[],uint256,uint256)'], + '0xa8d95fb2': ['claim(address,string)'], + '0x591c515f': ['append(string,string)'], + '0xa7abc124': ['activate(bool,bool)'], + '0xc7f2e6af': ['Contribute(bytes20)'], + '0xebf6e91d': ['hit(uint256)'], + '0x7183616c': ['notarize(string)'], + '0x3da5c3ce': ['puzzle(address,bytes32)'], + '0x4b59e880': ['puzzle(address,bytes32,bytes32)'], + '0xae0a6b28': ['signature(string,bytes32)'], + '0x96b76c23': ['stand(uint256)'], + '0x6ea056a9': ['sweep(address,uint256)'], + '0x4637d827': ['trust(address)'], + '0x3af39c21': ['undefined()'], + '0x776d1a01': ['unvest(uint256,uint256,uint256,uint256,uint256,bool)'], + '0xb6608467': ['updateShares(uint256)'], + '0xf04da65b': ['getShares(address)'], + '0x90fa337d': ['storeBlockWithFeeAndRecipient(bytes,int256,int256)'], + '0x59d1d43c': ['text(bytes32,string)'], + '0x10f13a8c': ['setText(bytes32,string,string)'], + '0xa21174bb': ['DefaultReverseResolver(address)'], + '0x4e543b26': ['setResolver(address)'], + '0x0f5a5466': ['claimWithResolver(address,address)'], + '0xc0ee0b8a': ['tokenFallback(address,uint256,bytes)'], + '0x5a6b26ba': ['withdrawal(address,uint256)'], + '0x690e7c09': ['open(uint256)'], + '0x09fd018e': ['setClaimer(uint256,address,uint256)'], + '0x596c8976': ['close(uint256,uint256)'], + '0xdd0d74ff': ['IssueBank(address)'], + '0x228cb733': ['reward()'], + '0x99b721a5': ['rewardEthAnd(address[])'], + '0xeacccaf0': ['setReward(address,uint256)'], + '0x85eddeea': ['setReward(address[],uint256[])'], + '0xeb4dd8f2': ['confirm(address)'], + '0x342b7e71': ['setTokenList(address[])'], + '0xbd5dec98': ['withdraw(address[])'], + '0x640a4d0c': ['_deposited(address,address,uint256)'], + '0xc0b4fa6d': ['_reward(address[])'], + '0x18573bf9': ['calculeReward(uint256,uint256)'], + '0x73053f70': ['tokenDeposit(address)'], + '0x58e2cd76': ['watch(address)'], + '0xd9caed12': ['withdraw(address,address,uint256)'], + '0xb4427263': ['createTokens()'], + '0x01a7a8c0': ['batFundDeposit()'], + '0x229a4978': ['batFund()'], + '0x4172d080': ['tokenExchangeRate()'], + '0x6f7920fd': ['tokenCreationCap()'], + '0x8d4e4083': ['isFinalized()'], + '0x91b43d13': ['fundingEndBlock()'], + '0xa81c3bdf': ['ethFundDeposit()'], + '0xc039daf6': ['tokenCreationMin()'], + '0xd648a647': ['fundingStartBlock()'], + '0x3a1a635e': ['createNewRevision(bytes20,bytes32)'], + '0x7b760537': ['updateLatestRevision(bytes20,bytes32)'], + '0xa4b8c2e7': ['restart(bytes20,bytes32)'], + '0x22fa85ca': ['testFailRegisterContractAgain()'], + '0xcb56d626': ['testFailBlobStoreNotRegistered()'], + '0x6ec99dd0': ['testGetBlobStore()'], + '0x7604b6d7': ['testGetBlobStoreFromFullBlobId()'], + '0xc28bfe5a': ['testFailCreateSameIpfsHashAndNonce()'], + '0xded04fe9': ['testFailCreateNewRevisionNotOwner()'], + '0x9a93e940': ['testFailCreateNewRevisionNotUpdatable()'], + '0x960d8cd3': ['testFailUpdateLatestRevisionNotOwner()'], + '0x3ce1f4e7': ['testFailUpdateLatestRevisionNotUpdatable()'], + '0xf99ebb71': ['testFailUpdateLatestRevisionEnforceRevisions()'], + '0x251fa3b1': ['testFailRetractLatestRevisionNotOwner()'], + '0xb2ab530e': ['testFailRetractLatestRevisionNotUpdatable()'], + '0xc57a99e5': ['testFailRetractLatestRevisionEnforceRevisions()'], + '0xc204505a': [ + 'testFailRetractLatestRevisionDoesntHaveAdditionalRevisions()' + ], + '0x617f8666': ['testFailRestartNotOwner()'], + '0xd2c5c368': ['testFailRestartNotUpdatable()'], + '0xcf984f16': ['testFailRestartEnforceRevisions()'], + '0x3cc0fb45': ['testFailRetractNotOwner()'], + '0xa9888148': ['testFailRetractNotRetractable()'], + '0x71e60fe6': ['testFailTransferEnableNotTransferable()'], + '0x9acade7e': ['testFailTransferDisableNotEnabled()'], + '0xe2b8766c': ['testFailTransferNotTransferable()'], + '0x615f9f1f': ['testFailTransferNotEnabled()'], + '0x19ea61db': ['testFailTransferDisabled()'], + '0x776df027': ['testFailDisownNotOwner()'], + '0xeddce76b': ['testFailDisownNotTransferable()'], + '0x32d8eee5': ['testFailSetNotUpdatableNotOwner()'], + '0x6fe5b536': ['testFailSetEnforceRevisionsNotOwner()'], + '0xf2c2dff2': ['testFailSetNotRetractableNotOwner()'], + '0x5cc501ce': ['testFailSetNotTransferableNotOwner()'], + '0xf38e5ca2': ['getBlobStoreFromFullBlobId(bytes32)'], + '0x01e3d346': ['create(bytes1,bytes32,uint256)'], + '0x147a5640': ['_getAllRevisionIpfsHashes(bytes20)'], + '0x64d12ec6': ['getRevisionIpfsHash(bytes20,uint256)'], + '0x540c97c8': ['getAllRevisionIpfsHashes(bytes20)'], + '0xb7c38d02': ['testControlCreateSameIpfsHashAndNonce()'], + '0x6e1479c0': ['testControlCreateNewRevisionNotOwner()'], + '0xe73b7d77': ['testControlCreateNewRevisionNotUpdatable()'], + '0x8cdcdae1': ['testControlUpdateLatestRevisionNotOwner()'], + '0x69c5c229': ['testControlUpdateLatestRevisionNotUpdatable()'], + '0x80e74b04': ['testControlUpdateLatestRevisionEnforceRevisions()'], + '0x86602b6b': ['testControlRetractLatestRevisionNotOwner()'], + '0xc7a3778f': ['testControlRetractLatestRevisionNotUpdatable()'], + '0x6c712471': ['testControlRetractLatestRevisionEnforceRevisions()'], + '0x610285d2': [ + 'testControlRetractLatestRevisionDoesntHaveAdditionalRevisions()' + ], + '0xebc697d1': ['testControlRestartNotOwner()'], + '0x2d985cfb': ['testControlRestartNotUpdatable()'], + '0xcebb8bb0': ['testControlRestartEnforceRevisions()'], + '0xe37e60d1': ['testControlRetractNotOwner()'], + '0xcefdfcf3': ['testControlRetractNotRetractable()'], + '0x490825a9': ['testControlTransferEnableNotTransferable()'], + '0x20d615c2': ['testControlTransferDisableNotEnabled()'], + '0xe18c52ae': ['testControlTransferNotTransferable()'], + '0xe71d7bf0': ['testControlTransferNotEnabled()'], + '0x32bf775d': ['testControlTransferDisabled()'], + '0xb47784d9': ['testControlDisownNotOwner()'], + '0x98a29a58': ['testControlDisownNotTransferable()'], + '0x50a9eddb': ['testControlSetNotUpdatableNotOwner()'], + '0x0ec3b247': ['testControlSetEnforceRevisionsNotOwner()'], + '0xc3689f01': ['testControlSetNotRetractableNotOwner()'], + '0x9bf68006': ['testControlSetNotTransferableNotOwner()'], + '0x0ab03e1b': ['testControlRegisterContractAgain()'], + '0x895224db': ['testControlBlobStoreNotRegistered()'], + '0x81accd0b': ['create(bytes1,bytes32,bytes32)'], + '0x6013aa44': ['testControlCreateSameNonce()'], + '0x94106200': ['testFailCreateSameNonce()'], + '0x396ed0ab': ['Burn()'], + '0xd89135cd': ['totalBurned()'], + '0xf24e4a15': ['Purge()'], + '0x1caba41f': ['decimalUnits()'], + '0xc0463711': ['lastUpdate()'], + '0xe5a6b10f': ['currency()'], + '0x1820b575': ['Team(uint256,address,uint256)'], + '0x8a78f5e2': ['changeMember(address,bool,bool,uint256)'], + '0x30b0faab': ['changeSettings(uint256,address,uint256)'], + '0x03048a42': ['createRequest(address,uint256,string,bytes,bytes)'], + '0x17fb6c6e': ['approveRequest(uint256,bool,string)'], + '0x03ef2a2c': ['tryExecuteProposal(uint256,bytes)'], + '0x4ff6aa46': ['deactivateTeam()'], + '0x3f2885cb': ['publish(string,string,address,bytes32)'], + '0x50692d9a': ['toContentID(address,string,string,address,bytes32)'], + '0x7115c988': ['Batch(address)'], + '0x64eb7327': ['_getContent(bytes32)'], + '0x7ff0346b': ['getContents(bytes32[])'], + '0x2625e2e1': ['post(address,address,bytes32)'], + '0x534878fb': ['reply(address,address,bytes32,bytes32)'], + '0x7f602231': ['tip(bytes32,address,uint256)'], + '0x816e24b0': ['setupDeposits()'], + '0x68e7bdba': ['disableApi(address)'], + '0xbd322b77': ['enableApi(address)'], + '0x5cc15001': ['getContent(bytes32)'], + '0x9a01b4d5': ['getChannel(address)'], + '0xfbcbc0f1': ['getAccount(address)'], + '0xae9a0785': ['getChannelPostCount(address)'], + '0x5a17aa41': ['getContentTip(bytes32,address)'], + '0xd83a7f67': ['getDepositAddress(address)'], + '0xc489744b': ['getTokenBalance(address,address)'], + '0xe5c46944': ['MultiSigWallet(address[],uint256)'], + '0xe20056e6': ['replaceOwner(address,address)'], + '0xc6427474': ['submitTransaction(address,uint256,bytes)'], + '0x20ea8d86': ['revokeConfirmation(uint256)'], + '0xee22610b': ['executeTransaction(uint256)'], + '0x784547a7': ['isConfirmed(uint256)'], + '0xec096f8d': ['addTransaction(address,uint256,bytes)'], + '0x8b51d13f': ['getConfirmationCount(uint256)'], + '0x54741525': ['getTransactionCount(bool,bool)'], + '0xb5dc40c3': ['getConfirmations(uint256)'], + '0xa8abe69a': ['getTransactionIds(uint256,uint256,bool,bool)'], + '0x1914427f': ['MultiSigWalletWithDailyLimit(address[],uint256,uint256)'], + '0xcea08621': ['changeDailyLimit(uint256)'], + '0x811de206': ['isConfirmedByOwners(uint256)'], + '0x11c91914': ['isUnderLimit(uint256)'], + '0x4bc9fdc2': ['calcMaxWithdraw()'], + '0xae1a0b0c': ['launchLength()'], + '0x0a40f15f': ['fundDeal(string,address)'], + '0x1504ce95': ['payout(string)'], + '0x2de90801': ['hashtagToken()'], + '0x2e788443': ['resolve(string,address,uint256)'], + '0x5e717e2d': ['readDeal(string,address)'], + '0xac56c52b': ['makeDealForTwo(string,uint256)'], + '0xcdcf0c4a': ['dispute(string,address)'], + '0xf089b7dd': ['hashtag()'], + '0xf3227dc4': ['cancelDeal(string)'], + '0x3cebb823': ['changeController(address)'], + '0xf77c4791': ['controller()'], + '0x085d4883': ['provider()'], + '0x0e429ecc': ['providerValue()'], + '0x117de2fd': ['payout(address,uint256)'], + '0x200d2ed2': ['status()'], + '0x2e49d78b': ['setStatus(uint8)'], + '0x30cfac6c': ['assignTo(uint256,address,uint256)'], + '0xf3ab7ea9': ['seeker()'], + '0xfef1dc7d': ['seekerValue()'], + '0x0e4355d4': ['validFactories(address)'], + '0x10fe9ae8': ['getTokenAddress()'], + '0x29ce1ec5': ['addFactory(address)'], + '0x355e6b43': ['setCommission(uint256)'], + '0x4b37c73f': ['removeFactory(address)'], + '0x6985e46e': ['getConflictResolver()'], + '0x7f301b83': ['setMetadataHash(string)'], + '0x24664106': ['mintRep(int256,address,uint256)'], + '0xa4a75edc': ['registerDeal(address,address)'], + '0xaaf73ef7': ['registeredDeals()'], + '0xc5a1d7f0': ['metadataHash()'], + '0xcffee328': ['successfulDeals()'], + '0xe1489191': ['commission()'], + '0xf34f43f6': ['getRepTokenAddress()'], + '0xf6b44d03': ['validFactories()'], + '0x2dc2dbf2': ['makeSimpleDeal(address,address,uint256,bytes32)'], + '0x12424e3f': ['approve()'], + '0xb85477c5': ['dealStatus()'], + '0xe344606b': ['hashtagCommission()'], + '0x4a393149': ['onTransfer(address,address,uint256)'], + '0xda682aeb': ['onApprove(address,address,uint256)'], + '0xf48c3054': ['proxyPayment(address)'], + '0x55a373d6': ['tokenContract()'], + '0xc0112678': ['arcToken()'], + '0x921b2d64': ['mintTokens(int256,address,uint256)'], + '0x3290ce29': ['purchaseTokens()'], + '0x38cde380': ['changeWeight(uint256)'], + '0x4f995d08': ['getPeople()'], + '0x74607d91': ['patient(uint256)'], + '0x7b464e93': ['prescriptions(bytes32)'], + '0x86590955': ['changeHeight(uint256)'], + '0xd72dec33': ['changeVaccinHistory(address)'], + '0xdc3d4203': [ + 'createPatient(bytes32,bytes32,uint256,uint256,uint256,bytes32,uint256)' + ], + '0xe571fd2d': ['addPrescription(uint256,string)'], + '0xfbbf93a0': ['getDetails()'], + '0x077dadb2': ['coinBalanceMultisig(address)'], + '0x249b4d4f': ['transferContractUser(address)'], + '0x388f3cd3': ['cashin(address,uint256)'], + '0x527f4ff1': ['setTransferAddressUser(address,address)'], + '0x6ba2aefc': ['transferMultisig(address,address,uint256)'], + '0x9d16aca6': ['changeExchangeContract(address)'], + '0xd126dac4': ['cashout(address,address,uint256)'], + '0xf1679095': ['getTransferAddressUser(address)'], + '0x0bf77989': ['debug_coinbaseTxSha(bytes,uint256)'], + '0x107b1f8c': [ + 'debug_verifyShare(bytes,uint256[],uint256[],bytes,uint256,uint256)' + ], + '0x14ca5398': [ + 'submitFullBlock(bytes,uint256[],uint256[],bytes,bytes,bytes,bytes,bytes,bytes,uint256)' + ], + '0x2850c72a': ['debug_extendCoinbaseTxOutput(uint256,uint256)'], + '0x3e2ee39e': ['debug_resetuser()'], + '0x43c33ac9': ['submitShares(uint256,uint256)'], + '0x579d5fba': ['debug_hash3Int(uint256)'], + '0x83cd5e13': ['debug_multiplehash(uint256,uint256)'], + '0x88702cc4': ['debug_hash256Double(bytes)'], + '0x88f6d5a4': ['constructCoinbaseTx(uint256,uint256)'], + '0x9559225c': ['debug_hash3Byte(bytes)'], + '0x99d1d002': ['debug_blockHeaderMerkle(bytes)'], + '0xa68393a2': ['debug_getCoinbaseTxOutputLen(uint256)'], + '0xad076bfc': ['debug_hash256Double_concat(bytes,bytes,bytes)'], + '0xb2b0aefb': [ + 'verifyPendingShares(uint256[],uint256[],uint256,uint256[],uint256[],bytes,bytes,uint256)' + ], + '0xed47ca94': [ + 'debug_verifySharesTreeSubmission(uint256[],uint256[],uint256,uint256,uint256,uint256)' + ], + '0xf16fa954': ['debug_resizeRealPrefix(uint256,uint256)'], + '0x6104464f': ['previousPublishedVersion()'], + '0x6737c877': ['setAttributes(bytes)'], + '0x884179d8': ['ipfsAttributeLookup(address)'], + '0x9352fad2': ['run(string)'], + '0x98e7ea43': ['reward(uint32[],address[])'], + '0x0456860a': ['acceptAtCommunity(address,uint256)'], + '0x0a90c704': [ + 'createCommunity(string,string,string,string,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bool,uint256,uint256,uint256)' + ], + '0x197f3c29': ['notLike(address)'], + '0x1b7db340': ['sysAdmin()'], + '0x2925ffc2': ['modifyCommunityTaxes(uint256,uint256,uint256,uint256)'], + '0x33b85b73': [ + 'modifyCommunityRates(uint256,uint256,uint256,uint256,uint256,bool,uint256,uint256,uint256)' + ], + '0x3500a48d': ['transferCommunityCommune(uint256,address)'], + '0x36b33415': ['modifyMemberInfo(string,string,string,string)'], + '0x47c66140': ['getProposalVotes(uint256)'], + '0x519a078f': ['getCommunitybyIndex(uint256)'], + '0x526b91d1': ['transferSysAdmin(address)'], + '0x52ea5667': ['getMPbyIndex(uint256)'], + '0x67a09c23': ['payment(address,uint256)'], + '0x71efeff1': ['transferCommunityBank(uint256,address)'], + '0x721a1f57': ['endorseCredit(address,uint256,uint256)'], + '0x84e10a90': ['getTotals()'], + '0x8b343e8f': ['getMemberCredit(address)'], + '0x9431e412': ['getCommunityRates(uint256)'], + '0xa5496e60': ['newProposal(uint256,string,string,uint256,uint256)'], + '0xad71c687': ['registerSystem(string,string,string,string)'], + '0xb122a0ef': ['joinCommunity(uint256)'], + '0xbcabb54c': ['modifyCommunityInfo(uint256,string,string,string,string)'], + '0xbfb04c60': ['proposeAcceptanceAsMember(uint256)'], + '0xd21cbffc': ['getIfVoted(uint256,address)'], + '0xd95ab72d': ['getMemberWallet(address)'], + '0xdde8535f': ['getMemberStatus(address)'], + '0xe05e3028': ['getCommunityManagement(uint256)'], + '0xe465c465': ['like(address)'], + '0xee650248': ['vote(uint256,int8)'], + '0xf47efbca': ['getMemberLinks(address)'], + '0xf6df26d2': ['kickOutCommunity(address,uint256)'], + '0xf82c2301': ['resignFromCommunity()'], + '0xfba6651c': ['getCommunityTaxes(uint256)'], + '0xfcc101ba': ['getCommunityDescription(uint256)'], + '0x04029f23': ['_setBugFixVersion(string,uint32,bytes32,uint32)'], + '0x1f9ea25d': ['_setDepositAccount(address)'], + '0x49593f53': ['submit(string,uint64,uint32,uint32,bytes32)'], + '0x569aa0d8': ['getPlayerSubmissionFromCompetition(string,uint8,address)'], + '0x59a4669f': ['increaseJackpot(string)'], + '0x656104f5': ['_setOrganiser(address)'], + '0x70de8c6e': ['start(string,uint64,uint8,uint32)'], + '0x71bde852': [ + '_startNextCompetition(string,uint32,uint88,uint8,uint8,uint16,uint64,uint32,bytes32,uint32[])' + ], + '0x8d909ad9': ['getSeedAndState(string,address)'], + '0x8f30435d': ['getCompetitionValues(string,uint8)'], + '0x916dbc17': ['getPlayersFromCompetition(string,uint8)'], + '0xc91540f6': ['getCurrentCompetitionValues(string)'], + '0xfedc2a28': ['_rewardWinners(string,uint8,address[])'], + '0x224ccc49': ['chainLastMessageHash(bytes32)'], + '0x482f63b0': ['postMessage(bytes32,bytes)'], + '0x590a4595': ['createNewChain(bytes)'], + '0x858c7559': ['chainIDSeed()'], + '0x52c98e33': ['checkClaim(address,uint256,uint256)'], + '0x598aa1fc': ['checkEndorsement(address,uint256,address)'], + '0xa16c6a73': ['setClaim(uint256,uint256)'], + '0xa1bdd146': ['setEndorsement(address,uint256,uint256)'], + '0xa3a48785': ['unsetClaim(uint256)'], + '0xd7789a9f': ['unsetEndorsement(address,uint256)'], + '0xa9d0ddc7': ['addContractWithInfo(string,string)'], + '0xfa3559f7': ['attestToContract(uint256,bool,string)'], + '0x179fc99f': ['etherBalanceOf(address)'], + '0x3b0c197e': ['getBook()'], + '0x42da3b6b': ['getAmount(uint256,address)'], + '0x6dee2032': ['getOpenOrdersOf(address)'], + '0x836e4158': ['numOrdersOf(address)'], + '0x8ab1a5d4': ['sell(uint256,uint256,bool)'], + '0x8b7afe2e': ['contractBalance()'], + '0x8c3f914a': ['spread(bool)'], + '0x8f70ccf7': ['setTrading(bool)'], + '0x975289fd': ['getPriceVolume(uint256)'], + '0xc3434883': ['buy(uint256,uint256,bool)'], + '0xd07866d2': ['sizeOf(uint256)'], + '0xe1725c92': ['decimalPlaces()'], + '0xe2dede94': ['getNode(uint256,uint256)'], + '0xec44acf2': ['trading()'], + '0x11456b47': ['addName(string)'], + '0x14bfd6d0': ['admins(uint256)'], + '0x4deb68a3': ['auctionStart(bytes32,uint256,uint256)'], + '0x663e90d9': ['setBuyNowListing(bytes32,uint256,bool)'], + '0x71c79588': ['releaseName(bytes32)'], + '0x7c72e273': ['auctionFinalize(bytes32)'], + '0x9bdd7cdb': ['forceRelease(bytes32)'], + '0xbfcf63b0': ['claimEther(address,uint256)'], + '0xc415b95c': ['feeCollector()'], + '0xd7ad4931': ['buyNow(bytes32)'], + '0xe2acf75d': ['auctionCancel(bytes32)'], + '0xf747a5eb': ['auctionBid(bytes32)'], + '0x13831693': ['getLevitatingUnicorns(bytes32,uint64)'], + '0x50fe533b': ['getLevitatingBirds(bytes32,uint64)'], + '0xc9aa71b8': ['getFlyingUnicorns(bytes32,uint64)'], + '0xfeb50430': ['getLevitatingKittens(bytes32,uint64)'], + '0x78c2c849': ['burnUnicorns()'], + '0xbd8b452e': ['eatUnicorns()'], + '0x4b06fb28': ['eatUnicornsAlive()'], + '0x5b303e16': ['eatUnicorns(uint256)'], + '0xa1e95792': ['eatUnicornsAlive(uint256)'], + '0x10867877': ['eatUnicornWithoutCorn()'], + '0x4b269a00': ['withdraw(int256[])'], + '0x2c7cce9e': ['auctionMinPriceIncrease()'], + '0x801c334e': ['auctionIncreaseBid(bytes32)'], + '0x95e911a8': ['feeBase()'], + '0xb4628c8a': ['ENSRegistrar()'], + '0xddca3f43': ['fee()'], + '0xe765cb44': ['auctionMinPrice()'], + '0x69f30401': ['bid(address,uint256[],uint256[])'], + '0x6e67b803': ['bid3(address,uint256[],uint256[])'], + '0x21462191': ['bid3(address,uint8[],uint8[])'], + '0x92584d80': ['finalize(bytes32)'], + '0xf3bf93a0': ['forceReleaseAdmin(bytes32)'], + '0x5b372532': ['press()'], + '0x9f095e88': ['asdf()'], + '0xb0459d49': [ + 'LoanStandard(address,address,uint256,uint256,uint256,uint256,uint256)' + ], + '0xa2fb342d': ['lend(address,uint256)'], + '0xd334d75b': ['expireLoan()'], + '0xb7019744': ['payBack(address,uint256)'], + '0x60aeac18': ['neverPayBack()'], + '0xaad3ec96': ['claim(address,uint256)'], + '0x4c123019': ['tokenFallback(address,address,uint256,bytes)'], + '0xcb7acdd9': ['hola()'], + '0xacb6e9b1': ['testControlItemStoreNotRegistered()'], + '0xac767539': ['testFailItemStoreNotRegistered()'], + '0x1649cdcd': ['testGetItemStore()'], + '0xe41cc093': ['getItemStore(bytes12)'], + '0x79ba5097': ['acceptOwnership()'], + '0x58e9b208': ['Controlled()'], + '0x30311898': ['Account(address)'], + '0xce3f865f': ['collect(uint256)'], + '0x55ee6afb': ['Wallet(address,address)'], + '0x2268a358': ['changeMultisig(address)'], + '0xea2c23da': ['createAccounts(uint256)'], + '0xa5e8c5d6': ['setVoteRight(address,uint256)'], + '0x9cc0c5e3': ['experty_io()'], + '0x5022e940': ['experty()'], + '0xb7090bb5': ['www_experty_io()'], + '0x0edfb0f7': ['withdrawCollectedInterest()'], + '0x21856b36': ['interestOwed()'], + '0x402d8883': ['repay()'], + '0x4665096d': ['expiration()'], + '0x58f33e98': ['isTaker(address)'], + '0x5eda5b9a': ['interestCollected()'], + '0x6cbdb7d0': ['takers(uint256)'], + '0x7c3a00fd': ['interestRate()'], + '0xaa8116be': ['fundedPrincipal()'], + '0xbc99c8be': ['takerAddressAt(uint256)'], + '0xc41f4cc0': ['takerStatus(address)'], + '0xc537a210': ['principalOutstanding()'], + '0xc5ebeaec': ['borrow(uint256)'], + '0xcb6da9da': ['takerCount()'], + '0xfb775b46': ['giver()'], + '0xe1a27ad3': ['needsAdministration()'], + '0xb6253539': ['needsInitialization()'], + '0xb6f98e53': ['needsAllowancePayment()'], + '0xb5931f7c': ['safeDiv(uint256,uint256)'], + '0x3a4faf7f': ['max64(uint64,uint64)'], + '0x36b1315c': ['min64(uint64,uint64)'], + '0x0c255c94': ['max256(uint256,uint256)'], + '0xb1e9292f': ['min256(uint256,uint256)'], + '0x1d3b9edf': ['times(uint256,uint256)'], + '0xf4f3bdc1': ['minus(uint256,uint256)'], + '0x66098d4f': ['plus(uint256,uint256)'], + '0x8afc3605': ['Ownable()'], + '0x04bbc255': ['isPricingStrategy()'], + '0x8e768288': ['isSane(address)'], + '0x18a4155e': ['calculatePrice(uint256,uint256,uint256,address,uint256)'], + '0x614cb904': ['isFinalizeAgent()'], + '0x82771c8e': ['isSane()'], + '0x0bf318a3': ['finalizeCrowdsale()'], + '0x96f47800': ['investInternal(address,uint128)'], + '0x32013ac3': ['preallocate(address,uint256,uint256)'], + '0x1a49803b': [ + 'investWithSignedAddress(address,uint128,uint8,bytes32,bytes32)' + ], + '0xef869443': ['investWithCustomerId(address,uint128)'], + '0x03f9c793': ['invest(address)'], + '0xf4869726': ['buyWithSignedAddress(uint128,uint8,bytes32,bytes32)'], + '0x99e9376c': ['buyWithCustomerId(uint128)'], + '0x7f7d711e': ['setRequireCustomerId(bool)'], + '0xed68ff2c': ['setRequireSignedAddress(bool,address)'], + '0xeac24932': ['setEarlyParicipantWhitelist(address,bool)'], + '0x6e50eb3f': ['setEndsAt(uint256)'], + '0xf3283fba': ['setMultisig(address)'], + '0x87612102': ['loadRefund()'], + '0x7c2e08a3': ['isMinimumGoalReached()'], + '0xa7ba44c3': ['isFinalizerSane()'], + '0x062b01ce': ['isPricingSane()'], + '0x1865c57d': ['getState()'], + '0x8d51faec': ['setOwnerTestValue(uint256)'], + '0x4551dd59': ['isCrowdsale()'], + '0x9d3c663f': ['isBreakingCap(uint256,uint256,uint256,uint256)'], + '0xd5d09021': ['isCrowdsaleFull()'], + '0x4d7edc15': ['assignTokens(address,uint256)'], + '0xeefa597b': ['isToken()'], + '0x09ae9452': ['PreICOProxyBuyer(address,uint256,uint256,uint256,uint256)'], + '0x21df0da7': ['getToken()'], + '0xbaeb91ae': ['invest(uint128)'], + '0x1fb00cdc': ['investWithId(uint128)'], + '0xdbb833df': ['investWithoutId()'], + '0xd4607048': ['buyForEverybody()'], + '0xdde070e8': ['getClaimAmount(address)'], + '0x3c67b6b7': ['getClaimLeft(address)'], + '0xd1058e59': ['claimAll()'], + '0x4042b66f': ['weiRaised()'], + '0xf6368f8a': ['transfer(address,uint256,bytes,string)'], + '0x3ef13367': ['flushTokens(address)'], + '0x083c6323': ['endBlock()'], + '0x7055060f': ['bulkStoreHeader(bytes)'], + '0x3115b4c4': ['bulkStoreHeader(bytes,uint256)'], + '0x01725a0b': ['demo()'], + '0xdce5c757': ['cool()'], + '0x939a79ac': ['demo(string)'], + '0x071bd079': ['demo(uint256)'], + '0x43b1c529': ['getSig(string,bytes4)'], + '0x1d03842f': ['onePlus(uint256)'], + '0x42966c68': ['burn(uint256)'], + '0x457f4d41': ['hammer()'], + '0x58292a3d': ['emission(uint256)'], + '0xd31fdffd': ['setHammer(address)'], + '0xb8c48f8c': ['setInitialParent(int256,int256,int256)'], + '0x08f75d17': ['move_reveal(bytes32,uint8)'], + '0x2e9c91a8': ['getStartParams(bytes32)'], + '0x497777d5': ['collect(bytes32)'], + '0x5598c576': ['reveal_move(bytes32,uint8,bytes32,bytes32)'], + '0x5cf34bcf': ['getMinFee()'], + '0x6a7bf76a': [ + 'create_game(bytes32,uint32,uint32,uint8,uint16,uint8,address,uint256,bool)' + ], + '0x73931bbf': ['getGame(bytes32)'], + '0x87287fd7': ['setMinFee(uint8)'], + '0x89d61d77': ['setOrganizer(address)'], + '0xa361b184': ['move(bytes32,bytes32)'], + '0xe4083daf': [ + 'create_game_invite(bytes32,address,uint32,uint32,uint8,uint16,uint8,address,uint256)' + ], + '0xf223446c': [ + 'start_game(bytes32,uint8,uint32,uint16,address,uint256,uint8)' + ], + '0x3a4de190': ['repost(bytes32)'], + '0x4b91ab35': ['unfollow(bytes32)'], + '0x66e34dc6': ['registerUsername(bytes32)'], + '0x699f200f': ['addresses(bytes32)'], + '0x7e93163b': ['tip(bytes32,bytes32)'], + '0x8ee93cf3': ['post(string)'], + '0x9d7eb375': ['updateUserDetails(string)'], + '0xa66b7748': ['follow(bytes32)'], + '0xa83b1e21': ['reply(string,bytes32)'], + '0xd38d0f28': ['updateSplit(uint256)'], + '0xee91877c': ['usernames(address)'], + '0xf59823cf': ['Congress(uint256,uint256,int256)'], + '0xb3bb9b58': ['LiquidDemocracy(address,string,uint256)'], + '0x6dd7d8ea': ['vote(address)'], + '0xc0d061f4': ['execute(address,uint256,bytes32)'], + '0xf2ba18ed': ['calculateVotes()'], + '0xb154224e': ['TimeLockMultisig(address,address[],uint256)'], + '0x15bef9cd': ['changeMembers(address[],bool)'], + '0xc01f9e37': ['proposalDeadline(uint256)'], + '0x159887d1': ['calculateFactor(uint256,uint256)'], + '0x7207c19f': ['MyToken(uint256)'], + '0x73e9f3e6': ['Crowdsale(address,uint256,uint256,uint256,address,address)'], + '0xfd6b7ef8': ['safeWithdrawal()'], + '0x9dbf0087': ['TokenERC20(uint256,string,string)'], + '0x79cc6790': ['burnFrom(address,uint256)'], + '0x7e4f6b95': ['MyAdvancedToken(uint256,string,string)'], + '0xbc0c868c': ['stocksOf(uint256)'], + '0x8262fc7d': ['addrBalance(address)'], + '0x6dfe869b': ['Preallocation(address,uint256)'], + '0xa357880d': ['whitelistedAddrs(address)'], + '0x54da5393': ['Utils()'], + '0xe4edf852': ['transferManagement(address)'], + '0xc8c2fe6c': ['acceptManagement()'], + '0x67cc4882': ['TokenHolder()'], + '0x21e6b53d': ['transferTokenOwnership(address)'], + '0x38a5e016': ['acceptTokenOwnership()'], + '0x85d5e631': ['disableTokenTransfers(bool)'], + '0x205c2878': ['withdrawTo(address,uint256)'], + '0x1608f18f': ['disableTransfers(bool)'], + '0x29a00e7c': ['calculatePurchaseReturn(uint256,uint256,uint32,uint256)'], + '0x49f9b0f7': ['calculateSaleReturn(uint256,uint256,uint32,uint256)'], + '0x59f8714b': ['changeableTokenCount()'], + '0x503adbf6': ['changeableToken(uint16)'], + '0x9b99a8e2': ['reserveTokenCount()'], + '0x4e2280c4': ['clearQuickBuyPath()'], + '0x9396a7f0': ['getQuickBuyPathLength()'], + '0xabeb5f9f': ['hasQuickBuyEtherToken()'], + '0xb3a9afb7': ['getQuickBuyEtherToken()'], + '0x0b3f191a': ['disableChanging(bool)'], + '0x88c0b8a7': ['setChangeFee(uint32)'], + '0x48d6ca55': ['getChangeFeeAmount(uint256)'], + '0x7758c4f8': ['quickBuy(uint256)'], + '0x74214c92': ['StandardERC223Token(uint256)'], + '0x16279055': ['isContract(address)'], + '0x03ba3a88': ['notifyContract(address,address,uint256,bytes)'], + '0x27e235e3': ['balances(address)'], + '0x3f4ba83a': ['unpause()'], + '0x5c658165': ['allowed(address,address)'], + '0x5c975abb': ['paused()'], + '0x8456cb59': ['pause()'], + '0xa0821be3': ['availableBalance(address)'], + '0xe9ed8667': ['balanceLocks(address)'], + '0xf339c504': ['lockBalance(uint256)'], + '0x1d4d691d': [ + 'fill(address,uint256,address,address,uint256,address,uint256,uint256,uint8,bytes32,bytes32)' + ], + '0x20158c44': ['fills(bytes32)'], + '0x66a26419': [ + 'cancel(address,uint256,address,address,uint256,address,uint256,uint256,uint8,bytes32,bytes32)' + ], + '0x673a5ae3': [ + 'Sale(address,address,uint256,string,uint8,string,uint256,uint256,uint256,uint256,uint256,uint256)' + ], + '0x94b5255b': ['distributePreBuyersRewards(address[],uint256[])'], + '0x555c4758': [ + 'distributeTimelockedTokens(address[],uint256[],uint256[],uint256[])' + ], + '0x8b9b1cbd': ['withdrawRemainder()'], + '0xa2b40d19': ['changePrice(uint256)'], + '0x98b9a2dc': ['changeWallet(address)'], + '0x5437f098': ['changeStartBlock(uint256)'], + '0x82222674': ['changeEndBlock(uint256)'], + '0x00a53598': ['emergencyToggle()'], + '0xe382b854': ['_setPackedTimestamp(bytes20,uint256)'], + '0x31861423': ['_deleteAllPackedRevisionTimestamps(bytes20)'], + '0x4ae6ab70': ['_getRevisionTimestamp(bytes20,uint256)'], + '0x4e57d27d': ['_getAllRevisionTimestamps(bytes20)'], + '0xc5cd3bec': ['getRevisionTimestamp(bytes20,uint256)'], + '0x261c42dd': ['getAllRevisionTimestamps(bytes20)'], + '0x50035eb8': ['getInUse(bytes20)'], + '0xf25e7bb4': ['getState(bytes20)'], + '0x634bc7db': ['create(bytes32,bytes32)'], + '0xb0673d57': ['getItemStore(bytes32)'], + '0x455ea98c': ['getInUse(bytes32)'], + '0xa6c09381': ['_setPackedTimestamp(bytes32,uint256)'], + '0x001a4f5e': ['createNewRevision(bytes32,bytes32)'], + '0x032b0824': ['updateLatestRevision(bytes32,bytes32)'], + '0x1b5710ed': ['_deleteAllPackedRevisionTimestamps(bytes32)'], + '0x165ffd10': ['restart(bytes32,bytes32)'], + '0x2ab7d104': ['_getAllRevisionIpfsHashes(bytes32)'], + '0xf50f1ba9': ['_getRevisionTimestamp(bytes32,uint256)'], + '0xcd22f418': ['_getAllRevisionTimestamps(bytes32)'], + '0x09648a9d': ['getState(bytes32)'], + '0x72cef34b': ['getRevisionIpfsHash(bytes32,uint256)'], + '0x7c699401': ['getAllRevisionIpfsHashes(bytes32)'], + '0x05664cea': ['getRevisionTimestamp(bytes32,uint256)'], + '0x8cb3728c': ['getAllRevisionTimestamps(bytes32)'], + '0x93c8b0d4': ['addForeignChild(bytes32,bytes32)'], + '0x4048c449': ['getParent(bytes32)'], + '0x31230e23': ['createWithParent(bytes32,bytes32,bytes32)'], + '0x2eaad0b0': ['_getAllChildren(bytes32)'], + '0xa09e3d0a': ['getChildCount(bytes32)'], + '0x958d1725': ['getChild(bytes32,uint256)'], + '0xfbdf0378': ['getAllChildren(bytes32)'], + '0x9643aef4': ['testControlCreateWithParentSameNonce()'], + '0x8dc1c44d': ['testFailCreateWithParentSameNonce()'], + '0x2aaf1685': ['testControlCreateWithParentSameItemId()'], + '0xa121d8df': ['testFailCreateWithParentSameItemId()'], + '0x64d0d64c': ['testControlCreateWithParentNotInUse()'], + '0x75f208bf': ['testFailCreateWithParentNotInUse()'], + '0x473ae9fe': ['testCreateWithParent()'], + '0x59e1667d': ['testControlCreateWithForeignParentNotInUse()'], + '0xca615662': ['testFailCreateWithForeignParentNotInUse()'], + '0x121f2081': ['testCreateWithForeignParent()'], + '0xfc13a76a': ['testFailAddForeignChildNotInUse()'], + '0x4e6c61aa': ['testFailAddForeignChildNotChild()'], + '0x590ba734': ['getUint(int256)'], + '0x732e632e': ['assemblyTest()'], + '0x215de48a': ['getParentCount(bytes32)'], + '0x33ac7256': ['getParent(bytes32,uint256)'], + '0x32c4903d': ['getAllParents(bytes32)'], + '0x6844ab43': ['testControlCreateSameItemId()'], + '0x343f40a0': ['testFailCreateSameItemId()'], + '0x9d9c9a0d': ['testControlCreateWithParentParentSameItemId()'], + '0x3ce54ac3': ['testFailCreateWithParentParentSameItemId()'], + '0xbca9e546': ['testControlCreateWithParentParentNotInUse()'], + '0xbab9fc63': ['testFailCreateWithParentParentNotInUse()'], + '0x30840c31': ['testControlCreateWithParentForeignNotInUse()'], + '0x3d6b0cb7': ['testFailCreateWithParentForeignNotInUse()'], + '0x0de04691': ['testCreateWithParentForeign()'], + '0x3d608572': ['testControlCreateWithParentsSameItemId()'], + '0xba907b7e': ['testFailCreateWithParentsSameItemId()'], + '0x015689c6': ['testControlCreateWithParentsParentSameItemId()'], + '0x28e47076': ['testFailCreateWithParentsParentSameItemId0()'], + '0x8a7ef3df': ['testFailCreateWithParentsParentSameItemId1()'], + '0x041dd3f6': ['testControlCreateWithParentsParentNotInUse()'], + '0x46d47cdf': ['testFailCreateWithParentsParentNotInUse0()'], + '0x89a45223': ['testFailCreateWithParentsParentNotInUse1()'], + '0x44019db3': ['testCreateWithParents()'], + '0xbf0d44d5': ['testControlCreateWithParentsForeignNotInUse()'], + '0x0ee8e338': ['testFailCreateWithParentsForeignNotInUse0()'], + '0xdddb983b': ['testFailCreateWithParentsForeignNotInUse1()'], + '0xf94497fe': ['testCreateWithParentsForeign0()'], + '0xf6951038': ['testCreateWithParentsForeign1()'], + '0x26d3e889': ['testCreateWithParentsForeign2()'], + '0x98f69aeb': ['_addChildToParent(bytes32,bytes32)'], + '0x7fdd458d': ['createWithParents(bytes32,bytes32,bytes32[])'], + '0xa300eadf': ['_getAllParents(bytes32)'], + '0xa172045d': ['PUSH1()'], + '0x22a7118d': ['buyTokensFor(uint256,address,uint256,bool)'], + '0x9e1a00aa': ['sendTo(address,uint256)'], + '0x00b172d7': ['buyTokensForProposal(uint256,address)'], + '0x4913732e': ['buyTokenFromModerator(uint256,address,uint256,bool)'], + '0xdb6a3652': ['addOrder(address,uint256)'], + '0x9645337a': ['removeOrder(uint256)'], + '0x709ef231': ['sellTokens(uint256,uint256,uint256)'], + '0x868eb6bf': ['removeOrders(uint256,uint256)'], + '0x02d05d3f': ['creator()'], + '0x1f21f9af': ['marketMaker()'], + '0x28c05d32': ['shortSell(uint8,uint256,uint256)'], + '0x46280a80': ['sell(uint8,uint256,uint256)'], + '0x476343ee': ['withdrawFees()'], + '0x59acb42c': ['createdAtBlock()'], + '0xa157979c': ['netOutcomeTokensSold(uint256)'], + '0xb0011509': ['calcMarketFee(uint256)'], + '0xcb4c86b7': ['funding()'], + '0xe274fd24': ['eventContract()'], + '0xf6d956df': ['buy(uint8,uint256,uint256)'], + '0xfbde47f6': ['FEE_RANGE()'], + '0x27793f87': ['outcome()'], + '0x717a195a': ['setOutcome(int256)'], + '0x7e7e4b47': ['getOutcome()'], + '0xc623674f': ['ipfsHash()'], + '0xc65fb380': ['isSet()'], + '0xccdf68f3': ['isOutcomeSet()'], + '0x4e2f220c': ['createCentralizedOracle(bytes)'], + '0x5ea194a3': ['createScalarEvent(address,address,int256,int256)'], + '0x8d1d2c21': ['categoricalEvents(bytes32)'], + '0x9897e8a5': ['scalarEvents(bytes32)'], + '0x9df0c176': ['createCategoricalEvent(address,address,uint8)'], + '0xeac449d9': ['revoke(address,uint256)'], + '0x7abeb6a0': ['createMarket(address,address,uint24)'], + '0x42958b54': ['issue(address[],uint256)'], + '0x061a85c7': ['forwardedOracle()'], + '0x0853f7eb': ['frontRunnerPeriod()'], + '0x0f3e9438': ['frontRunner()'], + '0x1a39d8ef': ['totalAmount()'], + '0x1a4f5b67': ['isFrontRunnerPeriodOver()'], + '0x1ff14311': ['totalOutcomeAmounts(int256)'], + '0x466ae314': ['forwardedOutcomeSetTimestamp()'], + '0x72b8de14': ['isChallengePeriodOver()'], + '0x739b8c48': ['setForwardedOutcome()'], + '0x8ef8125e': ['frontRunnerSetTimestamp()'], + '0x984a470a': ['forwardedOutcome()'], + '0x9d89e7d4': ['challengeAmount()'], + '0x9df4d0fe': ['isChallenged()'], + '0x9f0de490': ['challengeOutcome(int256)'], + '0xb2016bd4': ['collateralToken()'], + '0xc427af9b': ['outcomeAmounts(address,int256)'], + '0xd84d2a47': ['spreadMultiplier()'], + '0xf3f480d9': ['challengePeriod()'], + '0xf7553098': ['voteForOutcome(int256,uint256)'], + '0xce70faec': [ + 'createUltimateOracle(address,address,uint8,uint256,uint256,uint256)' + ], + '0x91e8609f': ['getParentId(bytes32,uint256)'], + '0xb4a39dfd': ['getChildId(bytes32,uint256)'], + '0x5de4381b': ['_addItemToParent(bytes32,bytes32)'], + '0x059417da': ['_getAllParentIds(bytes32)'], + '0xeca85419': ['_getAllChildIds(bytes32)'], + '0xaa0372e7': ['getItem(bytes32)'], + '0xdcf946c2': ['getAllParentIds(bytes32)'], + '0x1733043f': ['getAllChildIds(bytes32)'], + '0x025e7c27': ['owners(uint256)'], + '0x0cbe1eb8': ['USDDOWNLOADPRICE()'], + '0x11851b5e': ['BOARD_3()'], + '0x1e9be6a1': ['usdEthPrice()'], + '0x3c540687': ['txCount()'], + '0x436da5fe': ['transferLog(uint256)'], + '0x44fddeb7': ['BLOCKAPPS()'], + '0x52aaead8': ['priceLastUpdated()'], + '0x6695b592': ['stemPriceInWei()'], + '0x7dc0d1d0': ['oracle()'], + '0x7fa28d75': ['transferRightIfApproved(address,bytes32)'], + '0x83db0680': ['TOTALSHARES()'], + '0x977eda79': ['txLog(uint256)'], + '0xb9488546': ['ownersCount()'], + '0xcc445611': ['purchase(bytes32)'], + '0xda60d7e8': ['BOARD_2()'], + '0xe347a773': ['shares(bytes32,bytes32)'], + '0xe3d33fc9': ['transferCount()'], + '0xe80d47dd': ['USDSTEMPRICE()'], + '0xf267035f': ['BOARD_1()'], + '0xf7701b47': ['downloadPriceInWei()'], + '0xf851a440': ['admin()'], + '0x8a252194': ['betGanjilGenap(bool)'], + '0xa89171e3': ['checkHasilBet(address)'], + '0xdd365b8b': ['pwn()'], + '0x0537665d': ['setOutcome()'], + '0x28da850b': ['buyAllOutcomes(uint256)'], + '0x69c19d4c': ['getOutcomeTokenDistribution(address)'], + '0x6fb1edcd': ['sellAllOutcomes(uint256)'], + '0x7dc8f086': ['getOutcomeCount()'], + '0x8abe59ea': ['outcomeTokens(uint256)'], + '0xad0b2bec': ['redeemWinnings()'], + '0xe96e5950': ['getEventHash()'], + '0xf21a1468': ['getOutcomeTokens()'], + '0x561cce0a': ['LONG()'], + '0x6e5452fe': ['OUTCOME_RANGE()'], + '0xa384d6ff': ['lowerBound()'], + '0xa871da91': ['SHORT()'], + '0xb09ad8a0': ['upperBound()'], + '0x0a6fbb05': ['SetPass(bytes32)'], + '0x31fd725a': ['PassHasBeenSet(bytes32)'], + '0x6cd5c39b': ['deployContract()'], + '0xe79487da': ['checkInvariant()'] +}; diff --git a/interface/client/lib/thirdParty.js b/interface/client/lib/thirdParty.js new file mode 100644 index 0000000..26c109f --- /dev/null +++ b/interface/client/lib/thirdParty.js @@ -0,0 +1,19 @@ +// set spinner options +Meteor.Spinner.options = { + lines: 12, // The number of lines to draw + length: 0, // The length of each line + width: 4, // The line thickness + radius: 8, // The radius of the inner circle + corners: 1, // Corner roundness (0..1) + rotate: 0, // The rotation offset + direction: 1, // 1: clockwise, -1: counterclockwise + color: '#000', // #rgb or #rrggbb or array of colors + speed: 1.7, // Rounds per second + trail: 49, // Afterglow percentage + shadow: false, // Whether to render a shadow + hwaccel: false, // Whether to use hardware acceleration + className: 'spinner', // The CSS class to assign to the spinner + zIndex: 2e9, // The z-index (defaults to 2000000000) + top: '50%', // Top position relative to parent + left: '50%' // Left position relative to parent +}; diff --git a/interface/client/mistAPIBackend.js b/interface/client/mistAPIBackend.js new file mode 100644 index 0000000..6a23de9 --- /dev/null +++ b/interface/client/mistAPIBackend.js @@ -0,0 +1,155 @@ +/** +@module MistAPI Backend +*/ + +var allowedBrowserBarStyles = ['transparent']; + +/** +Filters a id the id to only contain a-z A-Z 0-9 _ -. + +@method filterId +*/ +var filterId = function(str) { + var newStr = ''; + var i; + for (i = 0; i < str.length; i += 1) { + if (/[a-zA-Z0-9_-]/.test(str.charAt(i))) { + newStr += str.charAt(i); + } + } + return newStr; +}; + +var sound = document.createElement('audio'); + +/** +The backend side of the mist API. + +@method mistAPIBackend +*/ +mistAPIBackend = function(event) { + var template = this.template; + var webview = this.webview; + var arg = event.args[0]; + + // console.trace('mistAPIBackend event', event); + + if (event.channel === 'setWebviewId') { + Tabs.update(template.data._id, { + $set: { webviewId: webview.getWebContents().id } + }); + } + + // Send TEST DATA + if (event.channel === 'sendTestData') { + var tests = Tabs.findOne('tests'); + + if (tests) { + web3.eth.getCoinbase(function(e, coinbase) { + webview.send('uiAction_sendTestData', tests.permissions, coinbase); + }); + } + } + + // SET FAVICON + if (event.channel === 'favicon') { + Tabs.update(template.data._id, { + $set: { + icon: Blaze._escape(arg || '') + } + }); + } + + // SET APPBAR + if (event.channel === 'appBar') { + var appBarClass = Blaze._escape(arg || ''); + + Tabs.update(template.data._id, { + $set: { + appBar: _.contains(allowedBrowserBarStyles, appBarClass) + ? appBarClass + : null + } + }); + } + if (event.channel === 'mistAPI_sound') { + sound.pause(); + sound.src = Blaze._escape('file://' + dirname + '/sounds/' + arg + '.mp3'); + sound.play(); + } + + // STOP HERE, IF BROWSER + if (template.data._id === 'browser') { + return; + } + + // Actions: -------- + + if (event.channel === 'mistAPI_setBadge') { + Tabs.update(template.data._id, { + $set: { + badge: arg + } + }); + } + + if (event.channel === 'mistAPI_menuChanges' && arg instanceof Array) { + arg.forEach(function(eventArg) { + var query; + + if (eventArg.action === 'addMenu') { + // filter ID + if (eventArg.entry && eventArg.entry.id) { + eventArg.entry.id = filterId(eventArg.entry.id); + } + + query = { $set: {} }; + + if (eventArg.entry.id) { + query.$set['menu.' + eventArg.entry.id + '.id'] = eventArg.entry.id; + } + + query.$set['menu.' + eventArg.entry.id + '.selected'] = !!eventArg.entry + .selected; + + if (!_.isUndefined(eventArg.entry.position)) { + query.$set['menu.' + eventArg.entry.id + '.position'] = + eventArg.entry.position; + } + if (!_.isUndefined(eventArg.entry.name)) { + query.$set['menu.' + eventArg.entry.id + '.name'] = + eventArg.entry.name; + } + if (!_.isUndefined(eventArg.entry.badge)) { + query.$set['menu.' + eventArg.entry.id + '.badge'] = + eventArg.entry.badge; + } + + Tabs.update(template.data._id, query); + } + + if (eventArg.action === 'selectMenu') { + var tab = Tabs.findOne(template.data._id); + + for (var e in tab.menu) { + if ({}.hasOwnProperty.call(tab.menu, e)) { + tab.menu[e].selected = e === eventArg.id; + } + } + Tabs.update(template.data._id, { $set: { menu: tab.menu } }); + } + + if (eventArg.action === 'removeMenu') { + var removeQuery = { $unset: {} }; + + removeQuery.$unset['menu.' + eventArg.id] = ''; + + Tabs.update(template.data._id, removeQuery); + } + + if (eventArg.action === 'clearMenu') { + Tabs.update(template.data._id, { $set: { menu: {} } }); + } + }); + } +}; diff --git a/interface/client/styles/animations.import.less b/interface/client/styles/animations.import.less new file mode 100644 index 0000000..8b218c2 --- /dev/null +++ b/interface/client/styles/animations.import.less @@ -0,0 +1,61 @@ +// Menu + +aside.sidebar { + ul li { + transition: transform 0.25s, height 0.25s, visibility 0.5s; + + &.ui-sortable-helper { + transition: none; + } + + button.slide-out { + transition: transform 0.2s ease-in-out; + } + + ul.sub-menu { + li { + transition: background 0.05s ease-in-out, height 0.25s ease-out, + opacity 0.25s ease-out; + } + .badge { + // ANIMATION + transition: max-width @animationSpeed; + } + } + } +} + +// Browser bar +.browser-bar { + .url-input { + transition: opacity 0.1s; + } +} + +.popup-windows { + position: relative; + perspective: 800px; + + .field-container { + transform-style: preserve-3d; + transition: transform 0.5s; + transition-timing-function: ease-out; + transition-timing-function: cubic-bezier(0, 1.125, 0.335, 1.65); + height: @gridHeight*1.5; + + & > * { + position: absolute; + left: @gridWidth*2; + top: -1 * @gridHeight; + backface-visibility: hidden; + } + + .password-repeat { + transform: rotateX(180deg); + } + + &.repeat-field { + transform: rotateX(180deg); + } + } +} diff --git a/interface/client/styles/browserbar.import.less b/interface/client/styles/browserbar.import.less new file mode 100644 index 0000000..ef2c05b --- /dev/null +++ b/interface/client/styles/browserbar.import.less @@ -0,0 +1,364 @@ +.browser-bar { + .display(flex); + position: absolute; + top: @gridHeight * 1.5; + left: @widthSideBar; + right: 0; + z-index: 3; + height: @gridHeight * 2; + font-family: @sourceSansPro; + + button.icon { + padding: @gridHeight / 4 @gridWidth / 4; + + &:focus { + border: 0; + color: @colorLinkFocus; + } + } + + .app-bar { + position: relative; + .display(flex); + flex-grow: 1; + margin: @gridHeight / 4 @gridWidth / 4; + padding: @gridHeight / 4 @gridWidth / 4; + background: #fff; //#F6F6F6; + // border-radius: 3px; + // box-shadow: 0 2px 0 rgba(0, 0, 0, 0.25); + height: @gridHeight*1.7; + overflow: hidden; + + // ANIMATION + transition: height 0.25s, box-shadow 0.5s; + + > .dapp-info, + > button { + color: #6691c2; + position: relative; + padding-left: 0; + margin-top: 1px; + max-width: 33%; + height: 21px; + font-family: @sourceSansPro; + font-size: @fontSizeSmall; + font-weight: 500; + line-height: 21px; + white-space: nowrap; + margin-top: -1px; + + &.has-icon { + padding-left: @gridWidth * 0.84; + } + + &:focus { + border-bottom: 0; + } + + &.dapp-info { + .dapp-shorten-text; + } + + .app-icon { + position: absolute; + top: 0; + left: 0; + width: 21px; + height: 21px; + border-radius: 50%; + -webkit-user-drag: none; + user-drag: none; + } + + .connect-button { + float: left; + margin-right: 8px; + text-transform: uppercase; + } + .connect-button, + .dapp-info span { + line-height: 21px; + display: inline-block; + } + + span.no-accounts { + background-image: url(/images/anonymous-icon.png); + background-size: cover; + background-position: 50%; + width: 21px; + height: 21px; + display: inline-block; + border-radius: 50%; + } + } + + > form { + position: relative; + flex-grow: 1; + height: @gridHeight; + + .url-input { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0; + margin: 0; + width: 100%; + max-width: none; + background: transparent; + border: none; + text-align: center; + color: @colorLinkBlur; + opacity: 0; + transform: translateX(-20px) translateZ(0); + font-size: 80%; + font-family: @sourceSansPro; + font-weight: 400; + transition: opacity 0.2s ease-in-out; + line-height: @gridHeight; + z-index: 10; + + &:focus { + color: @colorLinkActive; + opacity: 1; + } + + &:focus + .url-breadcrumb, + &:hover + .url-breadcrumb { + opacity: 0; + word-spacing: -4px; + } + } + + .url-breadcrumb { + color: lighten(@colorLinkBlur, 40%); + background-color: #fff; + opacity: 1; + font-size: 80%; + text-align: center; + font-weight: 400; + transition: opacity 0.2s ease-in-out, word-spacing 0.1s ease-in-out 0.1s; + line-height: @gridHeight; + height: @gridHeight; + overflow: hidden; + z-index: 1; + + span { + color: @colorLinkBlur; + } + } + + &:hover > .url-input { + opacity: 1; + transition: opacity 0.2s ease-in-out 0.1s; + } + + &:hover > .url-breadcrumb { + opacity: 0; + word-spacing: -3px; + transition: opacity 0.2s ease-in-out 0.1s, word-spacing 0.2s ease-in-out; + } + } + + div.dapp-info, + div.accounts, + div.url { + display: none; + position: absolute; + top: @gridHeight * 2; + left: 0; + right: 0; + bottom: 0; + padding: @gridHeight / 2 @gridWidth / 4 @gridHeight * 3; + margin: 0 @gridWidth / 4 0; + border-top: solid 1px #bdb6b6; + } + + div.accounts { + .message { + flex-grow: 1; + padding: @gridHeight / 2 @gridWidth / 2 0 0; + + h3 { + font-size: @fontSizeLarge; + text-transform: none; + color: #4a4a4a; + font-weight: 400; + + em { + font-weight: 700; + } + } + } + + .dapp-account-list { + min-width: @gridWidth * 10; + } + + .bar-actions { + display: flex; + justify-content: flex-end; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: @gridHeight * 3; + padding-top: @gridHeight; + + button { + display: inline-block; + font-size: 100%; + font-weight: 500; + text-transform: uppercase; + font-family: @sourceSansPro; + padding: @gridHeight / 4 @gridWidth / 2; + line-height: @gridHeight; + } + + button.cancel { + font-weight: 300; + } + } + } + } + + &.url-bar-transparent { + button.reload, + button.back { + display: none; + } + + button.icon-close { + width: @gridWidth; + padding: 0; + } + + .app-bar { + margin-left: @gridWidth / 2; + margin-right: @gridWidth / 2; + } + } +} +.linux .browser-bar { + top: 0; + &.url-bar-transparent { + top: @gridHeight * 1.5; + } +} + +.loading { + .url-input { + .color-pulse; + opacity: 1 !important; + } + .url-breadcrumb { + visibility: hidden; + word-spacing: -3px; + transition: word-spacing 0.5s ease-in-out; + } + .reload { + .rotating; + } +} + +.color-pulse { + animation-name: color-pulse; + animation-duration: 0.5s; + animation-iteration-count: infinite; + animation-timing-function: linear; + background: linear-gradient( + to left, + darken(@colorLinkActive, 30%) 0, + saturate(@colorLinkActive, 100%), + darken(@colorLinkActive, 30%) + ) !important; + background-size: 200px !important; + background-repeat: repeat-x; + -webkit-background-clip: text !important; + -webkit-text-fill-color: transparent; +} + +@keyframes color-pulse { + 0% { + transform: scale(0.992) translateZ(0); + opacity: 0.7; + background-position-x: 0px; + } + 50% { + transform: scale(1) translateZ(0); + opacity: 1; + } + 100% { + transform: scale(0.992) translateZ(0); + opacity: 0.7; + background-position-x: -200px; + } +} + +@colorBlockchain: #c3d825; + +.color-ping { + animation-name: color-ping; + animation-duration: 12s; + animation-iteration-count: infinite; + animation-timing-function: ease-out; + background-image: linear-gradient( + to top, + saturate(@colorLinkActive, 100%), + @colorGrayDark + ) !important; + background-size: 150px 150px; + background-position-y: 0; + + -webkit-background-clip: text !important; + -webkit-text-fill-color: transparent; +} + +@keyframes color-ping { + 0% { + transform: scale(1) translateZ(0); + background-position-y: 0; + } + 5% { + transform: scale(0.95) translateZ(0); + background-position-y: 30px; + } + 100% { + background-color: @colorGrayDark; + transform: scale(1) translateZ(0); + background-position-y: 150px; + } +} + +.rotating { + animation-name: rotating; + animation-duration: 0.5s; + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +@keyframes rotating { + 0% { + transform: rotate(0deg) translate3d(0, 0, 0); + } + 100% { + transform: rotate(-180deg) translate3d(0, 1px, 0); + } +} + +@media screen and (max-width: 960px) { + .browser-bar .accounts { + width: 0; + text-overflow: clip; + padding-left: @gridWidth * 0.75; + } +} + +@media screen and (max-width: 800px) { + .browser-bar div.dapp-info { + width: 0; + text-overflow: clip; + } +} diff --git a/interface/client/styles/constants.import.less b/interface/client/styles/constants.import.less new file mode 100644 index 0000000..626d84b --- /dev/null +++ b/interface/client/styles/constants.import.less @@ -0,0 +1,25 @@ +@widthSideBar: 78px; + +@colorLinkActive: #4a90e2; +@colorLinkBlur: #494949; +@colorLinkFocus: lighten(@colorLinkBlur, 8%); + +@colorGrey: #666; + +@shadowStandard: -1px 0 4px rgba(0, 0, 0, 0.2); + +// FONTS +@sourceSansPro: 'Source Sans Pro', 'Helvetica Neue', 'Helvetica', Arial, + Sans-serif; +@fontSizeTiny: 8px; +@fontSizeSmall: 12px; +@fontSizeNormal: 14px; +@fontSizeLarge: 18px; + +// Platform specifics +// Mac OSX +@colorOSBackgroundFocus: #d2d2d2; +@colorOSBackgroundBlur: #f6f6f6; + +// Windows +// @colorOSBackgroundFocus windows F0F0F0 diff --git a/interface/client/styles/elements.import.less b/interface/client/styles/elements.import.less new file mode 100644 index 0000000..6f21ab5 --- /dev/null +++ b/interface/client/styles/elements.import.less @@ -0,0 +1,41 @@ +.red { + color: @colorError; +} +.gree { + color: @colorGreen; +} +.blue { + color: @colorBlue; +} + +img { + transition: opacity @animationSpeed / 2; + + &.loading { + opacity: 0; + } +} + +ul.no-bullets { + margin: 0; + padding: 0; + list-style: none; + word-wrap: break-word; + + li { + margin: 0; + margin-bottom: @defaultMargin / 2; + + strong { + font-weight: 400; + } + } +} + +.danger { + display: inline-block; + padding: 1px 2px; + border-radius: 3px; + color: @colorWhite; + background-color: @colorError; +} diff --git a/interface/client/styles/importAccount.import.less b/interface/client/styles/importAccount.import.less new file mode 100644 index 0000000..3de4a63 --- /dev/null +++ b/interface/client/styles/importAccount.import.less @@ -0,0 +1,303 @@ +.import-account { + display: flex; + flex-direction: column; + height: 100%; + position: relative; + // background: lighten(@colorOSBackgroundFocus, 10%); + + .main-content { + z-index: 1; + flex: 1 100%; + + h1 { + margin: @gridHeight*2 0 @gridHeight / 2; + } + + .description { + font-weight: 500; + padding-bottom: @gridHeight; + } + + .col { + padding: 0; + } + + button, + a.button { + display: block; + text-transform: uppercase; + font-weight: 500; + color: @colorLinkActive; + } + + p { + margin: 0; + padding: @gridHeight 0; + font-size: 90%; + } + + .onboarding-start { + padding: @gridHeight @gridWidth @gridHeight @gridWidth * 10; + background-image: url('/images/onboarding-logo-metal.png'); + background-repeat: no-repeat; + background-position-y: @gridHeight*4; + background-size: 255px 257px; + + button, + a.button { + font-size: 110%; + text-align: left; + } + } + + .dropable { + display: block; + padding: @gridHeight*4 @gridWidth; + margin: @gridHeight 0; + background: lighten(@colorLinkActive, 30%); + border: dashed 3px @colorLinkActive; + border-radius: 3px; + text-align: center; + font-size: 150%; + color: @colorLinkActive; + + &.active { + transform: scale(1.05) !important; + } + } + + .dapp-block-button { + margin: 0 auto; + background-color: transparent; + border: solid 1px @colorLinkActive; + font-size: 80%; + } + + input { + background-color: transparent; + border-bottom: dashed 1px; + } + + input.name { + text-align: center; + margin: @gridHeight / 2 0 @gridHeight; + } + + input[type='checkbox'] { + margin-left: 14px; + } + + input[type='checkbox'] + label { + position: relative; + top: -7px; + left: 9px; + opacity: 0.9; + } + + h6 { + opacity: 0.2; + margin: 0 0 @gridHeight / 2; + } + + .footer-buttons { + position: absolute; + bottom: @gridHeight*5; + + button { + position: absolute; + } + } + .right-align { + right: @gridWidth * 2; + } + + .col-left { + padding-right: @gridWidth; + p { + padding-bottom: 0; + } + } + } + + footer { + z-index: 2; + flex: 0 @gridHeight * 4; + height: @gridHeight * 4; + padding: @gridHeight / 2 @gridWidth / 4; + display: flex; + flex-flow: row wrap; + + progress { + width: 100%; + height: 2px; + background: transparent; + + &.stateBar { + position: absolute; + left: 8px; + right: 8px; + bottom: 45px; + width: auto; + opacity: 0.15; + + &::-webkit-progress-value { + background: #000; + } + } + } + + button { + position: relative; + top: -3px; + margin: 0 auto; + text-transform: uppercase; + font-weight: 500; + text-align: center; + display: block; + // width: 100%; + color: @colorLinkActive; + } + + .status { + flex: 1; + } + + div { + font-size: 80%; + font-weight: 500; + opacity: 0.5; + padding: 0 @gridWidth / 2; + } + } + + /* Screen transitions */ + + .onboarding-section { + padding: @gridHeight @gridWidth; + opacity: 0; + z-index: 0; + transition: opacity 0.2s ease-in-out; + position: absolute; + height: 100%; + width: 100%; + perspective: 500px; + + h4 { + margin-bottom: 0; + } + } + + .onboarding-start { + transition: opacity 0.8s, background-position-x 1.2s ease-in-out; + background-position-x: -200px; + p { + transform: translateX(300px); + transition: transform 0.6s ease-in-out; + } + } + + &.active-start .onboarding-start { + display: block; + opacity: 1; + background-position-x: @gridWidth; + z-index: 100; + transition-delay: 0.3s; + p { + transform: translateX(0); + transition-delay: 0.9s; + } + } + + .onboarding-import-account { + opacity: 0; + z-index: 0; + transition-duration: 0s; + .col-6.col-left { + transform: scale(0.9) translateZ(-10px); + transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; + } + } + + .dapp-identicon.dapp-icon-loading { + position: relative; + margin-left: -32px; + left: 50%; + } + + .onboarding-account .col-deposit { + text-align: center; + } + + .onboarding-password { + transition: none; + .col-6 { + transition: none; + transform: translateX(0); + } + .col-6.col-left { + opacity: 0; + transform: translateX(-100px); + } + } + + .onboarding-testnet, + .onboarding-account { + transition: opacity 0.4s ease-in-out; + + .col-6 { + transition: transform 0.2s ease-in-out, opacity 0.2s; + transform: translateX(0); + } + .col-6.col-left { + opacity: 0; + transform: translateX(-100px); + } + + .dapp-identicon.dapp-icon-loading { + margin-left: 0 auto; + } + + .you { + position: absolute; + font-weight: 600; + color: @colorLinkActive; + border: dashed @colorLinkActive 2px; + width: @gridWidth*2; + height: @gridWidth*2; + border-radius: 50%; + line-height: 60px; + top: 0; + left: @gridWidth*3; + z-index: -1; + } + + h6.address { + .allowSelection; + } + } + + &.active-import-account .onboarding-import-account, + &.active-password .onboarding-password, + &.active-testnet .onboarding-testnet, + &.active-account .onboarding-account { + display: block; + opacity: 1; + z-index: 100; + transition-delay: 0.1s; + .col-6 { + opacity: 1; + transform: translateX(0); + transition-delay: 0.2s; + } + .dapp-identicon { + transform: translateX(0); + } + } + + .onboarding-testnet, + &.active-account .onboarding-account { + transition-delay: 0; + transition-duration: 0; + transition: none; + } +} diff --git a/interface/client/styles/layout.import.less b/interface/client/styles/layout.import.less new file mode 100644 index 0000000..0cf7c18 --- /dev/null +++ b/interface/client/styles/layout.import.less @@ -0,0 +1,197 @@ +// Platform specifics +// Mac OSX +@colorOSBackgroundFocus: #f1f1f1; +@colorOSBackgroundBlur: #f6f6f6; + +@colorWinBackgroundFocus: #f0f0f0; +@colorWinBackgroundBlur: #f0f0f0; + +// WINDOWS +.win32 { +} + +// LINUX +// use only to solve OS conflicts +.linux { +} + +// MAC +.darwin, +.linux { + body { + background: @colorOSBackgroundFocus; + + &.app-blur { + background: @colorOSBackgroundBlur; + } + } + + .darwin { + aside { + top: @gridHeight * 2; + height: calc(100% - @gridHeight * 2); + } + + div.browser-bar { + top: @gridHeight * 1.5; + } + + .node-info { + top: @gridHeight; + } + } +} + +body, +html { + height: 100%; + padding: 0; + margin: 0; + overflow: hidden; + background: @colorWinBackgroundFocus; + + &.app-blur { + background: @colorWinBackgroundBlur; + } + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +h1, +h2, +h3, +p { + cursor: default; +} +pre { + .allowSelection; + cursor: text; +} +a h1, +a h2, +a h3, +a p, +button h1, +button h2, +button h3, +button p { + cursor: pointer; +} + +main { + z-index: 1; + position: absolute; + right: 0; + left: @widthSideBar; + top: 0; + bottom: 0; +} + +.drag-bar { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 30px; + -webkit-user-select: none; + -webkit-app-region: drag; +} + +// Fading Mist interface when sendTransactionConfirmationPopup is shown. +html { + &.has-blur-overlay { + pointer-events: none; + opacity: 0.7; + body { + -webkit-filter: blur(3px); + transform: scale(1.001) translate3d(0, 0, 0); + } + } +} + +.webview { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-left: 1px solid #e2e2e2; + background: #fff; + overflow: hidden; + opacity: 1; + z-index: 10; + + &.hidden { + z-index: 0; + } + + &.app-bar-transparent webview { + top: 0; + margin-top: 0; + } +} + +webview { + position: absolute; + top: @gridHeight * 1.5; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + margin-top: @gridHeight*2; + border-top: solid 1px rgba(0, 0, 0, 0.1); +} +.linux webview { + top: 0; +} + +// Scrollbars +// Reference: https://gist.github.com/devinrhode2/2573411 +aside.sidebar { + ::-webkit-scrollbar { + width: 7px; + background-color: rgba(0, 0, 0, 0); + -webkit-border-radius: 100px; + } + ::-webkit-scrollbar-thumb { + background-color: rgba(0, 0, 0, 0.09); + } + + ::-webkit-scrollbar-thumb:vertical { + background: rgba(0, 0, 0, 0.5); + -webkit-border-radius: 100px; + } + ::-webkit-scrollbar-thumb:vertical:active { + background: rgba(0, 0, 0, 0.61); + -webkit-border-radius: 100px; + background-clip: padding-box; + border: 2px solid rgba(0, 0, 0, 0); + } + + ::-webkit-scrollbar { + width: 10px; + } + + ::-webkit-scrollbar-thumb:vertical { + background-clip: padding-box; + border: 2px solid rgba(0, 0, 0, 0); + min-height: 30px; + } + + .submenu-container { + ::-webkit-scrollbar-thumb:vertical { + background: rgba(255, 255, 255, 0.5); + border: 2px solid rgba(0, 0, 0, 0); + background-clip: padding-box; + } + ::-webkit-scrollbar-thumb:vertical:active { + background: rgba(255, 255, 255, 0.61); + border: 2px solid rgba(0, 0, 0, 0); + background-clip: padding-box; + } + } +} diff --git a/interface/client/styles/menu.import.less b/interface/client/styles/menu.import.less new file mode 100644 index 0000000..378c6f6 --- /dev/null +++ b/interface/client/styles/menu.import.less @@ -0,0 +1,335 @@ +.gradient-tip { + content: ''; + display: block; + width: 100%; + height: @gridHeight * 0.75; + left: 0px; + position: absolute; + pointer-events: none; +} + +.sidePadding { + padding-left: 11px; + padding-right: 11px; +} + +// OS-specific styles +html.darwin aside.sidebar { + top: @gridHeight; + + &::after { + top: @gridHeight; + } + nav { + margin-top: @gridHeight; + } +} + +aside.sidebar { + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + + z-index: 4; + position: absolute; + top: @gridHeight / 2; + left: 0; + bottom: 0; + width: @widthSideBar; + + &::after { + .gradient-tip(); + top: @gridHeight / 2; + height: 8px; + background-image: linear-gradient( + to top, + rgba(241, 241, 241, 0) 0%, + rgba(241, 241, 241, 1) 100% + ); + } + + nav { + position: relative; + margin-top: @gridHeight / 2; + padding: 0 12px 0; + overflow: hidden; + min-height: 0; + &:hover { + overflow-y: auto; + } + + > ul { + margin: 6px 0; + padding: 0; + width: 54px; + + > li { + overflow: hidden; + margin-bottom: 14px; + transition-delay: 200ms; + + // draggable LI + &.ui-sortable-helper { + transform: scale(1.1); + .submenu-container { + display: none; + } + } + + &:hover { + .submenu-container { + opacity: 1; + visibility: visible; + } + } + + &.selected, + &:active, + &:hover, + &:focus { + button.main { + opacity: 1; + } + } + button.main { + height: 55px; + width: 54px; + display: block; + opacity: 0.6; + transition: 100ms opacity linear; + + &:focus { + outline: 0; + border: none; + } + + .icon-globe { + font-size: 32px; + text-align: center; + display: block; + background-color: #fff; + padding-top: 10px; + } + + img, + .icon-globe { + width: 54px; + height: 54px; + -webkit-mask-image: url('icons/mask-icon.svg'); + -webkit-mask-size: cover; + } + } + } + } + + .submenu-container { + width: 185px; + position: fixed; + left: 90px; + top: 120px; + border-radius: 5px; + z-index: 1000; + visibility: hidden; + opacity: 0; + cursor: default; + + transition: 150ms linear all, 1ms linear top; + transition-delay: 200ms; + transform: translateY(-11px); + // backdrop-filter: blur(0); + + &::before { + @tipSize: 8px; + content: ''; + margin-left: -@tipSize; + margin-top: 19px + 11px; + display: block; + position: absolute; + width: 0px; + height: @tipSize * 2.25; + border: 0px solid transparent; + border-width: @tipSize; + border-left: 0; + border-right-color: rgba(0, 0, 0, 0.78); + } + + button { + &:active, + &:focus { + transform: none; + border: none; + } + } + + section { + padding: 8px 0 0; + background-color: rgba(0, 0, 0, 0.78); + // backdrop-filter: blur(5px); + width: 100%; + border-radius: 5px; + color: #fff; + position: relative; + + header { + .sidePadding(); + padding-bottom: 11px; + } + span { + font-weight: 400; + } + a, + button { + color: #fff; + } + .badge { + font-size: 11px; + } + .remove-tab { + color: #a6a6a6; + position: absolute; + right: 5px; + top: 4px; + width: 14px; + &:hover { + color: #fff; + } + } + + .accounts { + margin-top: 11px; + button { + font-size: 12px; + font-weight: 300; + text-transform: uppercase; + width: 100%; + } + .connect { + background-color: #4c92e6; + border-radius: 4px; + padding: 3px 0; + } + .display { + @identiconHeight: 17px; + text-align: left; + line-height: @identiconHeight; + + .dapp-identicon-container { + float: right; + height: @identiconHeight; + } + + .dapp-identicon { + margin-right: 0px; + width: @identiconHeight; + height: @identiconHeight; + &:not(:last-child) { + margin-right: 4px; + } + } + } + } + } + + .sub-menu { + margin: 6px 0; + padding: 0; + border-top: 1px solid rgba(255, 255, 255, 0.2); + overflow-y: auto; + overflow-x: hidden; + padding-bottom: 0.1em; + margin-top: 2px; + margin-bottom: 0; + li { + opacity: 1; + font-weight: normal; + font-size: 14px; + margin-bottom: 0; + button { + padding: 8px 0 6px; + .sidePadding(); + box-sizing: border-box; + width: 100%; + text-align: left; + background-color: rgba(255, 255, 255, 0); + transition: 150ms linear background-color; + + margin: 5px 0; + display: -webkit-box; + -webkit-line-clamp: 2; // 2 lines max + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + &:hover { + background-color: rgba(255, 255, 255, 0.2); + } + .badge { + display: block; + opacity: 0.8; + } + } + } + } + } + } + + .node-info { + position: relative; + cursor: default; + + &::after { + .gradient-tip(); + height: 20px; + top: -(20px - 1); + background-image: linear-gradient( + to bottom, + rgba(241, 241, 241, 0) 0%, + rgba(241, 241, 241, 1) 100% + ); + } + + display: flex; + flex-flow: row wrap; + flex-shrink: 0; + padding: 8px; + font-size: 0.9em; + color: @colorTextSecondary; + + div, + span { + padding: @gridHeight / 2 1px; + flex: 1; + text-align: center; + } + + i { + display: block; + margin-bottom: 2px; + } + + progress { + flex: 1 100%; + } + + .mining-indicator { + flex: 3; + } + + .block-number { + flex: 2; + white-space: nowrap; + } + + .test-chain { + flex: 1 100%; + padding: 1px 5px 2px; + } + } +} + +.app-blur aside.newsidebar nav::after { + background-image: linear-gradient( + to bottom, + rgba(246, 246, 246, 0) 0%, + rgba(246, 246, 246, 1) 100% + ); +} diff --git a/interface/client/styles/mixins.import.less b/interface/client/styles/mixins.import.less new file mode 100644 index 0000000..7d3591f --- /dev/null +++ b/interface/client/styles/mixins.import.less @@ -0,0 +1,17 @@ +.allowSelection { + -webkit-touch-callout: initial; + -webkit-user-select: initial; + -khtml-user-select: initial; + -moz-user-select: initial; + -ms-user-select: initial; + user-select: initial; +} + +.disallowSelection { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/interface/client/styles/networkIndicator.import.less b/interface/client/styles/networkIndicator.import.less new file mode 100644 index 0000000..b469f69 --- /dev/null +++ b/interface/client/styles/networkIndicator.import.less @@ -0,0 +1,27 @@ +// Applies to both onboarding and splash screen +.network-indicator { + position: absolute; + top: 10px; + right: 10px; + left: 10px; + text-align: right; + font-weight: 600; + font-size: 80%; + opacity: 0.8; + color: @colorGrey; + text-transform: uppercase; +} + +// Applies only to the splash screen +.splash-screen .network-indicator .unknown { + position: absolute; + top: 155px; + text-align: center; + left: 10px; + right: 10px; + font-size: 110%; + opacity: 0.8; + font-weight: normal; + text-transform: none; + color: #fff; +} diff --git a/interface/client/styles/popupWindows.import.less b/interface/client/styles/popupWindows.import.less new file mode 100644 index 0000000..6f07dd5 --- /dev/null +++ b/interface/client/styles/popupWindows.import.less @@ -0,0 +1,622 @@ +@-webkit-keyframes slideInLeft { + from { + transform: translate3d(50%, 0, 0) rotate(45deg); + opacity: 0; + } + to { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@-webkit-keyframes slideInRight { + from { + transform: translate3d(-50%, 0, 0) rotate(-45deg); + opacity: 0; + } + to { + transform: none; + opacity: 1; + } +} + +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +.popup-windows { + text-align: center; + height: 100vh; + + a, + button { + color: @colorLinkActive; + } + a:focus { + color: @colorLinkFocus; + } + + h3 { + color: @colorGrayDark; + a { + float: right; + font-weight: 400; + } + } + img.left-overlay { + position: relative; + top: -40px; + left: -160%; + width: 300%; + z-index: 1; + } + + footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 0 @gridHeight; + padding-top: @gridHeight * 3; + background: linear-gradient(transparent 0%, @colorGrayLight 35%); + + &.dapp-small { + background: linear-gradient(transparent 50%, @colorGrayLight 70%); + } + } + + .info.dapp-error { + color: @colorError; + font-weight: 600; + } + + &.update-available { + -webkit-user-select: auto; + user-select: auto; + + .text { + text-align: left; + } + h1 { + font-size: 200%; + margin-bottom: 20px; + + &.no-update { + font-size: 180%; + } + } + } + &.tx-info { + .container { + overflow: auto; + height: 80vh; + padding-bottom: 120px; + } + + .transaction-parties { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + margin: 0 @gridWidth; + + > div { + // flex: 1 1 auto; + color: @colorTextSecondary; + position: relative; + } + + div.connection { + padding: @gridHeight @gridWidth / 2; + } + + div.amount, + div.function-signature { + flex: 1 50%; + } + + // amount + div.amount { + position: relative; + margin-top: -30px; + height: 40px; + font-size: 1.5em; + color: darken(@colorTextSecondary, 8%); + border-bottom: 1px solid @colorTextSecondary; + &:after { + content: ''; + position: absolute; + bottom: -5px; + right: 0; + border: 5px solid @colorTextSecondary; + border-color: transparent @colorTextSecondary @colorTextSecondary + transparent; + .rotate(-45deg); + } + .unit { + font-size: 0.6em; + font-weight: 400; + } + .execute-function { + display: block; + position: absolute; + bottom: -30px; + left: 0; + right: 0; + font-size: 0.6em; + text-align: center; + font-weight: 600; + } + } + .function-signature { + font-weight: 400; + font-size: 1.5em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + text-transform: uppercase; + max-width: @gridWidth * 10; + + &.has-signature { + text-transform: none; + } + } + } + table, + .data, + .parameters, + .fees, + .info { + width: 420px; + margin: @defaultMargin*2 auto; + } + table { + td:nth-child(1) { + text-align: left; + } + td:nth-child(2) { + text-align: right; + font-weight: 400; + } + } + + // Parameters + .fees, + .parameters { + font-size: 0.9em; + text-align: left; + ul, + ol { + counter-reset: item; + padding: 0; + list-style-type: none; + list-style-position: inside; + li { + display: flex; + min-height: @gridHeight * 2; + align-items: center; + + .allowSelection; + font-weight: 200; + transition: background 0.5s ease-out; + + & > div { + padding: 0 @gridWidth / 4; + } + .value { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + .icon { + position: relative; + top: 1px; + } + &:hover strong { + word-break: break-all; + } + } + .type { + text-align: right; + max-width: @gridWidth * 10; + } + + &:hover { + background-color: #fff; + transition: background 0.1s ease-in; + } + } + + ::selection { + color: #fff; + background: @colorLink; + } + } + + ol li::before { + counter-increment: item; + content: counter(item); + opacity: 0.5; + color: @colorGrayDark; + font-weight: 400; + } + } + + .overlap-icon { + position: absolute; + top: 34px; + font-size: 18px; + text-align: center; + color: #fff; + width: @gridWidth*2; + opacity: 0.75; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); + } + .circle-icon { + display: inline-block; + background-color: @colorGrayLight; + .border-radius(50%); + font-size: 33px; + padding: @defaultMargin; + // + span { + // display: inline-block; + // } + } + .provided-gas { + display: inline; + width: 70px; + padding: 0; + margin: 0; + color: @colorLink; + background-color: transparent; + border: 0; + text-align: right; + border-bottom: 1px dotted @colorLink; + &:focus { + outline: 0; + } + } + input[type='password'] { + width: @gridWidth * 12; + } + .data, + .info { + text-align: left; + padding: 0 @defaultMargin / 2; + } + .data { + font-size: 0.9em; + pre { + margin: 0 -@defaultMargin; + overflow: auto; + height: 90px; + background-color: @colorGrayLight; //lighten(@colorGray, 10%); + color: @colorTextPrimary; + span.zero { + color: fadeout(@colorTextSecondary, 30%); + } + span.function { + font-weight: 600; + } + } + } + } + &.request-account { + h1 { + margin-bottom: 20px; + } + .fields-container { + // addresses + > div:nth-child(odd) { + position: relative; + padding: 0 @defaultMargin*2; + font-weight: 400; + } + > div:nth-child(1) { + .overlap-icon { + right: @defaultMargin * 1.25; + } + } + > div:nth-child(3) { + .overlap-icon { + left: @defaultMargin * 1; + } + } + // amount + > div.amount { + position: relative; + margin-top: -30px; + height: 40px; + width: @defaultMargin * 10; + font-size: 1.5em; + color: darken(@colorTextSecondary, 8%); + border-bottom: 1px solid @colorTextSecondary; + + &:after { + content: ''; + position: absolute; + bottom: -5px; + right: 0; + border: 5px solid @colorTextSecondary; + border-color: transparent @colorTextSecondary @colorTextSecondary + transparent; + .rotate(-45deg); + } + + .unit { + font-size: 0.6em; + font-weight: 400; + } + } + } + + table, + .data, + .info { + width: 420px; + margin: @defaultMargin*2 auto; + } + table { + td:nth-child(1) { + text-align: left; + } + td:nth-child(2) { + text-align: right; + font-weight: 400; + } + } + + .overlap-icon { + position: absolute; + top: 20px; + font-size: 20px; + } + .circle-icon { + display: inline-block; + background-color: @colorGrayLight; + .border-radius(50%); + font-size: 33px; + padding: @defaultMargin; + + // + span { + // display: inline-block; + // } + } + + .provided-gas { + display: inline; + width: 70px; + padding: 0; + margin: 0; + color: @colorLink; + background-color: transparent; + border: 0; + text-align: right; + border-bottom: 1px dotted @colorLink; + + &:focus { + outline: 0; + } + } + + .show-password-container { + width: 300px; + margin: 0 auto 0; + padding: 12px 0 0; + text-align: left; + input[type='checkbox'] { + margin-left: 16px; + } + label { + position: relative; + top: -7px; + left: 6px; + opacity: 0.9; + font-size: 14px; + } + } + } + &.connect-account { + text-align: left; + box-sizing: border-box; + margin: 0 auto; + padding: 0 60px; + form { + display: -webkit-flex; + display: flex; + flex-direction: column; + align-content: space-between; + height: 100vh; + + > * { + flex: 0; + } + } + p strong { + font-weight: 400; + } + .account-dapp-user-container { + display: -webkit-flex; + display: flex; + height: 64px; + justify-content: center; + align-items: center; + margin: 30px 0 15px; + flex: 0 64px; + } + .account-dapp-user { + margin: 0 5px; + position: relative; + width: 120px; + height: 64px; + & > * { + position: absolute; + top: 0; + display: inline-block; + width: 64px; + height: 64px; + border-radius: 50%; + &.is-empty { + background-color: #6e6c6f; + border-radius: 50%; + i { + color: #fff; + display: block; + text-align: center; + line-height: 64px; + font-size: 2.8em; + } + } + &.no-account { + background-image: url(/images/anonymous-icon.png); + background-size: cover; + background-position: 50%; + } + } + .user-icon, + .simptip-position-left { + z-index: 2; + left: 0; + animation: 0.7s cubic-bezier(0, 0, 0.13, 1) slideInLeft; + &:first-child { + left: 0px; + } + &:nth-of-type(2) { + left: 5px; + } + &:nth-of-type(3) { + left: 10px; + } + &:nth-of-type(4) { + left: 15px; + } + &:nth-of-type(5) { + left: 20px; + } + &:nth-of-type(6) { + left: 25px; + } + } + .app-icon { + z-index: 1; + left: 55px; + animation: 0.7s cubic-bezier(0, 0, 0.13, 1) slideInRight; + } + } + .dapp-account-list { + flex-grow: 5; + position: relative; + overflow: auto; + padding: 0; + margin: 0; + &::after { + position: fixed; + content: ''; + display: block; + bottom: 130px; + width: 100%; + height: @gridHeight * 1.5; + pointer-events: none; + background: -webkit-linear-gradient( + top, + rgba(241, 241, 241, 0), + rgba(241, 241, 241, 1) + ); + } + li:last-child { + margin-bottom: 25px; + } + } + .create-account-icon { + background-color: @colorLinkActive; + box-shadow: none; + &:after { + color: #fff; + content: '+'; + display: block; + text-align: center; + line-height: 32px; + font-size: 1.7em; + font-weight: 400; + } + } + .checkbox-container { + display: flex; + flex: 0 50px; + padding: 1em 0; + input { + margin-right: 6px; + } + label { + color: @colorLinkActive; + font-weight: 500; + } + } + .dapp-modal-buttons { + flex: 0 62px; + } + .dapp-modal-buttons, + .dapp-modal-buttons button:last-of-type { + margin-right: 0; + } + span.account-address, + span.dapp-url { + animation: 0.9s cubic-bezier(0.74, 0, 1, 0.29) fadeIn; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 100px; + font-size: 14px; + color: #aeaeae; + } + + .data, + .info { + text-align: left; + padding: 0 @defaultMargin / 2; + position: relative; + .toggle-panel { + position: absolute; + right: 0; + top: 0; + font-weight: 500; + font-size: 0.8em; + } + } + .data { + font-size: 0.9em; + + pre { + margin: 0 -@defaultMargin; + overflow: auto; + height: 90px; + background-color: @colorGrayLight; //lighten(@colorGray, 10%); + color: @colorTextPrimary; + + span.zero { + color: fadeout(@colorTextSecondary, 30%); + } + span.function { + font-weight: 600; + } + } + } + } +} + +body.app-blur + .popup-windows.connect-account + .cards-container + .switch-card + ul::after { + background: -webkit-linear-gradient( + top, + rgba(246, 246, 246, 0), + rgba(246, 246, 246, 1) + ); +} diff --git a/interface/client/styles/splashScreen.import.less b/interface/client/styles/splashScreen.import.less new file mode 100644 index 0000000..d9ae26b --- /dev/null +++ b/interface/client/styles/splashScreen.import.less @@ -0,0 +1,184 @@ +@font-face { + font-family: 'Source Sans Pro'; + src: url('fonts/SourceSansPro.otf'); + font-weight: 500; + font-style: normal; +} + +.splash-screen { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + color: #fff; + text-align: center; + font-family: 'Source Sans Pro', 'Helvetica Neue', 'Helvetica', verdana, arial; + overflow: hidden; + + background-size: cover; + background-position: 50% 50%; + -webkit-app-region: drag; + + &.wallet { + background-image: url('/images/bg-homestead.jpg'); + + h1 { + color: #fff; + } + button.start-app, + button.retry-connection { + color: #bcd3e6; + &:hover { + color: darken(#bcd3e6, 5%); + } + } + button.close { + color: rgba(0, 0, 0, 0.3); + + &:hover { + color: rgba(0, 0, 0, 0.8); + } + } + } + &.mist { + background-image: url('/images/bg-metropolis.jpg'); + + h1 { + color: #152f58; + text-shadow: 0 1px 5px rgba(255, 255, 255, 0.75); + } + + .network-indicator { + color: #fff; + opacity: 0.9; + .unknown { + color: #152f58; + text-shadow: 0 1px 5px rgba(255, 255, 255, 0.75); + } + } + } + + h1, + small { + cursor: default; + } + + button { + -webkit-app-region: no-drag; + z-index: 3; + position: absolute; + color: #fff; + background: none; + border: 0; + outline: 0; + padding: @defaultMargin / 2; + font-size: 0.8em; + } + button:active { + transform: scale(0.95); + } + + /* Close button */ + button.close { + top: 0; + right: 3px; + font-size: 20px; + color: rgba(255, 255, 255, 0.3); + } + button.close:hover { + color: rgba(255, 255, 255, 0.8); + } + /* start app button */ + button.start-app, + button.retry-connection { + bottom: 10px; + right: 0; + left: 0; + width: 100%; + margin: 0; + padding: 0; + text-align: center; + color: #4a90e2; + text-transform: uppercase; + font-family: 'Source Sans Pro', 'Helvetica Neue', 'Helvetica', verdana, + arial; + font-size: 1em; + font-weight: bold; + } + button.start-app:hover, + button.retry-connection:hover { + color: #2a6ed0; + } + + img { + margin-top: 7px; + width: 110px; + transition: width 0.5s ease-in-out; + } + &.small img { + width: 80px; + } + img.shadow { + box-shadow: 0 0 15px rgba(0, 0, 0, 0.4); + border-radius: 50%; + } + h1 { + margin-top: 10px; + font-size: 18px; + font-weight: 400; + /*text-shadow: 0 1px 5px rgba(0,0,0,0.6);*/ + -webkit-user-select: none; + } + &.small h1 { + margin-top: 20px; + } + small { + display: inline-block; + margin-top: 2px; + opacity: 0.6; + line-height: 1.3em; + cursor: text; + -webkit-app-region: no-drag; + -webkit-user-select: initial; + } + + /* PROGRESSBAR */ + progress { + position: absolute; + bottom: 35px; + left: 10px; + right: 10px; + -webkit-appearance: none; + appearance: none; + width: auto; + height: 10px; + opacity: 0.8; + } + + progress[value]::-webkit-progress-bar { + background-color: rgba(255, 255, 255, 0.2); + border-radius: 2px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset; + } + + progress.wallet::-webkit-progress-value { + background-image: -webkit-linear-gradient(left, #dccab6, #fff); + } + progress.mist::-webkit-progress-value { + background-image: -webkit-linear-gradient(left, #3185cc, #ada1e2); + } + progress::-webkit-progress-value { + opacity: 0.7; + border-radius: 2px; + box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.3); + } + + progress.state { + opacity: 0.3; + } + + progress.state[value]::-webkit-progress-bar { + background: transparent; + } +} diff --git a/interface/client/styles/styles.less b/interface/client/styles/styles.less new file mode 100644 index 0000000..d29c281 --- /dev/null +++ b/interface/client/styles/styles.less @@ -0,0 +1,14 @@ +// libs +@import '{ethereum:dapp-styles}/dapp-styles.less'; + +@import 'constants.import.less'; +@import 'mixins.import.less'; +@import 'elements.import.less'; +@import 'layout.import.less'; +@import 'networkIndicator.import.less'; +@import 'splashScreen.import.less'; +@import 'importAccount.import.less'; +@import 'menu.import.less'; +@import 'browserbar.import.less'; +@import 'popupWindows.import.less'; +@import 'animations.import.less'; diff --git a/interface/client/templates/elements/img.html b/interface/client/templates/elements/img.html new file mode 100644 index 0000000..b5faeea --- /dev/null +++ b/interface/client/templates/elements/img.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/interface/client/templates/elements/img.js b/interface/client/templates/elements/img.js new file mode 100644 index 0000000..61bbe0b --- /dev/null +++ b/interface/client/templates/elements/img.js @@ -0,0 +1,33 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The img template + +@class [template] elements_img +@constructor +*/ + +Template['elements_img'].helpers({ + /** + This helper will preload the image, and then inject it later after its loaded + + @method (preload) + */ + preload: function() { + var template = Template.instance(), + data = this, + img = new Image(); + + TemplateVar.set('loading', true); + + img.onload = function() { + TemplateVar.set(template, 'loading', false); + TemplateVar.set(template, 'src', data.src); + }; + img.src = data.src; + } +}); diff --git a/interface/client/templates/elements/networkIndicator.html b/interface/client/templates/elements/networkIndicator.html new file mode 100644 index 0000000..20e47a6 --- /dev/null +++ b/interface/client/templates/elements/networkIndicator.html @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/interface/client/templates/elements/networkIndicator.js b/interface/client/templates/elements/networkIndicator.js new file mode 100644 index 0000000..3268d4d --- /dev/null +++ b/interface/client/templates/elements/networkIndicator.js @@ -0,0 +1,78 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The networkIndicator template + +@class [template] elements_networkIndicator +@constructor +*/ + +/** +Check network type. + +@method checkNetworkType +*/ +var checkNetworkType = function(template) { + console.trace('Check network type...'); + + try { + web3.eth.getBlock(0, function(e, res) { + console.trace('Get block 0', e, res); + + if (e) { + console.error('Got error fetching block 0', e); + } else { + TemplateVar.set( + template, + 'network', + Helpers.detectNetwork(res.hash).type + ); + TemplateVar.set( + template, + 'networkName', + Helpers.detectNetwork(res.hash).name + ); + } + }); + } catch (err) { + console.error('Unable to get block 0', err); + } +}; + +Template['elements_networkIndicator'].onRendered(function() { + var template = this; + + TemplateVar.set(template, 'network', 'unknown'); + + checkNetworkType(template); + + ipc.on('uiAction_nodeStatus', function(e, status) { + console.trace('Node status', status); + + switch (status) { + case 'starting': + case 'stopping': + case 'connected': + console.debug('Node status changing, reset network type indicator'); + TemplateVar.set(template, 'network', 'unknown'); + break; + } + }); + + ipc.on('uiAction_nodeSyncStatus', function(e, status, data) { + console.trace('Node sync status', status); + + if ( + 'inProgress' === status && + TemplateVar.get(template, 'network') === 'unknown' + ) { + console.debug('Node syncing, re-check network type.'); + + checkNetworkType(template); + } + }); +}); diff --git a/interface/client/templates/elements/nodeInfo.html b/interface/client/templates/elements/nodeInfo.html new file mode 100644 index 0000000..6a259b4 --- /dev/null +++ b/interface/client/templates/elements/nodeInfo.html @@ -0,0 +1,34 @@ + diff --git a/interface/client/templates/elements/nodeInfo.js b/interface/client/templates/elements/nodeInfo.js new file mode 100644 index 0000000..5f0b04a --- /dev/null +++ b/interface/client/templates/elements/nodeInfo.js @@ -0,0 +1,155 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +Update the peercount + +@method getPeerCount +*/ +var getPeerCount = function(template) { + web3.net.getPeerCount(function(e, res) { + if (!e) TemplateVar.set(template, 'peerCount', res); + }); +}; + +/** +Update the mining hashrate + +@method getMining +*/ +var getMining = function(template) { + web3.eth.getMining(function(e, res) { + if (!e && res) { + web3.eth.getHashrate(function(e, res) { + if (!e) { + TemplateVar.set( + template, + 'mining', + numeral(res / 1000).format('0,0.0') + ); + } + }); + } else { + TemplateVar.set(template, 'mining', false); + } + }); +}; + +/** +The main template + +@class [template] elements_nodeInfo +@constructor +*/ + +Template['elements_nodeInfo'].onCreated(function() { + var template = this; + + // CHECK FOR NETWORK + web3.eth.getBlock(0, function(e, res) { + if (!e) { + const network = Helpers.detectNetwork(res.hash); + TemplateVar.set(template, 'network', network.type); + TemplateVar.set(template, 'networkName', network.name); + } + }); + + // CHECK SYNCING + this.syncFilter = web3.eth.isSyncing(function(error, syncing) { + if (!error) { + if (syncing === true) { + console.log('Node started syncing, stopping app operation'); + web3.reset(true); + } else if (_.isObject(syncing)) { + syncing.progress = Math.floor( + (syncing.currentBlock - syncing.startingBlock) / + (syncing.highestBlock - syncing.startingBlock) * + 100 + ); + syncing.blockDiff = numeral( + syncing.highestBlock - syncing.currentBlock + ).format('0,0'); + + TemplateVar.set(template, 'syncing', syncing); + } else { + console.log('Restart app operation again'); + + TemplateVar.set(template, 'syncing', false); + } + } + }); + + // CHECK PEER COUNT + this.peerCountIntervalId = null; + + TemplateVar.set('peerCount', 0); + getPeerCount(template); + + Meteor.clearInterval(this.peerCountIntervalId); + this.peerCountIntervalId = setInterval(function() { + getPeerCount(template); + }, 1000); + + // CHECK MINING and HASHRATE + this.miningIntervalId = null; + + TemplateVar.set('mining', false); + getMining(template); + + Meteor.clearInterval(this.miningIntervalId); + this.miningIntervalId = setInterval(function() { + getMining(template); + }, 1000); +}); + +Template['elements_nodeInfo'].onDestroyed(function() { + Meteor.clearInterval(this.peerCountIntervalId); + + if (this.syncFilter) { + this.syncFilter.stopWatching(); + } +}); + +Template['elements_nodeInfo'].helpers({ + /** + Formats the last block number + + @method (formattedBlockNumber) + @return {String} + */ + formattedBlockNumber: function() { + return numeral(EthBlocks.latest.number).format('0,0'); + }, + /** + Formats the time since the last block + + @method (timeSinceBlock) + */ + timeSinceBlock: function() { + var timeSince = moment(EthBlocks.latest.timestamp, 'X'); + var now = moment(); + var diff = now.diff(timeSince, 'seconds'); + + if (!EthBlocks.latest.timestamp) { + return '-'; + } + + if (diff > 60) { + Helpers.rerun['10s'].tick(); + return timeSince.fromNow(true); + } else if (diff < 2) { + Helpers.rerun['1s'].tick(); + return ( + ' ' + + TAPi18n.__('mist.nodeInfo.blockReceivedShort') + + '' + ); + } + + Helpers.rerun['1s'].tick(); + return diff + 's'; + } +}); diff --git a/interface/client/templates/index.html b/interface/client/templates/index.html new file mode 100644 index 0000000..82d1d53 --- /dev/null +++ b/interface/client/templates/index.html @@ -0,0 +1,19 @@ + + + + + + + + +
+ + {{> Template.dynamic template=renderApp}} + + {{> GlobalNotifications}} + +
+ + + + diff --git a/interface/client/templates/index.js b/interface/client/templates/index.js new file mode 100644 index 0000000..0485880 --- /dev/null +++ b/interface/client/templates/index.js @@ -0,0 +1,61 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The body template + +@class [template] body +@constructor +*/ + +// Generic windows reuse windows by switching the template +ipc.on('uiAction_switchTemplate', (e, templateName) => { + TemplateVar.setTo( + '#generic-body', + 'MainRenderTemplate', + `popupWindows_${templateName}` + ); +}); + +Template.body.helpers({ + /** + Chooses the view to render at start + + @method renderApp + */ + renderApp: function() { + // Generic windows return the TemplateVar if set in the ipc call above + const template = TemplateVar.get('MainRenderTemplate'); + if (template) { + return template; + } + + if (_.isEmpty(location.hash)) { + $('title').text('Mist'); + return 'layout_main'; + } else { + var renderWindow = location.hash.match(/#([a-zA-Z]*)_?/); + + if (renderWindow.length > 0) { + return 'popupWindows_' + renderWindow[1]; + } else { + return false; + } + } + } +}); + +/* +Template.body.events({ + /** + On drag over prevent redirect + + @event dragover body > *, drop body > * + * + 'dragover body > *, drop body > *': function(e){ + e.preventDefault(); + }, +});*/ diff --git a/interface/client/templates/layout/browserBar.html b/interface/client/templates/layout/browserBar.html new file mode 100644 index 0000000..6261cba --- /dev/null +++ b/interface/client/templates/layout/browserBar.html @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/interface/client/templates/layout/browserBar.js b/interface/client/templates/layout/browserBar.js new file mode 100644 index 0000000..a98912f --- /dev/null +++ b/interface/client/templates/layout/browserBar.js @@ -0,0 +1,173 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The browserBar template + +@class [template] layout_browserBar +@constructor +*/ + +Template['layout_browserBar'].onRendered(function() { + var template = this; +}); + +Template['layout_browserBar'].helpers({ + /** + Break the URL in protocol, domain and folders + + @method (breadcrumb) + */ + breadcrumb: function() { + if (!this || !this.url) { + return; + } + try { + return Helpers.generateBreadcrumb(new URL(this.url)); + } catch (e) { + return; + } + }, + + /** + Returns the current dapp + + @method (dapp) + */ + dapp: function() { + return Tabs.findOne(LocalStore.get('selectedTab')); + }, + /** + Returns dapps current accounts + + @method (dappAccounts) + */ + dappAccounts: function() { + if (this.permissions) { + return EthAccounts.find({ + address: { $in: this.permissions.accounts || [] } + }); + } + }, + /** + Show the add button, when on a dapp and in doogle + + @method (isBrowser) + */ + isBrowser: function() { + return LocalStore.get('selectedTab') === 'browser'; + }, + /** + Current selected view + + @method (currentWebView) + */ + currentWebView: function() { + return '.webview webview[data-id="' + LocalStore.get('selectedTab') + '"]'; + } +}); + +Template['layout_browserBar'].events({ + /* + Go back in the dapps browser history + + @event click button.back + */ + 'click button.back': function() { + var webview = Helpers.getWebview(LocalStore.get('selectedTab')); + + if (webview && webview.canGoBack()) { + webview.goBack(); + } + }, + /* + Reload the current webview + + @event click button.reload + */ + 'click button.reload': function() { + var webview = Helpers.getWebview(LocalStore.get('selectedTab')); + + if (webview) { + webview.reload(); + } + }, + /* + Remove the current selected tab + + // TODO show popup before to confirm + + @event click button.remove-tab + */ + 'click button.remove-tab': function() { + var tabId = LocalStore.get('selectedTab'); + + Tabs.remove(tabId); + LocalStore.set('selectedTab', 'browser'); + }, + /** + Show connect account popup + + @event click .app-bar > button.accounts' + */ + 'click .app-bar > button.accounts': function(e, template) { + LocalStore.set('chosenTab', LocalStore.get('selectedTab')); // needed by connectAccount + mist.requestAccount(function(e, addresses) { + var tabId = LocalStore.get('selectedTab'); + + dbSync.syncDataFromBackend(LastVisitedPages); + dbSync.syncDataFromBackend(Tabs).then(function() { + Tabs.update(tabId, { + $set: { + 'permissions.accounts': addresses + } + }); + }); + }); + }, + /* + Hide the app bar on input blur + + @event blur + */ + 'blur .app-bar > form.url .url-input': function(e, template) { + template.$('.app-bar').removeClass('show-bar'); + }, + /* + Stop hiding the app bar + + @event mouseenter .app-bar + */ + 'mouseenter .app-bar': function(e, template) { + clearTimeout(TemplateVar.get('timeoutId')); + }, + /* + Send the domain + + @event submit + */ + submit: function(e, template) { + var url = Helpers.formatUrl(template.$('.url-input')[0].value); + + // remove focus from url input + template.$('.url-input').blur(); + + // look in tabs + var url = Helpers.sanitizeUrl(url); + var tabId = Helpers.getTabIdByUrl(url); + + console.log('Submitted new URL: ' + url); + + // update current tab url + Tabs.update(tabId, { + $set: { + url: url, + redirect: url + } + }); + LocalStore.set('selectedTab', tabId); + } +}); diff --git a/interface/client/templates/layout/main.html b/interface/client/templates/layout/main.html new file mode 100644 index 0000000..c40e566 --- /dev/null +++ b/interface/client/templates/layout/main.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/interface/client/templates/layout/sidebar.html b/interface/client/templates/layout/sidebar.html new file mode 100644 index 0000000..71203a7 --- /dev/null +++ b/interface/client/templates/layout/sidebar.html @@ -0,0 +1,71 @@ + diff --git a/interface/client/templates/layout/sidebar.js b/interface/client/templates/layout/sidebar.js new file mode 100644 index 0000000..e097161 --- /dev/null +++ b/interface/client/templates/layout/sidebar.js @@ -0,0 +1,235 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The sidebar template + +@class [template] layout_sidebar +@constructor +*/ + +Template['layout_sidebar'].onRendered(function() { + var template = this, + $ul = template.$('nav > ul'); + + $ul.sortable({ + containment: 'aside.sidebar', + axis: 'y', + // tolerance: 'pointer', + items: '> li:not(.browser)', + handle: 'button.main', + cancel: '.browser', + cursor: 'move', + delay: 150, + revert: 200, + start: function(e) { + $ul.sortable('refreshPositions'); + }, + update: function(e) { + // iterate over the lis and reposition the items + $ul.find('> li').each(function(index, test) { + var id = $(this).data('tab-id'); + if (id) { + Tabs.update(id, { $set: { position: index + 1 } }); + } + }); + } + }); + + template.$('[data-tab-id]').on('mouseover', function() {}); +}); + +Template['layout_sidebar'].helpers({ + /** + Return the tabs + + @method (tabs) + */ + tabs: function() { + return Tabs.find({}, { sort: { position: 1 } }).fetch(); + }, + /** + Return the correct name + + @method (name) + */ + name: function() { + return this._id === 'browser' + ? TAPi18n.__('mist.sidebar.buttons.browser') + : this.name; + }, + /** + Return the correct dapp icon + + @method (icon) + */ + icon: function() { + return this._id === 'browser' ? 'icons/browse-icon@2x.png' : this.icon; + }, + /** + Return the tabs sub menu as array + + @method (subMenu) + */ + subMenu: function() { + var template = Template.instance(); + + if (this._id === 'browser') { + return LastVisitedPages.find({}, { sort: { timestamp: -1 }, limit: 25 }); + } else if (this.menu) { + var menu = _.toArray(this.menu); + + // sort by position + menu.sort(function(a, b) { + if (a.position < b.position) { + return -1; + } + if (a.position > b.position) { + return 1; + } + return 0; + }); + + return menu; + } + }, + /** + Returns connected accounts for dapp + + @method (dappAccounts) + */ + dappAccounts: function(limit) { + if (this.permissions) { + if (limit) { + return EthAccounts.find( + { address: { $in: this.permissions.accounts || [] } }, + { limit: limit } + ); + } + return EthAccounts.find({ + address: { $in: this.permissions.accounts || [] } + }); + } + }, + /** + Determines if the current tab is visible + + @method (isSelected) + */ + isSelected: function() { + return LocalStore.get('selectedTab') === (this._id || 'browser') + ? 'selected' + : ''; + }, + /** + It defines which tabs will have a remove button on the interface + + @method (tabShouldBeRemovable) + */ + tabShouldBeRemovable: function() { + return !_.contains(['browser', 'wallet'], this._id); + } +}); + +Template['layout_sidebar'].events({ + /** + Select the current visible tab + + @event click button.main + */ + 'click nav button.main': function(e, template) { + LocalStore.set('selectedTab', this._id || 'browser'); + }, + /** + Call the submenu dapp callback + + @event click ul.sub-menu button + */ + 'click nav ul.sub-menu button': function(e, template) { + var tabId = $(e.currentTarget) + .parent() + .parents('li') + .data('tab-id'); + var webview = $('webview[data-id="' + tabId + '"]')[0]; + + // browser + if (tabId === 'browser') { + webviewLoadStart.call(webview, tabId, { + newURL: this.url, + type: 'side-bar-click', + preventDefault: function() {} + }); + + // dapp tab + } else if (webview) { + webview.send('mistAPI_callMenuFunction', this.id); + LocalStore.set('selectedTab', tabId); + } + }, + /** + Remove the current selected tab + + // TODO show popup before to confirm + + @event click button.remove-tab + */ + 'click button.remove-tab': function() { + if (LocalStore.get('selectedTab') === this._id) { + LocalStore.set('selectedTab', 'browser'); + } + + Tabs.remove(this._id); + }, + /** + Show connect account popup + + @event click .accounts button' + */ + 'click .accounts button': function(e, template) { + var initialTabCount = Tabs.find().fetch().length; + LocalStore.set('selectedTab', this._id); + var initialTabId = this._id; + + mist.requestAccount(function(ev, addresses) { + dbSync.syncDataFromBackend(LastVisitedPages); + dbSync.syncDataFromBackend(Tabs).then(function() { + var tabCount = Tabs.find().fetch().length; + var tabId; + if (tabCount > initialTabCount) { + // browse tab was pinned + tabId = Tabs.findOne({}, { sort: { position: -1 }, limit: 1 }); + } else { + tabId = initialTabId; + } + Tabs.update(tabId, { + $set: { + 'permissions.accounts': addresses + } + }); + }); + }); + }, + + /** + Shows dapp submenu + + @event mouseenter .sidebar-menu > li + */ + 'mouseenter .sidebar-menu > li': function(e, template) { + var $this = $(e.currentTarget); + var tabTopOffset = $this.offset().top; + var $submenuContainer = $this.find('.submenu-container'); + var $submenu = $this.find('.sub-menu'); + var submenuHeaderHeight = $this.find('header').outerHeight(); + var windowHeight = $(window).outerHeight(); + + $submenuContainer.css('top', tabTopOffset + 'px'); + $submenu.css( + 'max-height', + windowHeight - tabTopOffset - submenuHeaderHeight - 30 + 'px' + ); + } +}); diff --git a/interface/client/templates/layout/webviews.html b/interface/client/templates/layout/webviews.html new file mode 100644 index 0000000..e4d47bb --- /dev/null +++ b/interface/client/templates/layout/webviews.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/interface/client/templates/layout/webviews.js b/interface/client/templates/layout/webviews.js new file mode 100644 index 0000000..8724f2b --- /dev/null +++ b/interface/client/templates/layout/webviews.js @@ -0,0 +1,23 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The main section template + +@class [template] layout_webviews +@constructor +*/ + +Template['layout_webviews'].helpers({ + /** + Return the tabs + + @method (tabs) + */ + tabs: function() { + return Tabs.find({}, { field: { position: 1 } }); + } +}); diff --git a/interface/client/templates/popupWindows/about.html b/interface/client/templates/popupWindows/about.html new file mode 100644 index 0000000..bfdca18 --- /dev/null +++ b/interface/client/templates/popupWindows/about.html @@ -0,0 +1,16 @@ + diff --git a/interface/client/templates/popupWindows/about.js b/interface/client/templates/popupWindows/about.js new file mode 100644 index 0000000..737009f --- /dev/null +++ b/interface/client/templates/popupWindows/about.js @@ -0,0 +1,13 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The about template + +@class [template] popupWindows_about +@constructor +*/ +Template['popupWindows_about'].onCreated(function() {}); diff --git a/interface/client/templates/popupWindows/clientUpdateAvailable.html b/interface/client/templates/popupWindows/clientUpdateAvailable.html new file mode 100644 index 0000000..d5fd203 --- /dev/null +++ b/interface/client/templates/popupWindows/clientUpdateAvailable.html @@ -0,0 +1,36 @@ + diff --git a/interface/client/templates/popupWindows/clientUpdateAvailable.js b/interface/client/templates/popupWindows/clientUpdateAvailable.js new file mode 100644 index 0000000..dd2da13 --- /dev/null +++ b/interface/client/templates/popupWindows/clientUpdateAvailable.js @@ -0,0 +1,14 @@ +/** +Template Controllers + +@module Templates +*/ + +Template['popupWindows_clientUpdateAvailable'].events({ + 'click .ok': function(e) { + ipc.send('backendAction_windowCallback', 'update'); + }, + 'click .cancel': function(e) { + ipc.send('backendAction_windowCallback', 'skip'); + } +}); diff --git a/interface/client/templates/popupWindows/connectAccount.html b/interface/client/templates/popupWindows/connectAccount.html new file mode 100644 index 0000000..ad22dae --- /dev/null +++ b/interface/client/templates/popupWindows/connectAccount.html @@ -0,0 +1,72 @@ + diff --git a/interface/client/templates/popupWindows/connectAccount.js b/interface/client/templates/popupWindows/connectAccount.js new file mode 100644 index 0000000..37fc070 --- /dev/null +++ b/interface/client/templates/popupWindows/connectAccount.js @@ -0,0 +1,182 @@ +var pinToSidebar = function() { + var selectedTab = TemplateVar.get('tab'); + + if (selectedTab) { + var existingUserTab = Helpers.getTabIdByUrl(selectedTab.url); + + if (existingUserTab === 'browser') { + var newTabId = Tabs.insert({ + url: selectedTab.url, + redirect: selectedTab.url, + name: selectedTab.name, + menu: {}, + position: Tabs.find().count() + 1 + }); + LocalStore.set('selectedTab', newTabId); + } else if (existingUserTab) { + LocalStore.set('selectedTab', existingUserTab); + } + + if (selectedTab._id === 'browser') { + var sameLastPage; + + // move the current browser tab to the last visited page + var lastPageItems = LastVisitedPages.find( + {}, + { limit: 2, sort: { timestamp: -1 } } + ).fetch(); + var lastPage = lastPageItems.pop(); + var lastPageURL = lastPage ? lastPage.url : 'http://about:blank'; + Tabs.update('browser', { + url: lastPageURL, + redirect: lastPageURL + }); + + // remove last page form last pages + if ( + (sameLastPage = LastVisitedPages.findOne({ + url: selectedTab.url + })) + ) { + LastVisitedPages.remove(sameLastPage._id); + } + } + } +}; + +var updateSelectedTabAccounts = function(accounts) { + var tabId = TemplateVar.get('selectedTab')._id; + Tabs.update(tabId, { + $set: { + 'permissions.accounts': accounts + } + }); +}; + +Template['popupWindows_connectAccount'].onCreated(function() { + this.autorun(function() { + TemplateVar.set('tab', Tabs.findOne(LocalStore.get('selectedTab'))); + + var tab = TemplateVar.get('tab'); + var accounts = + tab && tab.permissions && tab.permissions.accounts + ? tab.permissions.accounts + : []; + TemplateVar.set('accounts', accounts); + }); +}); + +Template['popupWindows_connectAccount'].helpers({ + /** + Returns the current dapp + + @method (dapp) + */ + dapp: function() { + return TemplateVar.get('tab'); + }, + /** + Returns a cleaner version of URL + + @method (dappFriendlyURL) + */ + dappFriendlyURL: function() { + var currentTab = TemplateVar.get('tab'); + if (currentTab && currentTab.url) { + return currentTab.url + .replace(/^https?:\/\/(www\.)?/, '') + .replace(/\/$/, ''); + } + }, + /** + Return the number of accounts this tab has permission for. + + @method accountNumber + @return {Number} + */ + accountNumber: function() { + var accounts = _.pluck(EthAccounts.find().fetch(), 'address'); + + return _.intersection(accounts, TemplateVar.get('accounts')).length; + }, + /** + Return an array with the selected accounts. + + @method selectedAccounts + @return {Array} + */ + selectedAccounts: function() { + var accounts = _.pluck(EthAccounts.find().fetch(), 'address'); + return _.intersection(accounts, TemplateVar.get('accounts')); + }, + /** + Return "selected" if the current account is allowed in that dapp. + + @method selected + @return {String} "selected" + */ + selected: function() { + return _.contains(TemplateVar.get('accounts'), this.address) + ? 'selected' + : ''; + } +}); + +Template['popupWindows_connectAccount'].events({ + /** + Toggles dapp account list selection. + + @event click .dapp-account-list button + */ + 'click .dapp-account-list button': function(e, template) { + e.preventDefault(); + var accounts = TemplateVar.get('accounts'); + + if (!_.contains(accounts, this.address)) { + accounts.push(this.address); + } else { + accounts = _.without(accounts, this.address); + } + + TemplateVar.set(template, 'accounts', accounts); + }, + /** + Closes the popup + + @event click .cancel + */ + 'click .cancel': function(e) { + ipc.send('backendAction_closePopupWindow'); + }, + /** + - Confirm or cancel the accounts available for this dapp and reload the dapp. + + @event click button.confirm, click button.cancel + */ + 'click .ok, click .stay-anonymous': function(e) { + e.preventDefault(); + + var accounts = TemplateVar.get('accounts'); + + // Pin to sidebar, if needed + if ($('#pin-to-sidebar')[0].checked) { + pinToSidebar(); + } + + accounts = _.unique(_.flatten(accounts)); + + // reload the webview + ipc.send('backendAction_windowMessageToOwner', null, accounts); + setTimeout(function() { + ipc.send('backendAction_closePopupWindow'); + }, 600); + }, + /** + Create account + + @event click button.create-account + */ + 'click button.create-account': function(e, template) { + ipc.send('mistAPI_createAccount'); + } +}); diff --git a/interface/client/templates/popupWindows/generic.html b/interface/client/templates/popupWindows/generic.html new file mode 100644 index 0000000..7155242 --- /dev/null +++ b/interface/client/templates/popupWindows/generic.html @@ -0,0 +1,4 @@ + diff --git a/interface/client/templates/popupWindows/generic.js b/interface/client/templates/popupWindows/generic.js new file mode 100644 index 0000000..68e0f26 --- /dev/null +++ b/interface/client/templates/popupWindows/generic.js @@ -0,0 +1,13 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The about template + +@class [template] popupWindows_generic +@constructor +*/ +Template['popupWindows_generic'].onCreated(function() {}); diff --git a/interface/client/templates/popupWindows/importAccount.html b/interface/client/templates/popupWindows/importAccount.html new file mode 100644 index 0000000..6b792f2 --- /dev/null +++ b/interface/client/templates/popupWindows/importAccount.html @@ -0,0 +1,31 @@ + diff --git a/interface/client/templates/popupWindows/importAccount.js b/interface/client/templates/popupWindows/importAccount.js new file mode 100644 index 0000000..d8d7d88 --- /dev/null +++ b/interface/client/templates/popupWindows/importAccount.js @@ -0,0 +1,163 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The importAccount import template + +@class [template] popupWindows_importAccount +@constructor +*/ + +Template['popupWindows_importAccount'].helpers({ + /** + Show password + + @method showPassword + */ + showPassword: function() { + return TemplateVar.get('showPassword') ? 'text' : 'password'; + } +}); + +Template['popupWindows_importAccount'].events({ + /** + On drag enter, change class + + @event dragenter .dropable + */ + 'dragenter .dropable': function(e) { + $(e.currentTarget).addClass('active'); + }, + /** + On drag leave, change class + + @event dragleave .dropable + */ + 'dragleave .dropable': function(e) { + $(e.currentTarget).removeClass('active'); + }, + /** + When the file is droped, read the path + + @event drop .dropable + */ + 'drop .dropable': function(e, template) { + e.preventDefault(); + + if (e.originalEvent.dataTransfer) { + files = e.originalEvent.dataTransfer.files; + } + + if (files.length) { + ipc.send('backendAction_checkWalletFile', files[0].path); + + ipc.on('uiAction_checkedWalletFile', function(ev, error, type) { + switch (type) { + case 'presale': + console.log(`Imported ${type} account`); + TemplateVar.set(template, 'filePath', files[0].path); + Tracker.afterFlush(function() { + template.$('.password').focus(); + }); + break; + case 'web3': + console.log(`Imported ${type} account`); + TemplateVar.set(template, 'filePath', files[0].path); + TemplateVar.set(template, 'importing', true); + setTimeout(function() { + ipc.send('backendAction_closePopupWindow'); + }, 750); + break; + default: + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.onboarding.errors.unknownFile' + ), + duration: 4 + }); + } + }); + } + + $(e.currentTarget).removeClass('active'); + }, + /** + On drag over prevent redirect + + @event dragover .dropable + */ + 'dragover .dropable': function(e) { + e.preventDefault(); + }, + /** + On show password + + @event click .show-password + */ + 'click .show-password': function(e) { + TemplateVar.set('showPassword', e.currentTarget.checked); + }, + /** + Checks the password match sends the file path and password to the mist backend to import + + @event submit form + */ + 'submit form': function(e, template) { + var pw = template.find('input.password').value; + + ipc.send('backendAction_importWalletFile', TemplateVar.get('filePath'), pw); + + TemplateVar.set('importing', true); + ipc.on('uiAction_importedWalletFile', function(ev, error, address) { + TemplateVar.set(template, 'importing', false); + TemplateVar.set(template, 'filePath', false); + + if (address) { + ipc.removeAllListeners('uiAction_importedWalletFile'); + console.log('Imported account: ', address); + + // move to add account screen, when in the onboarding window + if ($('.onboarding-start')[0]) { + TemplateVar.setTo( + '.onboarding-account', + 'newAccount', + web3.toChecksumAddress(address) + ); + TemplateVar.setTo('.onboarding-screen', 'currentActive', 'account'); + + // otherwise simply close the window + } else { + ipc.send('backendAction_closePopupWindow'); + } + } else { + console.log('Import failed', error); + + if (error === 'Decryption Failed') { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.onboarding.errors.wrongPassword' + ), + duration: 4 + }); + } else { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.onboarding.errors.importFailed', + { + error + } + ), + duration: 4 + }); + } + } + }); + + // clear form + template.find('input.password').value = ''; + pw = null; + } +}); diff --git a/interface/client/templates/popupWindows/loadingWindow.html b/interface/client/templates/popupWindows/loadingWindow.html new file mode 100644 index 0000000..04560a8 --- /dev/null +++ b/interface/client/templates/popupWindows/loadingWindow.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/interface/client/templates/popupWindows/requestAccount.html b/interface/client/templates/popupWindows/requestAccount.html new file mode 100644 index 0000000..c2a37ea --- /dev/null +++ b/interface/client/templates/popupWindows/requestAccount.html @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/interface/client/templates/popupWindows/requestAccount.js b/interface/client/templates/popupWindows/requestAccount.js new file mode 100644 index 0000000..aed232d --- /dev/null +++ b/interface/client/templates/popupWindows/requestAccount.js @@ -0,0 +1,84 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The request account popup window template + +@class [template] popupWindows_requestAccount +@constructor +*/ + +Template['popupWindows_requestAccount'].onRendered(function() { + this.$('input.password').focus(); + TemplateVar.set('showPassword', false); +}); + +Template['popupWindows_requestAccount'].helpers({ + passwordInputType: function() { + return TemplateVar.get('showPassword') ? 'text' : 'password'; + } +}); + +Template['popupWindows_requestAccount'].events({ + 'click .cancel': function() { + ipc.send('backendAction_closePopupWindow'); + }, + 'click .show-password': function(e) { + TemplateVar.set('showPassword', e.currentTarget.checked); + }, + 'submit form': function(e, template) { + e.preventDefault(); + var pw = template.find('input.password').value; + var pwRepeat = template.find('input.password-repeat').value; + + // ask for password repeat + if (!pwRepeat) { + TemplateVar.set('password-repeat', true); + template.$('input.password-repeat').focus(); + + // stop here so we dont set the password repeat to false + return; + } + + // check passwords + if (pw !== pwRepeat) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.requestAccount.errors.passwordMismatch' + ), + duration: 3 + }); + } else if (pw && pw.length < 8) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.requestAccount.errors.passwordTooShort' + ), + duration: 3 + }); + } else if (pw && pw.length >= 8) { + TemplateVar.set('creating', true); + web3.personal.newAccount(pwRepeat, function(e, res) { + if (!e) { + ipc.send('backendAction_windowMessageToOwner', null, res); + } else { + ipc.send('backendAction_windowMessageToOwner', e); + } + + TemplateVar.set(template, 'creating', false); + + // notifiy about backing up! + alert(TAPi18n.__('mist.popupWindows.requestAccount.backupHint')); + + ipc.send('backendAction_closePopupWindow'); + }); + } + + TemplateVar.set('password-repeat', false); + template.find('input.password-repeat').value = ''; + template.find('input.password').value = ''; + pw = pwRepeat = null; + } +}); diff --git a/interface/client/templates/popupWindows/sendTransactionConfirmation.html b/interface/client/templates/popupWindows/sendTransactionConfirmation.html new file mode 100644 index 0000000..7b60c79 --- /dev/null +++ b/interface/client/templates/popupWindows/sendTransactionConfirmation.html @@ -0,0 +1,181 @@ + diff --git a/interface/client/templates/popupWindows/sendTransactionConfirmation.js b/interface/client/templates/popupWindows/sendTransactionConfirmation.js new file mode 100644 index 0000000..e57fd89 --- /dev/null +++ b/interface/client/templates/popupWindows/sendTransactionConfirmation.js @@ -0,0 +1,495 @@ +/** +Template Controllers + +@module Templates +*/ + +var setWindowSize = function(template) { + Tracker.afterFlush(function() { + ipc.send( + 'backendAction_setWindowSize', + 580, + template.$('.popup-windows .inner-container').height() + 240 + ); + }); +}; + +var defaultEstimateGas = 50000000; + +/** +The sendTransaction confirmation popup window template + +@class [template] popupWindows_sendTransactionConfirmation +@constructor +*/ + +/** +Takes a 4-byte function signature and does a best-effort conversion to a +human readable text signature. + +@method (lookupFunctionSignature) +*/ +var lookupFunctionSignature = function(data, remoteLookup) { + return new Q(function(resolve, reject) { + if (data && data.length > 8) { + var bytesSignature = + data.substr(0, 2) === '0x' + ? data.substr(0, 10) + : '0x' + data.substr(0, 8); + + if (remoteLookup) { + https + .get( + 'https://www.4byte.directory/api/v1/signatures/?hex_signature=' + + bytesSignature, + function(response) { + var body = ''; + + response.on('data', function(chunk) { + body += chunk; + }); + + response.on('end', function() { + var responseData = JSON.parse(body); + if (responseData.results.length) { + resolve(responseData.results[0].text_signature); + } else { + resolve(bytesSignature); + } + }); + } + ) + .on('error', function(error) { + console.warn('Error querying Function Signature Registry.', err); + reject(bytesSignature); + }); + } else if (_.first(window.SIGNATURES[bytesSignature])) { + resolve(_.first(window.SIGNATURES[bytesSignature])); + } else { + reject(bytesSignature); + } + } else { + reject(undefined); + } + }); +}; + +var localSignatureLookup = function(data) { + return lookupFunctionSignature(data, false); +}; + +var remoteSignatureLookup = function(data) { + return lookupFunctionSignature(data, true); +}; + +var signatureLookupCallback = function(textSignature) { + // Clean version of function signature. Striping params + TemplateVar.set( + template, + 'executionFunction', + textSignature.replace(/\(.+$/g, '') + ); + TemplateVar.set(template, 'hasSignature', true); + + var params = textSignature.match(/\((.+)\)/i); + if (params) { + console.log('params sent', params); + TemplateVar.set(template, 'executionFunctionParamTypes', params); + ipc.send('backendAction_decodeFunctionSignature', textSignature, data.data); + } +}; + +Template['popupWindows_sendTransactionConfirmation'].onCreated(function() { + var template = this; + + ipc.on('uiAction_decodedFunctionSignatures', function(event, params) { + console.log('params returned', params); + TemplateVar.set(template, 'params', params); + }); + + // check reactively if provided gas is enough + this.autorun(function() { + if ( + TemplateVar.get('estimatedGas') > Number(TemplateVar.get('providedGas')) + ) { + TemplateVar.set('gasError', 'notEnoughGas'); + } else if (TemplateVar.get('estimatedGas') > 4000000) { + TemplateVar.set('gasError', 'overBlockGasLimit'); + } else { + TemplateVar.set('gasError', null); + } + }); + + // check inital data and gas estimates + this.autorun(function() { + TemplateVar.set(template, 'displayDecodedParams', true); + + var data = Session.get('data'); + + if (data) { + // set window size + setWindowSize(template); + + // set provided gas to templateVar + TemplateVar.set('providedGas', data.gas || 0); + TemplateVar.set('initialProvidedGas', data.gas || 0); + + // add gasPrice if not set + if (!data.gasPrice) { + web3.eth.getGasPrice(function(e, res) { + if (!e) { + data.gasPrice = '0x' + res.toString(16); + Session.set('data', data); + } + }); + } + + // check if to is a contract + if (data.to) { + web3.eth.getCode(data.to, function(e, res) { + if (!e && res && res.length > 2) { + TemplateVar.set(template, 'toIsContract', true); + setWindowSize(template); + } + }); + + if (data.data) { + localSignatureLookup(data.data) + .then(function(textSignature) { + // Clean version of function signature. Striping params + TemplateVar.set( + template, + 'executionFunction', + textSignature.replace(/\(.+$/g, '') + ); + TemplateVar.set(template, 'hasSignature', true); + + var params = textSignature.match(/\((.+)\)/i); + if (params) { + TemplateVar.set( + template, + 'executionFunctionParamTypes', + params + ); + ipc.send( + 'backendAction_decodeFunctionSignature', + textSignature, + data.data + ); + } + }) + .catch(function(bytesSignature) { + TemplateVar.set(template, 'executionFunction', bytesSignature); + TemplateVar.set(template, 'hasSignature', false); + }); + } + } + if (data.from) { + web3.eth.getCode(data.from, function(e, res) { + if (!e && res && res.length > 2) { + TemplateVar.set(template, 'fromIsContract', true); + } + }); + } + + // estimate gas usage + var estimateData = _.clone(data); + estimateData.gas = defaultEstimateGas; + web3.eth.estimateGas(estimateData, function(e, res) { + console.log('Estimated gas: ', res, e); + if (!e && res) { + // set the gas to the estimation, if not provided or lower + Tracker.nonreactive(function() { + var gas = Number(TemplateVar.get(template, 'providedGas')); + + if (res === defaultEstimateGas) { + return TemplateVar.set(template, 'estimatedGas', 'invalid'); + } + + TemplateVar.set(template, 'estimatedGas', res); + + if (!gas && res) { + TemplateVar.set(template, 'providedGas', res + 100000); + TemplateVar.set(template, 'initialProvidedGas', res + 100000); + } + }); + } + }); + } + }); +}); + +Template['popupWindows_sendTransactionConfirmation'].onRendered(function() { + var template = this; + + Meteor.setTimeout(function() { + template.$('input[type="password"]').focus(); + }, 200); +}); + +Template['popupWindows_sendTransactionConfirmation'].helpers({ + /** + Returns the total amount + + @method (totalAmount) + */ + totalAmount: function() { + var amount = EthTools.formatBalance( + this.value, + '0,0.00[0000000000000000]', + 'ether' + ); + var dotPos = ~amount.indexOf('.') + ? amount.indexOf('.') + 3 + : amount.indexOf(',') + 3; + + return amount + ? amount.substr(0, dotPos) + + '' + + amount.substr(dotPos) + + '' + : '0'; + }, + /** + Calculates the fee used for this transaction in ether + + @method (estimatedFee) + */ + estimatedFee: function() { + var gas = TemplateVar.get('estimatedGas'); + if (gas && this.gasPrice) { + return EthTools.formatBalance( + new BigNumber(gas, 10).times(new BigNumber(this.gasPrice, 10)), + '0,0.0[0000000] unit', + 'ether' + ); + } + }, + /** + Calculates the provided gas amount in ether + + @method (providedGas) + */ + providedGas: function() { + var gas = TemplateVar.get('providedGas'); + if (gas && this.gasPrice) { + return EthTools.formatBalance( + new BigNumber(gas, 10).times(new BigNumber(this.gasPrice, 10)), + '0,0.0[0000000]', + 'ether' + ); + } + }, + /** + Shortens the address to 0xffff...ffff + + @method (shortenAddress) + */ + shortenAddress: function(address) { + if (_.isString(address)) { + return address.substr(0, 6) + '...' + address.substr(-4); + } + }, + /** + Formats the data so that all zeros are wrapped in span.zero + + @method (formattedData) + */ + formattedData: function() { + return TemplateVar.get('toIsContract') + ? this.data + .replace(/([0]{2,})/g, '$1') + .replace(/(0x[a-f0-9]{8})/i, '$1') + : this.data.replace(/([0]{2,})/g, '$1'); + }, + + params: function() { + return TemplateVar.get('params'); + }, + /** + Formats parameters + + @method (showFormattedParams) + */ + showFormattedParams: function() { + return TemplateVar.get('params') && TemplateVar.get('displayDecodedParams'); + }, + /** + Checks if transaction will be invalid + + @method (transactionInvalid) + */ + transactionInvalid: function() { + return ( + TemplateVar.get('estimatedGas') === 'invalid' || + TemplateVar.get('estimatedGas') === 0 || + typeof TemplateVar.get('estimatedGas') === 'undefined' + ); + } +}); + +Template['popupWindows_sendTransactionConfirmation'].events({ + /** + Gets the new provided gas in ether amount and calculates the resulting providedGas + + @event change .provided-gas, input .provided-gas + */ + 'change .provided-gas, input .provided-gas': function(e, template) { + var gas = template + .$('.provided-gas') + .text() + .replace(/[, ]+/g, ''); // template.$('.provided-gas').text(); + + TemplateVar.set('providedGas', gas); + }, + /** + Increase the estimated gas + + @event click .not-enough-gas + */ + 'click .not-enough-gas': function() { + var gas = Number(TemplateVar.get('estimatedGas')) + 100000; + TemplateVar.set('initialProvidedGas', gas); + TemplateVar.set('providedGas', gas); + }, + /** + Cancel the transaction confirmation and close the popup + + @event click .cancel + */ + 'click .cancel': function() { + ipc.send( + 'backendAction_unlockedAccountAndSentTransaction', + 'Transaction not confirmed' + ); + ipc.send('backendAction_closePopupWindow'); + }, + /** + Confirm the transaction + + @event submit form + */ + 'submit form': function(e, template) { + e.preventDefault(); + + var data = Session.get('data'), + pw = template.find('input[type="password"]').value, + gas = web3.fromDecimal(TemplateVar.get('providedGas')); + + // check if account is about to send to itself + if (data.to && data.from === data.to.toLowerCase()) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.sendTransactionConfirmation.errors.sameAccount' + ), + duration: 5 + }); + + return false; + } + + console.log('Choosen Gas: ', gas, TemplateVar.get('providedGas')); + + if (!gas || !_.isFinite(gas)) { + return; + } else { + data.gas = gas; + } + + TemplateVar.set('unlocking', true); + + // unlock and send transaction! + web3.personal.sendTransaction(data, pw || '', function(e, res) { + pw = null; + TemplateVar.set(template, 'unlocking', false); + + if (!e && res) { + ipc.send('backendAction_unlockedAccountAndSentTransaction', null, res); + } else { + Tracker.afterFlush(function() { + template.find('input[type="password"]').value = ''; + template.$('input[type="password"]').focus(); + }); + if (e.message.indexOf('Unable to connect to socket: timeout') !== -1) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.sendTransactionConfirmation.errors.connectionTimeout' + ), + duration: 5 + }); + } else if ( + e.message.indexOf('could not decrypt key with given passphrase') !== + -1 + ) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.sendTransactionConfirmation.errors.wrongPassword' + ), + duration: 3 + }); + } else if (e.message.indexOf('multiple keys match address') !== -1) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.sendTransactionConfirmation.errors.multipleKeysMatchAddress' + ), + duration: 10 + }); + } else if ( + e.message.indexOf('Insufficient funds for gas * price + value') !== -1 + ) { + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.sendTransactionConfirmation.errors.insufficientFundsForGas' + ), + duration: 5 + }); + } else { + GlobalNotification.warning({ + content: e.message, + duration: 5 + }); + } + } + }); + }, + + 'click .data .toggle-panel': function() { + TemplateVar.set('displayDecodedParams', true); + }, + 'click .parameters .toggle-panel': function() { + TemplateVar.set('displayDecodedParams', false); + }, + 'click .lookup-function-signature': function(e, template) { + var data = Session.get('data'); + TemplateVar.set('lookingUpFunctionSignature', true); + + remoteSignatureLookup(data.data) + .then(function(textSignature) { + TemplateVar.set(template, 'lookingUpFunctionSignature', false); + + // Clean version of function signature. Striping params + TemplateVar.set( + template, + 'executionFunction', + textSignature.replace(/\(.+$/g, '') + ); + TemplateVar.set(template, 'hasSignature', true); + + var params = textSignature.match(/\((.+)\)/i); + if (params) { + console.log('params:', params); + TemplateVar.set(template, 'executionFunctionParamTypes', params); + ipc.send( + 'backendAction_decodeFunctionSignature', + textSignature, + data.data + ); + } + }) + .catch(function(bytesSignature) { + TemplateVar.set(template, 'lookingUpFunctionSignature', false); + TemplateVar.set(template, 'executionFunction', bytesSignature); + TemplateVar.set(template, 'hasSignature', false); + }); + } +}); diff --git a/interface/client/templates/popupWindows/splashScreen.html b/interface/client/templates/popupWindows/splashScreen.html new file mode 100644 index 0000000..3c9bd19 --- /dev/null +++ b/interface/client/templates/popupWindows/splashScreen.html @@ -0,0 +1,35 @@ + diff --git a/interface/client/templates/popupWindows/splashScreen.js b/interface/client/templates/popupWindows/splashScreen.js new file mode 100644 index 0000000..23e918e --- /dev/null +++ b/interface/client/templates/popupWindows/splashScreen.js @@ -0,0 +1,300 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The splashScreen template + +@class [template] popupWindows_splashScreen +@constructor +*/ + +/** +Contains the last state of the data + +@property lastSyncData +*/ +var lastSyncData = {}, + showNodeLog = true; + +Template['popupWindows_splashScreen'].onCreated(function() { + var template = this; + template._intervalId = null; + + ipc.on('uiAction_nodeLogText', function(e, text, data) { + if (showNodeLog && data) { + TemplateVar.set(template, 'logText', data); + TemplateVar.set(template, 'syncStatusMessage', false); + return; + } + }); + + ipc.on('uiAction_clientBinaryStatus', function(e, status) { + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.clientBinaries.' + status) + ); + TemplateVar.set(template, 'showNetworkIndicator', status === 'done'); + TemplateVar.set(template, 'showProgressBar', false); + TemplateVar.set(template, 'showStartAppButton', false); + TemplateVar.set(template, 'showRetryConnectionButton', false); + TemplateVar.set(template, 'logText', null); + }); + + ipc.on('uiAction_nodeStatus', function(e, status, errorTag) { + switch (status) { + case 'starting': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeStarting') + ); + showNodeLog = true; + TemplateVar.set(template, 'logText', null); + TemplateVar.set(template, 'showProgressBar', false); + TemplateVar.set(template, 'showStartAppButton', false); + TemplateVar.set(template, 'showRetryConnectionButton', false); + break; + + case 'started': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeStarted') + ); + break; + + case 'connected': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeConnected') + ); + lastSyncData = {}; + break; + + case 'stopping': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeStopping') + ); + TemplateVar.set(template, 'showProgressBar', false); + TemplateVar.set(template, 'showStartAppButton', false); + break; + + case 'stopped': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeStopped') + ); + break; + + case 'connectionTimeout': + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeConnectionTimeout') + ); + break; + + case 'error': + errorTag = 'mist.startScreen.' + (errorTag || 'nodeError'); + + TemplateVar.set(template, 'text', TAPi18n.__(errorTag)); + TemplateVar.set(template, 'showRetryConnectionButton', true); + TemplateVar.set( + template, + 'retryConnectionButtonText', + TAPi18n.__('mist.startScreen.retryConnection') + ); + break; + } + }); + + ipc.on('uiAction_nodeSyncStatus', function(e, status, data) { + console.trace('Node sync status', status, data); + + TemplateVar.set(template, 'smallClass', 'small'); + + if (status === 'inProgress') { + TemplateVar.set(template, 'showStartAppButton', true); + TemplateVar.set( + template, + 'startAppButtonText', + TAPi18n.__('mist.startScreen.launchApp') + ); + + if (data !== false) { + // if state is "in progress" and we have data + showNodeLog = false; + var translationString = ''; + + // add the data received to the object lastSyncData + lastSyncData = _.extend(lastSyncData, data || {}); + + // Select the appropriate message + if (web3.net.peerCount > 0) { + // Check which state we are + if ( + 0 < lastSyncData._displayKnownStates && + (Number(lastSyncData.pulledStates) !== + Math.round(lastSyncData._displayState) || + Number(lastSyncData.knownStates) !== + Math.round(lastSyncData._displayKnownStates)) + ) { + // Mostly downloading new states + translationString = 'mist.startScreen.nodeSyncInfoStates'; + } else { + // Mostly downloading blocks + translationString = 'mist.startScreen.nodeSyncInfo'; + } + } else { + // Not online + translationString = 'mist.startScreen.nodeSyncConnecting'; + } + + // Saves data as numbers (hex) + lastSyncData._highestBlock = lastSyncData.highestBlock; + + // saves data as pretty strings + lastSyncData.highestBlock = numeral(lastSyncData.highestBlock).format( + '0,0' + ); + + // saves to template + TemplateVar.set(template, 'lastSyncData', lastSyncData); + } else { + // It's not connected anymore + if (web3.net.peerCount > 1) { + translationString = 'mist.startScreen.nodeSyncFoundPeers'; + } else { + translationString = 'mist.startScreen.nodeSyncConnecting'; + } + + TemplateVar.set(template, 'lastSyncData', { + peers: web3.net.peerCount + }); + } + + TemplateVar.set(template, 'logText', false); + TemplateVar.set( + template, + 'text', + TAPi18n.__('mist.startScreen.nodeSyncing') + ); + TemplateVar.set(template, 'syncStatusMessage', translationString); + } + }); +}); + +Template['popupWindows_splashScreen'].helpers({ + /** + Returns the current splash screen mode + + @method mode + */ + mode: function() { + return window.mistMode; + }, + /** + Returns the icon path + + @method iconPath + */ + iconPath: function() { + return ( + 'file://' + window.dirname + '/icons/' + window.mistMode + '/icon2x.png' + ); + }, + /** + Updates the Sync Message live + + @method syncStatus + */ + syncStatus: function() { + // This functions loops trhough numbers while waiting for the node to respond + var template = Template.instance(); + Meteor.clearInterval(template._intervalId); + + // Create an interval to quickly iterate trough the numbers + template._intervalId = Meteor.setInterval(function() { + // loads data from templates + var syncData = TemplateVar.get(template, 'lastSyncData', lastSyncData); + var translationString = TemplateVar.get(template, 'syncStatusMessage'); + + if (!(syncData._displayBlock > -1)) { + // initialize the display numbers + syncData._displayBlock = Number(syncData.currentBlock); + syncData._displayState = Number(syncData.pulledStates || 0); + syncData._displayKnownStates = Number(syncData.knownStates || 0); + } else { + // Increment each them slowly to match target number + syncData._displayBlock += + (Number(syncData.currentBlock) - syncData._displayBlock) / 100; + syncData._displayState += + (Number(syncData.pulledStates || 0) - syncData._displayState) / 100; + syncData._displayKnownStates += + (Number(syncData.knownStates || 0) - syncData._displayKnownStates) / + 100; + } + + // Create the fancy strings + lastSyncData.displayBlock = numeral( + Math.round(lastSyncData._displayBlock) + ).format('0,0'); + lastSyncData.displayState = numeral( + Math.round(lastSyncData._displayState) + ).format('0,0'); + lastSyncData.displayKnownStates = numeral( + Math.round(lastSyncData._displayKnownStates) + ).format('0,0'); + + // Translate it + var translatedMessage = TAPi18n.__(translationString, syncData); + + // Calculates both progress bars + var stateProgress = null; + if (0 < lastSyncData._displayKnownStates) { + stateProgress = + lastSyncData._displayState / lastSyncData._displayKnownStates * 100; + } + + var progress = + (lastSyncData._displayBlock - Number(lastSyncData.startingBlock)) / + (Number(lastSyncData._highestBlock) - + Number(lastSyncData.startingBlock)) * + 100; + + // Saves data back to templates + TemplateVar.set(template, 'syncStatusMessageLive', translatedMessage); + TemplateVar.set(template, 'lastSyncData', syncData); + + // set progress value + if (_.isFinite(progress)) { + TemplateVar.set(template, 'showProgressBar', true); + TemplateVar.set(template, 'progress', progress); + if (null !== stateProgress) { + TemplateVar.set(template, 'showStateProgressBar', true); + TemplateVar.set(template, 'stateProgress', stateProgress); + } + } + }, 10); + + return TemplateVar.get(template, 'syncStatusMessageLive'); + } +}); + +Template['popupWindows_splashScreen'].events({ + 'click .start-app': function() { + ipc.send('backendAction_skipSync'); + }, + + 'click .retry-connection': function() { + ipc.send('retryConnection'); + } +}); diff --git a/interface/client/templates/popupWindows/unlockMasterPassword.html b/interface/client/templates/popupWindows/unlockMasterPassword.html new file mode 100644 index 0000000..0a78aab --- /dev/null +++ b/interface/client/templates/popupWindows/unlockMasterPassword.html @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/interface/client/templates/popupWindows/unlockMasterPassword.js b/interface/client/templates/popupWindows/unlockMasterPassword.js new file mode 100644 index 0000000..ba136f7 --- /dev/null +++ b/interface/client/templates/popupWindows/unlockMasterPassword.js @@ -0,0 +1,56 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The request account popup window template + +@class [template] popupWindows_unlockMasterPassword +@constructor +*/ + +Template['popupWindows_unlockMasterPassword'].onRendered(function() { + var template = this; + + template.$('input.password').focus(); + + template.autorun(function() { + var data = Session.get('data'); + + if (data && data.masterPasswordWrong) { + TemplateVar.set('unlocking', false); + + Tracker.afterFlush(function() { + template.$('input.password').focus(); + }); + + GlobalNotification.warning({ + content: TAPi18n.__( + 'mist.popupWindows.unlockMasterPassword.errors.wrongPassword' + ), + duration: 3 + }); + + Session.set('data', false); + } + }); +}); + +Template['popupWindows_unlockMasterPassword'].events({ + 'click .cancel': function() { + ipc.send('backendAction_closePopupWindow'); + }, + 'submit form': function(e, template) { + e.preventDefault(); + var pw = template.find('input.password').value; + + TemplateVar.set('unlocking', true); + + ipc.send('backendAction_unlockedMasterPassword', null, pw); + + template.find('input.password').value = ''; + pw = null; + } +}); diff --git a/interface/client/templates/popupWindows/updateAvailable.html b/interface/client/templates/popupWindows/updateAvailable.html new file mode 100644 index 0000000..7a36e52 --- /dev/null +++ b/interface/client/templates/popupWindows/updateAvailable.html @@ -0,0 +1,49 @@ + \ No newline at end of file diff --git a/interface/client/templates/popupWindows/updateAvailable.js b/interface/client/templates/popupWindows/updateAvailable.js new file mode 100644 index 0000000..464c90f --- /dev/null +++ b/interface/client/templates/popupWindows/updateAvailable.js @@ -0,0 +1,49 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The updateAvailable template + +@class [template] popupWindows_updateAvailable +@constructor +*/ +Template['popupWindows_updateAvailable'].onCreated(function() { + var template = this; + + TemplateVar.set(template, 'checking', true); + + /* + When app update check is in progress it. + */ + ipc.on('uiAction_checkUpdateInProgress', function(e, update) { + console.debug('Update check in progress...'); + + TemplateVar.set(template, 'checking', true); + }); + + /* + When app update data is received display it. + */ + ipc.on('uiAction_checkUpdateDone', function(e, update) { + console.debug('Update check done'); + + TemplateVar.set(template, 'checking', false); + + if (update) { + TemplateVar.set(template, 'update', update); + } + }); +}); + +Template['popupWindows_updateAvailable'].events({ + 'click .get-update': function(e) { + var update = TemplateVar.get('update'); + + if (update && update.url) { + ipc.send('backendAction_openExternalUrl', update.url); + } + } +}); diff --git a/interface/client/templates/views/webview.html b/interface/client/templates/views/webview.html new file mode 100644 index 0000000..98f278e --- /dev/null +++ b/interface/client/templates/views/webview.html @@ -0,0 +1,9 @@ + diff --git a/interface/client/templates/views/webview.js b/interface/client/templates/views/webview.js new file mode 100644 index 0000000..7b0c6d9 --- /dev/null +++ b/interface/client/templates/views/webview.js @@ -0,0 +1,191 @@ +/** +Template Controllers + +@module Templates +*/ + +/** +The tab template + +@class [template] views_webview +@constructor +*/ + +Template['views_webview'].onRendered(function() { + var template = this, + tabId = template.data._id, + webview = template.find('webview'); + + ipc.on('uiAction_reloadSelectedTab', function(e) { + console.log('uiAction_reloadSelectedTab', LocalStore.get('selectedTab')); + if (LocalStore.get('selectedTab') === this._id) { + var webview = Helpers.getWebview(LocalStore.get('selectedTab')); + webview.reload(); + } + }); + + webview.addEventListener('did-start-loading', function(e) { + TemplateVar.set(template, 'loading', true); + }); + webview.addEventListener('did-stop-loading', function(e) { + TemplateVar.set(template, 'loading', false); + }); + + // change url + webview.addEventListener( + 'did-navigate', + webviewChangeUrl.bind(webview, tabId) + ); + webview.addEventListener( + 'did-navigate-in-page', + webviewChangeUrl.bind(webview, tabId) + ); + webview.addEventListener( + 'did-get-redirect-request', + webviewChangeUrl.bind(webview, tabId) + ); + webview.addEventListener( + 'did-stop-loading', + webviewChangeUrl.bind(webview, tabId) + ); + + // set page history + webview.addEventListener('dom-ready', function(e) { + var titleFull = webview.getTitle(), + title = titleFull; + + if (titleFull && titleFull.length > 40) { + title = titleFull.substr(0, 40); + title += '…'; + } + + // update the title + Tabs.update(tabId, { + $set: { + name: title, + nameFull: titleFull + // url: webview.getURL(), + } + }); + + webviewLoadStop.call(this, tabId, e); + }); + + // show error pages + webview.addEventListener('did-fail-load', showError.bind(webview, tabId)); + webview.addEventListener('crashed', showError.bind(webview, tabId)); + + // Forward SWARM status code errors to showError + webview.addEventListener('did-get-response-details', function(e) { + if (e && e.resourceType === 'mainFrame' && /^bzz:\//i.test(e.newURL)) { + switch (e.httpResponseCode) { + case 500: + showError.call(webview, tabId, { + isMainFrame: true, + errorCode: 404 + }); + break; + } + } + }); + + // navigate page, and redirect to browser tab if necessary + webview.addEventListener( + 'will-navigate', + webviewLoadStart.bind(webview, tabId) + ); + webview.addEventListener( + 'did-get-redirect-request', + webviewLoadStart.bind(webview, tabId) + ); + webview.addEventListener('new-window', webviewLoadStart.bind(webview, tabId)); + + // MIST API for installed tabs/dapps + webview.addEventListener( + 'ipc-message', + mistAPIBackend.bind({ + template: template, + webview: webview + }) + ); +}); + +Template['views_webview'].helpers({ + /** + Gets the correct preloader file + + @method (preloaderFile) + */ + preloaderFile: function() { + switch (this._id) { + case 'browser': + return 'file://' + Helpers.preloaderDirname + '/browser.js'; + case 'tests': + return 'file://' + Helpers.preloaderDirname + '/tests.js'; + default: + return 'file://' + Helpers.preloaderDirname + '/dapps.js'; + } + }, + /** + Determines if the current tab is visible + + @method (isVisible) + */ + isVisible: function() { + return LocalStore.get('selectedTab') === this._id ? '' : 'hidden'; + }, + /** + Gets the current url + + @method (checkedUrl) + */ + checkedUrl: function() { + var template = Template.instance(); + var tab = Tabs.findOne(this._id, { fields: { redirect: 1 } }); + var url; + + if (tab) { + // set url only once + if (tab.redirect) { + url = tab.redirect; + + // remove redirect + Tabs.update(this._id, { + $unset: { + redirect: '' + } + }); + } + + // allow error pages + if (url && url.indexOf('file://' + dirname + '/errorPages/') === 0) { + return url; + } + + // CHECK URL and throw error if not allowed + if (!Helpers.sanitizeUrl(url, true)) { + // Prevent websites usingt the history back attacks + if (template.view.isRendered) { + // get the current webview + var webview = template.find('webview'); + webview.clearHistory(); + } + + console.warn('Not allowed URL: ' + template.url); + return 'file://' + dirname + '/errorPages/400.html'; + } + + // add url + if (url) { + template.url = url; + Tabs.update(this._id, { + $set: { + url: url + } + }); + } + + return Helpers.formatUrl(url); + } + } +}); diff --git a/interface/client/templates/webviewEvents.js b/interface/client/templates/webviewEvents.js new file mode 100644 index 0000000..e668f45 --- /dev/null +++ b/interface/client/templates/webviewEvents.js @@ -0,0 +1,151 @@ +showError = function(tabId, e) { + if (e.isMainFrame || e.killed) { + var url, + path = 'file://' + dirname + '/errorPages/'; + + if (e.killed) { + e.errorCode = 500; + } + + switch (e.errorCode) { + case -105: + url = path + '404.html'; + break; + case 404: + url = path + '404.html'; + break; + case 500: + url = path + '500.html'; + break; + } + + if (url) { + Tabs.update(tabId, { + $set: { + redirect: url + } + }); + } + } +}; + +webviewChangeUrl = function(tabId, e) { + if (e.type === 'did-navigate-in-page' && !e.isMainFrame) { + return; + } + + var url = Helpers.sanitizeUrl(e.url || this.getURL()); + + console.log(e.type, tabId, url); + + if (e.type === 'did-navigate') { + // destroy socket when navigating away + ipc.send('ipcProvider-destroy', this.getWebContents().id); + } + + // make sure to not store error pages in history + if ( + !url || + url.indexOf('mist/errorPages/') !== -1 || + url.indexOf('app.asar/errorPages/') !== -1 + ) { + return; + } + + // update the URL + Tabs.update(tabId, { + $set: { + url: url + } + }); +}; + +// fired by "did-stop-loading" +webviewLoadStop = function(tabId, e) { + var webview = this, + url = Helpers.sanitizeUrl(webview.getURL()), + title = webview.getTitle(); + + console.log(e.type, tabId, url); + + // IS BROWSER + if (tabId === 'browser') { + // ADD to doogle last visited pages + if ( + (find = _.find(LastVisitedPages.find().fetch(), function(historyEntry) { + if (!historyEntry.url) { + return; + } + var historyEntryOrigin = new URL(historyEntry.url).origin; + return url.indexOf(historyEntryOrigin) !== -1; + })) + ) { + LastVisitedPages.update(find._id, { + $set: { + timestamp: moment().unix(), + url: url + } + }); + } else { + LastVisitedPages.insert({ + name: title, + url: url, + // icon: '', + timestamp: moment().unix() + }); + } + + // ADD to doogle history + if ((find = History.findOne({ url: url }))) { + History.update(find._id, { $set: { timestamp: moment().unix() } }); + } else { + History.insert({ + name: title, + url: url, + // icon: '', + timestamp: moment().unix() + }); + } + } +}; + +// fired by "did-get-redirect-request" +// fired by "new-window" +// fired by "will-navigate" +webviewLoadStart = function(currentTabId, e) { + var webview = this; + + if (e.type === 'did-get-redirect-request' && !e.isMainFrame) { + return; + } + + console.log(e.type, currentTabId, e); + + // stop this action, as the redirect happens reactive through setting the URL attribute + e.preventDefault(); // doesnt work + webview.stop(); // doesnt work + ipc.sendSync( + 'backendAction_stopWebviewNavigation', + webview.getWebContents().id + ); + + var url = Helpers.sanitizeUrl(e.newURL || e.url); + var tabId = Helpers.getTabIdByUrl(url); + + // if new window (_blank) open in tab, or browser + if (e.type === 'new-window' && tabId === currentTabId) { + tabId = 'browser'; + } + + var tab = Tabs.findOne(tabId); + + if (tab.url !== url) { + Tabs.update(tabId, { + $set: { + redirect: url, + url: url + } + }); + } + LocalStore.set('selectedTab', tabId); +}; diff --git a/interface/client/windowEvents.js b/interface/client/windowEvents.js new file mode 100644 index 0000000..8e344e5 --- /dev/null +++ b/interface/client/windowEvents.js @@ -0,0 +1,55 @@ +// add the platform to the HTML tag +setTimeout(function() { + document.getElementsByTagName('html')[0].className = window.mist.platform; + + if (window.basePathHref) { + var base = document.createElement('base'); + + base.href = window.basePathHref; + + document.getElementsByTagName('head')[0].appendChild(base); + } +}, 200); + +$(window).on('blur', function(e) { + $('body').addClass('app-blur'); +}); +$(window).on('focus', function(e) { + $('body').removeClass('app-blur'); +}); + +// make sure files can only be dropped in the browser webview +$(window).on('dragenter', function(e) { + LocalStore.set('selectedTab', 'browser'); + ipc.send('backendAction_focusMainWindow'); +}); + +$(window).on('keydown', function(e) { + // Select tab with index when number is 1-8 + if (e.metaKey && e.keyCode >= 49 && e.keyCode <= 56) { + var index = parseInt(String.fromCharCode(e.keyCode), 10) - 1; + Helpers.selectTabWithIndex(index); + return; + } + + // RELOAD current webview + if (e.metaKey && e.keyCode === 82) { + var webview = Helpers.getWebview(LocalStore.get('selectedTab')); + if (webview) { + webview.reloadIgnoringCache(); + } + return; + } + + // Select last tab on Ctrl + 9 + if (e.metaKey && e.keyCode === 57) { + Helpers.selectLastTab(); + return; + } + + // Ctrl + tab || Ctrl + shift + tab + if (e.ctrlKey && e.keyCode === 9) { + var tabOffset = e.shiftKey ? -1 : 1; + Helpers.selectTabWithOffset(tabOffset); + } +}); diff --git a/interface/i18n/app.ca.i18n.json b/interface/i18n/app.ca.i18n.json new file mode 100644 index 0000000..88a1e22 --- /dev/null +++ b/interface/i18n/app.ca.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Carregant...", + "offline": "No s'ha pogut connectar, estàs desconectat?", + "logginIn": "iniciant sessió..." + }, + "error": { + "insufficientRights": "No tens prous drets per aquesta acció." + }, + "buttons": { + "ok": "OK", + "cancel": "Cancel·lar", + "save": "Desa", + "edit": "Edita", + "send": "Envia", + "next": "Següent", + "previous": "Anterior", + "back": "Enrere", + "skip": "Omet", + "sending": "Enviant...", + "create": "Crea", + "tryToReconnect": "Intenta reconnectar", + "stayAnonymous": "Mantenir l'anonimat", + "authorize": "Authoritza" + }, + "commonWords": { + "you": "Tu", + "send": "Envia", + "or": "o", + "of": "de", + "with": "amb", + "and": "i", + "on": "a", + "per": "per" + } +} diff --git a/interface/i18n/app.de.i18n.json b/interface/i18n/app.de.i18n.json new file mode 100644 index 0000000..6978e99 --- /dev/null +++ b/interface/i18n/app.de.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Lade...", + "offline": "Kann mich nicht verbinden, bist du offline?", + "logginIn": "Einloggen..." + }, + "error": { + "insufficientRights": "Du hast nicht genügend Rechte für diese Aktion." + }, + "buttons": { + "ok": "OK", + "cancel": "Abbrechen", + "save": "Speichern", + "edit": "Editieren", + "send": "Senden", + "next": "Weiter", + "previous": "Zurück", + "back": "Zurück", + "skip": "Überspringen", + "sending": "Sende...", + "create": "Erstellen", + "tryToReconnect": "Versuche mich zu verbinden", + "stayAnonymous": "Anonym bleiben", + "authorize": "Autorisieren" + }, + "commonWords": { + "you": "Du", + "send": "Senden", + "or": "oder", + "of": "von", + "with": "mit", + "and": "und", + "on": "auf", + "per": "pro" + } +} diff --git a/interface/i18n/app.en.i18n.json b/interface/i18n/app.en.i18n.json new file mode 100644 index 0000000..49ec63b --- /dev/null +++ b/interface/i18n/app.en.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Loading...", + "offline": "Can't connect, are you offline?", + "logginIn": "Logging in..." + }, + "error": { + "insufficientRights": "You don't have enough rights for this action." + }, + "buttons": { + "ok": "OK", + "cancel": "Cancel", + "save": "Save", + "edit": "Edit", + "send": "Send", + "next": "Next", + "previous": "Previous", + "back": "Back", + "skip": "Skip", + "sending": "Sending...", + "create": "Create", + "tryToReconnect": "Try to reconnect", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "You", + "send": "Send", + "or": "or", + "of": "of", + "with": "with", + "and": "and", + "on": "on", + "per": "per" + } +} diff --git a/interface/i18n/app.es.i18n.json b/interface/i18n/app.es.i18n.json new file mode 100644 index 0000000..7dffe21 --- /dev/null +++ b/interface/i18n/app.es.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Cargando...", + "offline": "No se puede conectar, estás fuera de línea?", + "logginIn": "Iniciando sesión..." + }, + "error": { + "insufficientRights": "Usted no tiene suficientes derechos para esta acción." + }, + "buttons": { + "ok": "OK", + "cancel": "Cancelar", + "save": "Guardar", + "edit": "Editar", + "send": "Enviar", + "next": "Siguiente", + "previous": "Anterior", + "back": "Atrás", + "skip": "Omitir", + "sending": "Enviando...", + "create": "Crear", + "tryToReconnect": "Intente volver a conectar", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "Tú", + "send": "Enviar", + "or": "o", + "of": "de", + "with": "con", + "and": "y", + "on": "en", + "per": "por" + } +} \ No newline at end of file diff --git a/interface/i18n/app.fa.i18n.json b/interface/i18n/app.fa.i18n.json new file mode 100644 index 0000000..94363bb --- /dev/null +++ b/interface/i18n/app.fa.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "بارگذاری...", + "offline": "نمی توانم وصل شوم، آیا شما قطع هستید؟", + "logginIn": "بارگذاری در..." + }, + "error": { + "insufficientRights": "شما برای این عملیات دسترسی کافی ندارید." + }, + "buttons": { + "ok": "تایید", + "cancel": "لغو", + "save": "ذخیره", + "edit": "ویرایش", + "send": "ارسال", + "next": "بعدی", + "previous": "قبلی", + "back": "عقب", + "skip": "جستن", + "sending": "ارسال...", + "create": "ساختن", + "tryToReconnect": "تلاش برای وصل مجدد", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "شما", + "send": "ارسال", + "or": "یا", + "of": "از", + "with": "با", + "and": "و", + "on": "بر", + "per": "در هر" + } +} \ No newline at end of file diff --git a/interface/i18n/app.fr.i18n.json b/interface/i18n/app.fr.i18n.json new file mode 100644 index 0000000..8daa8bc --- /dev/null +++ b/interface/i18n/app.fr.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Chargement en cours...", + "offline": "Impossible de se connecter, êtes-vous déconnecté ?", + "logginIn": "Connexion en cours..." + }, + "error": { + "insufficientRights": "Vous n'avez pas les droits pour effectuer cette action." + }, + "buttons": { + "ok": "OK", + "cancel": "Annuler", + "save": "Enregistrer", + "edit": "Modifier", + "send": "Envoyer", + "next": "Suivant", + "previous": "Précédent", + "back": "Retour", + "skip": "Ignorer", + "sending": "Envoi en cours...", + "create": "Créer", + "tryToReconnect": "Tentative de reconnexion", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "Vous", + "send": "Envoyer", + "or": "ou", + "of": "de", + "with": "avec", + "and": "et", + "on": "sur", + "per": "par" + } +} \ No newline at end of file diff --git a/interface/i18n/app.it.i18n.json b/interface/i18n/app.it.i18n.json new file mode 100644 index 0000000..62024ed --- /dev/null +++ b/interface/i18n/app.it.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Caricamento...", + "offline": "Impossibile connettersi, sicuro di essere online?", + "logginIn": "Autenticazione..." + }, + "error": { + "insufficientRights": "Non hai sufficienti diritti per compiere quasta azione." + }, + "buttons": { + "ok": "OK", + "cancel": "Annulla", + "save": "Salva", + "edit": "Modifica", + "send": "Invia", + "next": "Prossimo", + "previous": "Precedente", + "back": "Indietro", + "skip": "Salta", + "sending": "Inviando...", + "create": "Crea", + "tryToReconnect": "Prova a riconnetterti", + "stayAnonymous": "Rimani anonimo", + "authorize": "Autorizza" + }, + "commonWords": { + "you": "Tu", + "send": "Invia", + "or": "oppure", + "of": "di", + "with": "con", + "and": "e", + "on": "su", + "per": "per" + } +} diff --git a/interface/i18n/app.ja.i18n.json b/interface/i18n/app.ja.i18n.json new file mode 100644 index 0000000..cbe3222 --- /dev/null +++ b/interface/i18n/app.ja.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "ロード中...", + "offline": "ネットワークが繋がりません。オフラインですか?", + "logginIn": "ログインしています..." + }, + "error": { + "insufficientRights": "このアクションを行うだけの権限が足りません。" + }, + "buttons": { + "ok": "OK", + "cancel": "キャンセル", + "save": "保存", + "edit": "編集", + "send": "送る", + "next": "次へ", + "previous": "前へ", + "back": "バック", + "skip": "スキップ", + "sending": "送信中...", + "create": "作成中", + "tryToReconnect": "再接続しています。", + "stayAnonymous": "匿名を保つ", + "authorize": "認証" + }, + "commonWords": { + "you": "あなた", + "send": "送る", + "or": "または", + "of": "の", + "with": "と", + "and": "と", + "on": "の上に", + "per": "ごとに" + } +} diff --git a/interface/i18n/app.ko.i18n.json b/interface/i18n/app.ko.i18n.json new file mode 100644 index 0000000..d8e3d67 --- /dev/null +++ b/interface/i18n/app.ko.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "불러오는 중...", + "offline": "연결실패, 인터넷 연결을 확인하세요.", + "logginIn": "로그인 중..." + }, + "error": { + "insufficientRights": "요청하신 명령을 실행할 권한이 없습니다." + }, + "buttons": { + "ok": "확인", + "cancel": "취소", + "save": "저장", + "edit": "수정", + "send": "보내기", + "next": "다음", + "previous": "이전", + "back": "뒤로", + "skip": "건너뛰기", + "sending": "보내는 중...", + "create": "생성", + "tryToReconnect": "재연결 시도", + "stayAnonymous": "Stay anonymous", + "authorize": "권한 인증" + }, + "commonWords": { + "you": "당신", + "send": "보내기", + "or": "또는", + "of": "의", + "with": "와", + "and": "그리고", + "on": "위에", + "per": "당" + } +} diff --git a/interface/i18n/app.nb.i18n.json b/interface/i18n/app.nb.i18n.json new file mode 100644 index 0000000..ca32002 --- /dev/null +++ b/interface/i18n/app.nb.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Laster...", + "offline": "Kan ikke koble til. Har du ikke nett?", + "logginIn": "Logger inn..." + }, + "error": { + "insufficientRights": "Du har ikke nok rettigheter for denne handlingen." + }, + "buttons": { + "ok": "OK", + "cancel": "Avbryt", + "save": "Lagre", + "edit": "endre", + "send": "Send", + "next": "Neste", + "previous": "Forrige", + "back": "Tilbake", + "skip": "Hopp over", + "sending": "Sender...", + "create": "Lag", + "tryToReconnect": "Prøv å koble", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "Du", + "send": "Send", + "or": "eller", + "of": "av", + "with": "med", + "and": "og", + "on": "på", + "per": "per" + } +} \ No newline at end of file diff --git a/interface/i18n/app.nl.i18n.json b/interface/i18n/app.nl.i18n.json new file mode 100644 index 0000000..a0eceea --- /dev/null +++ b/interface/i18n/app.nl.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Laden...", + "offline": "Verbinden niet mogelijk, bent u offline?", + "logginIn": "Inloggen..." + }, + "error": { + "insufficientRights": "U heeft onvoldoende rechten voor deze actie." + }, + "buttons": { + "ok": "OK", + "cancel": "Annuleren", + "save": "Opslaan", + "edit": "bijwerken", + "send": "Versturen", + "next": "Volgende", + "previous": "Vorige", + "back": "Terug", + "skip": "Overslaan", + "sending": "Verzenden...", + "create": "Aanmaken", + "tryToReconnect": "Probeer te verbinden", + "stayAnonymous": "Blijf anoniem", + "authorize": "Autoriseren" + }, + "commonWords": { + "you": "u", + "send": "Verstuur", + "or": "of", + "of": "van", + "with": "met", + "and": "en", + "on": "op", + "per": "per" + } +} \ No newline at end of file diff --git a/interface/i18n/app.pt.i18n.json b/interface/i18n/app.pt.i18n.json new file mode 100644 index 0000000..5cbad96 --- /dev/null +++ b/interface/i18n/app.pt.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Carregando...", + "offline": "Você não está conectado a internet", + "logginIn": "Autenticando..." + }, + "error": { + "insufficientRights": "Você não tem privilégios admnistrativos o suficiente" + }, + "buttons": { + "ok": "OK", + "cancel": "Cancelar", + "save": "Salvar", + "edit": "editar", + "send": "Enviar", + "next": "Próximo", + "previous": "Anterior", + "back": "Back", + "skip": "Pular", + "sending": "Enviando...", + "create": "Criar", + "tryToReconnect": "Tentando reconectar", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "Você", + "send": "Enviar", + "or": "ou", + "of": "de", + "with": "com", + "and": "e", + "on": "em", + "per": "por" + } +} \ No newline at end of file diff --git a/interface/i18n/app.ru.i18n.json b/interface/i18n/app.ru.i18n.json new file mode 100644 index 0000000..cc7e159 --- /dev/null +++ b/interface/i18n/app.ru.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Загузка...", + "offline": "Не удается подключиться, вы в автономном режиме?", + "logginIn": "Вход в систему..." + }, + "error": { + "insufficientRights": "Вы не имеете достаточно прав для этого действия." + }, + "buttons": { + "ok": "OK", + "cancel": "Отмена", + "save": "Сохранить", + "edit": "Изменить", + "send": "Отправить", + "next": "Далее", + "previous": "Предыдущий", + "back": "Назад", + "skip": "Сбросить", + "sending": "Отправка...", + "create": "Создать", + "tryToReconnect": "Переподключить", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "Вы", + "send": "Отправили", + "or": "или", + "of": "из", + "with": "от", + "and": "и", + "on": "на", + "per": "в" + } +} \ No newline at end of file diff --git a/interface/i18n/app.sq.i18n.json b/interface/i18n/app.sq.i18n.json new file mode 100644 index 0000000..1d2bfed --- /dev/null +++ b/interface/i18n/app.sq.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "Duke u ngarkuar...", + "offline": "Nuk mund të lidhet. Jeni të sigurt që jeni të lidhur me internetin?", + "logginIn": "Duke u lidhur..." + }, + "error": { + "insufficientRights": "Ju nuk keni të drejta të mjaftueshme për të kryer këtë veprim." + }, + "buttons": { + "ok": "OK", + "cancel": "Shuaj", + "save": "Ruaj", + "edit": "Përpuno", + "send": "Dërgo", + "next": "Më tej", + "previous": "Më parë", + "back": "Prapa", + "skip": "Kapërce", + "sending": "Duke dërguar...", + "create": "Krijo", + "tryToReconnect": "Provo të rilidhesh", + "stayAnonymous": "Qëndro anonim", + "authorize": "Autorizo" + }, + "commonWords": { + "you": "Ju", + "send": "Dërgo", + "or": "ose", + "of": "nga", + "with": "me", + "and": "dhe", + "on": "mbi", + "per": "për" + } +} diff --git a/interface/i18n/app.zh-TW.i18n.json b/interface/i18n/app.zh-TW.i18n.json new file mode 100644 index 0000000..5c5f5e1 --- /dev/null +++ b/interface/i18n/app.zh-TW.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "載入中……", + "offline": "無法連接,您的網路是否已經斷線?", + "logginIn": "登入中……" + }, + "error": { + "insufficientRights": "您沒有足夠的權限執行本次操作。" + }, + "buttons": { + "ok": "好", + "cancel": "取消", + "save": "儲存", + "edit": "編輯", + "send": "發送", + "next": "下一個", + "previous": "上一個", + "back": "返回", + "skip": "跳過", + "sending": "發送中……", + "create": "創建", + "tryToReconnect": "嘗試連線", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "您", + "send": "發送", + "or": "或者", + "of": "的", + "with": "以及", + "and": "和", + "on": "在", + "per": "每" + } +} \ No newline at end of file diff --git a/interface/i18n/app.zh.i18n.json b/interface/i18n/app.zh.i18n.json new file mode 100644 index 0000000..9de4199 --- /dev/null +++ b/interface/i18n/app.zh.i18n.json @@ -0,0 +1,36 @@ +{ + "app": { + "loading": "载入中……", + "offline": "无法连接,你的网络是否已经掉线?", + "logginIn": "登录中……" + }, + "error": { + "insufficientRights": "你没有足够的权限执行本次操作。" + }, + "buttons": { + "ok": "好", + "cancel": "取消", + "save": "保存", + "edit": "编辑", + "send": "发送", + "next": "下一个", + "previous": "上一个", + "back": "返回", + "skip": "跳过", + "sending": "发送中……", + "create": "创建", + "tryToReconnect": "尝试连接", + "stayAnonymous": "Stay anonymous", + "authorize": "Authorize" + }, + "commonWords": { + "you": "你", + "send": "发送", + "or": "或者", + "of": "的", + "with": "以及", + "and": "和", + "on": "在", + "per": "每" + } +} \ No newline at end of file diff --git a/interface/i18n/mist.ca.i18n.json b/interface/i18n/mist.ca.i18n.json new file mode 100644 index 0000000..60e7670 --- /dev/null +++ b/interface/i18n/mist.ca.i18n.json @@ -0,0 +1,309 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Sobre __app__", + "checkForUpdates": "Buscar actualitzacions...", + "checkForNodeUpdates": "Busca actualitzacions dels nodes d'Ethereum...", + "services": "Serveis", + "hide": "Hide __app__", + "hideOthers": "Ocultar els altres", + "showAll": "Mostrar tot", + "quit": "Sortir __app__" + }, + "file": { + "label": "Fitxer", + "importPresale": "Importa compte", + "newAccount": "Nou compte", + "backup": "Copia de seguretat", + "backupKeyStore": "Comptes", + "backupMist": "Dades de l'aplicació", + "swarmUpload": "Pujar a Swarm..." + }, + "edit": { + "label": "Editar", + "undo": "Desfer", + "redo": "Refer", + "cut": "Tallar", + "copy": "Copiar", + "paste": "Enganxar", + "selectAll": "Seleccionar tot" + }, + "view": { + "label": "Veure", + "fullscreen": "Commutar pantalla completa", + "languages": "Idioma", + "default": "Defecte", + "langCodes": { + "ca": "Català", + "de": "Deutsch", + "en": "English", + "es": "Español", + "fa": "فارسى", + "fr": "Français", + "it": "Italiano", + "ja": "日本語", + "ko": "한국어 ", + "nl": "Nederlands", + "nb": "Norsk", + "pt": "Português", + "sq": "Shqip", + "ru": "Pусский", + "zh": "普通話", + "zh-TW": "國語" + } + }, + "develop": { + "label": "Desenvolupar", + "devTools": "Commutar eines de desenvolupador", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Executar tests", + "logFiles": "Mostrar fitxer de log", + "openRemix": "Obrir Remix IDE", + "externalNode": "utilitzar un node extern", + "ethereumNode": "Node d'Ethereum", + "network": "Xarxa", + "mainNetwork": "Xarxa Principal", + "nodeMode": "Descàrrega de la Cadena", + "fullNode": "Desar la blockchain completa", + "lightNode": "Utilitzar el Node lleuger (experimental!)", + "startMining": "⛏ Començar a minar (només Testnet)", + "stopMining": "⛏ Parar de minar" + }, + "window": { + "label": "Finestra", + "minimize": "Minimitza", + "close": "Tancar", + "toFront": "Portar tot al front" + }, + "help": { + "label": "Ajuda", + "discord": "Discord", + "reddit": "Reddit", + "reportBug": "Reportar un problema a Github" + } + }, + "errors": { + "nodeConnect": "No has pogut connectar al node? Mira els logs per més:", + "nodeStartup": "Sembla que el node no s'ha pogut iniciar. Ja en tens un executant-se? Està actualitzant la base de dades just ara?", + "timeSync": { + "title": "El rellotge de l'ordinador no està sincronitzat.", + "description": "Per estar del tot sincronitzat amb la xarxa Ethereum, necessites sincronitzar el rellotge del teu ordinador amb un servidor de sincronització.", + "win32": "Vés a les teves preferències del rellotge d'internet i marca la casella. Mira aquesta guia per tenir-ne més detalls: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Per habilitar la sincronització del rellotge, instal·la \"ntp\" mitjançant \"apt-get install ntp\".", + "darwin": "Per habilitar la sincronització del rellotge, obre les preferències de Data i hora i activa \"Ajustar la data i l'hora automàticament\"." + }, + "nodeChecksumMismatch": { + "title": "La suma de verificació no coincideix amb el node descarregat!", + "description": "__algorithm__: __hash__\n\nSi us plau instal·la el __type__ node versió __version__ manualment." + }, + "legacyChain": { + "title": "Cadena 'legacy' detectada", + "description": "El teu node està actualment a la cadena d'Ethereum Classic. Per utilitzar aquesta cadena, utilitza les eines proporcionades pel projecte ethereum classic a\nhttps://ethereumclassic.github.io.\n\nPer canviar a la cadena principal d'ethereum segueix el aquest tutorial:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Recarregar", + "openDevTools": "Obre les eines de desenvolupador", + "inspectElements": "Inspecciona element" + }, + "nodeInfo": { + "nodeSyncing": "Resten __blockDiff__ blocs", + "blockReceived": "Nou bloc rebut", + "blockReceivedShort": "Nou bloc", + "blockNumber": "El teu últim número de bloc", + "timeSinceBlock": "Temps transcorregut des de l'últim bloc", + "checkingWhichNetwork": "Comprovant la xarxa...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "Ets a la xarxa gobal d'Ethereum principal", + "testnetExplain": "Ets a la __name__. NO ENVIÏS cap Ether real a aquestes adreces", + "privatenetExplain": "Ets a la xara privada. NO ENVIÏS cap Ether real a aquestes adreces", + "unknownnetExplain": "Incapaç de determinar a quina xarxa ets", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Navega" + }, + "submenu": { + "account": "Compte", + "account_plural": "Comptes", + "connectAccounts": "Connectar Comptes" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Comptes no establerts", + "connect": "Connectar" + } + }, + "startScreen": { + "runningNodeFound": "Trobat node d'Ethereum executant-se!", + "startingNode": "Iniciant node d'Ethereum...", + "stoppingNode": "Aturant node d'Ethereum...", + "startedNode": "Iniciant l'aplicació...", + "nodeConnectionTimeout": "No s'ha pogut iniciar el node d'Ethereum!
Si has
instal·lat Geth, utilitza aquesta comanda per executar-lo:
geth --ipcpath __path__

O notifica l'error ", + "nodeBinaryNotFound": "No s'ha torbat el binari del node d'Ethereum!
Si us plau inicia'n un manualment primer. ", + "nodeStarting": "Node d'Ethereum iniciant-se...", + "nodeStarted": "Node d'Ethereum iniciat", + "nodeConnected": "Node d'Ethereum connectat", + "nodeStopping": "Ethereum node aturant-se...", + "nodeStopped": "Node d'Ethereum aturat", + "nodeError": "Error de connectivitat del node d'Ethereum:'(", + "unableToBindPort": "El node d'Ethereum no pot executar-se. N'hi ha alguna altra instància excutant-se?", + "nodeSyncing": "El node d'Ethereum necessita sincronitzar-se, si us plau espera...", + "nodeSyncInfo": "Descarregant bloc __displayBlock__ de __highestBlock__", + "nodeSyncInfoStates": "Descarregant bloc __displayBlock__ de __highestBlock__,
Descarregant l'estructura de la cadena __displayState__ de __displayKnownStates__", + "nodeSyncConnecting": "Cercant peers...", + "nodeSyncFoundPeers": "Connectant amb __peers__ peers...", + "peerSearchTimeout": "Passar cerca de peers", + "launchApp": "Iniciar Aplicació", + "clientBinaries": { + "scanning": "Comprovant actualitzacions del node...", + "downloading": "Descarregant un nou node...", + "loadConfig": "Carregant configuració del client...", + "filtering": "Filtrant binaris del client...", + "done": "Node d'Ethereum actualitzat...", + "error": "Error executant el binari descarregat." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "Nova __name__ versió disponible", + "version": "Versió", + "downloadURL": "URL de descàrrega", + "checksum": "Checksum", + "downloadAndRestart": "Actualitza i Reinicia", + "download": "Descarrega la nova versió", + "skipUpdate": "Omet l'actualització", + "notNow": "Pregunta-m'ho després", + "checking": "Comprovant actualitzacions a __name__...", + "noUpdateFound": "No s'ha trobat cap actualització. Estàs executant l'última versió de __name__." + }, + "requestAccount": { + "title": "Crear un compte", + "enterPassword": "Introdueix una contrasenya", + "repeatPassword": "Repeteix la contrasenya", + "creating": "Generant el compte...", + "backupHint": "Assegura't que fas una còpia de seguretat dels teus fitxer de claus I contrasenya!\n\nPots trobar el teu fitxer de claus mitjançant el menú principal -> Fitxer -> Copia de seguretat -> Comptes. Desa una copia de la carpeta del \"fitxer de claus\" on no puguis perdre-la!", + "errors": { + "passwordMismatch": "Les teves contrasenyes no coincideixen.", + "passwordTooShort": "Utilitza una contrasenya més llarga" + } + }, + "unlockMasterPassword": { + "title": "Introdueix una contrasenya mestra", + "enterPassword": "Introdueix contrasenya mestra", + "unlocking": "Desbloquejant...", + "errors": { + "wrongPassword": "La contrasenya és incorrecta. Torna-ho a provar." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Enviar transacció", + "contractExecution": "Executar contracte", + "createContract": "Crear contracte" + }, + "contractExecutionInfo": "Estàs a punt d'executar una funció d'un contracte. Això podria implicar una transferència de valor.", + "contractCreationInfo": "Estàs a punt de crear un contracte de les dades proporcionades.", + "enterPassword": "Introdueix la contrasenya per confirmar la transacció", + "unlocking": "Confirmant...", + "createContract": "Crear contracte", + "estimatedFee": "Comissió estimada", + "estimatedGasError": "Sembla que la transacció fallarà. Si l'envieu, pot consumir tot el gas proporcionat.", + "transactionThrow": "El contracte no et permetrà executar aquesta transacció", + "overBlockGasLimit": "El gas necesàri per aquesta execució pot sobrepassar el limit de gas pel bloc.", + "notEnoughGas": "El gas pot no ser suficient per acabar aquesta execució amb èxit.
Fés clic aquí per augmentar la quantitat de gas.", + "noEstimate": "No s'ha pogut calcular el gas necessari.", + "gasPrice": "Preu del Gas", + "perMillionGas": "ether per un milió de gas", + "gasLimit": "Proporciona la comissió màxima", + "data": "Dades en brut", + "parameters": "Paràmetres", + "buttons": { + "sendTransaction": "Enviar transacció" + }, + "errors": { + "connectionTimeout": "No s'ha pogut connectar al node, ha fallat la tasca al fons?", + "wrongPassword": "Contrasenya errònia", + "multipleKeysMatchAddress": "Multiples claus coincideixen amb l'adreça. Si us plau eliminar els duplicats del fitxer de claus (menú -> Fitxer -> Copia de seguretat -> Comptes)", + "insufficientFundsForGas": "Saldo insuficient al compte principal (etherbase) per pagar el gas", + "sameAccount": "No es pot enviar a un mateix" + }, + "showRawBytecode": "mostrar dades en brut", + "showDecodedParameters": "mostra els paràmetres descodificats", + "lookupData": "Intentar descodificar les dades", + "lookupDataExplainer": "Mira això a internet" + }, + "onboarding": { + "description": "Ethereum és una plataforma per aplicacions descentralitzades de la blockchain amb un llenguatge de programació complet", + "goToTestnet": "Utilitza la xarxa de test (Rinkeby)", + "goToTestnetDescription": "Prova la tecnologia lliurement a la xarxa de test 'sandboxed', sembla utilitzar Ether real.", + "gotoMainnet": "Utilitza la xarxa principal", + "gotoMainnetDescription": "Necessitaràs Ether per crear i executar contractes. No et preocupis, t'ajudarem a aconseguir-ne una mica...", + "doYouHaveAWalletFile": "Tens un fitxer de wallet?", + "walletFileDescription": "

Mou qualsevol wallet aquí per a importar-lo.
Si va participar a la Pre-venda d'Ethereum el 2014, hauries de tenir un fitxer anomenat ethereum_wallet_backup.json. El vas poder descarregar després de la venda i també se't va enviar al teu email

", + "dropFilesHere": "Deixa anar el fitxer de wallet", + "creating": "Creant...", + "importing": "Important...", + "skip": "Saltar aquest pas", + "next": "Següent", + "protectTitle": "Protegeix el teu compte", + "protectDescription": "Escull una contrasenya pel teu nou compte. Assegura't que és tant fort com si hagués de protegir les claus de casa teva!", + "accountTitle": "Carrega'l!", + "accountTitleTestnet": "Minar una mica!", + "etherDescription": "La xarxa d'ethereum es basa en un token anomenat “Ether”. En necessitaràs una petita quantitat per fer qualsevol cosa a la xarxa d'Ethereum.", + "loadItDescription": "Si ja tens Bitcoin, o qualsevol altra criptomoneda, pots canviar-la a Ether fàcilment utilitzant changelly.

Et recomanem carregar entre 0.25 i 1 Ether.", + "faucetDescription": "La xarxa de test Rinkeby utilitza 'Clique Proof of Authority' com a mecanisme de consens, pertant no hi ha minat. Si vols obtenir una mica d'ether de prova, vés a la Rinkeby Faucet: faucet.rinkeby.io ", + "you": "TU", + "etherbase": "Compte principal (etherbase)", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Aprèn mentre esperes", + "downloadingBlocks": "Descarregant blocs", + "syncMessage": "Bloc __displayBlock__ de __highestBlockString__", + "syncMessageWithStates": "Bloc __displayBlock__ de __highestBlockString__ (Estructura de cadena __statesPercent__%)", + "startingSync": "Preparant-se per sinc..", + "tutorial1Description": "

Ara l'última cosa que queda és esperar que la descàrrega acabi. Aquí tens alguna lectura suggerida:

Crea els teu propis diners

Crea una criptomoneda amb una quantitat fixa, tokens representant actius reals, etc.

", + "tutorial2Description": "

Crea una venda a multituds

Aixeca capital per un objectiu comú, absolutament confiable sense tercers. Evita l'obstacle del finançament tradicional i vés directament a l'origen finançant una organització mitjançant la blockchain.

", + "tutorial3Description": "

Crea una organització a la blockchain

Crea una organització autònoma amb normes de com es gasten els diners i es prenen les decisions per tu i els teus inversors.

", + "buttons": { + "showPassword": "Mostra la contrasenya", + "importAccount": "Importar compte", + "launchApp": "Llança l'aplicació!", + "learnReceipt": "Aprèn aquesta recepta" + }, + "errors": { + "nodeNotStartedYet": "Espera uns quants segons més fins que el teu node s'hagi iniciat completament i torna-ho a provar", + "unknownFile": "Fitxer no reconegut.", + "wrongPassword": "Contrasenya incorrecta.", + "importFailed": "No s'ha pogut importar el fitxer, s'ha obtingut l'error: __error__" + } + }, + "connectAccount": { + "chooseAccountTitle": "Escull compte", + "createAccount": "Crea un nou compte", + "pinToSidebar": "Fixa app a la barra lateral", + "connectAccountDescription": "Estàs compartint la teva identitat amb __dappName__. Això permet a la app veure qualsevol informació pública rellevant relacionada amb els teus comptes, incloent els saldos." + } + } + }, + "elements": { + "checksumAlert":"Aquesta adreça sembla vàlida, però no té mesures de seguretat que ajuden a no equivocar-te errors tipogràfics, re-comprova que és la correcta. Si pots, comprova que la icona de seguretat coincideix.", + "identiconHelper": "Aquesta és la icona de seguretat. Si hi hagués cap canvi a l'adreça, la icona seria una completament diferent", + "type": { + "address": "Adreça", + "bool": "Booleà", + "int": "Enter", + "uint": "Nombre Natural", + "string": "Cadena", + "bytes": "Octets" + } + } +} diff --git a/interface/i18n/mist.de.i18n.json b/interface/i18n/mist.de.i18n.json new file mode 100644 index 0000000..84fc92b --- /dev/null +++ b/interface/i18n/mist.de.i18n.json @@ -0,0 +1,281 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Über __app__", + "checkForUpdates": "Nach Aktualisierungen suchen...", + "checkForNodeUpdates": "Nach Ethereum Softwareknoten Aktualisierungen suchen...", + "services": "Dienste", + "hide": "__app__ ausblenden", + "hideOthers": "Andere ausblenden", + "showAll": "Alle einblenden", + "quit": "__app__ schließen" + }, + "edit": { + "label": "Bearbeiten", + "undo": "Rückgängig", + "redo": "Wiederholen", + "cut": "Ausschneiden", + "copy": "Kopieren", + "paste": "Einfügen", + "selectAll": "Alles auswählen" + }, + "view": { + "label": "Ansicht", + "fullscreen": "Vollbildmodus", + "default": "Standard" + }, + "file": { + "label": "Datei", + "importPresale": "Konto importieren", + "newAccount": "Neues Konto", + "backup": "Sicherung", + "backupKeyStore": "Konten", + "backupMist": "Anwendungsdaten" + }, + "develop": { + "uploadToSwarm": "Upload zum Swarm", + "label": "Entwicklung", + "devTools": "Entwicklerwerkzeuge", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Tests durchführen", + "logFiles": "Logdatei anzeigen", + "openRemix": "Remix IDE öffnen", + "ethereumNode": "Ethereum Softwareknoten", + "network": "Netzwerk", + "mainNetwork": "Hauptnetzwerk", + "startMining": "⛏ Mining starten", + "stopMining": "⛏ Mining stoppen", + "externalNode": "externer Softwareknoten aktiv", + "nodeMode": "Chain herunterladen", + "fullNode": "Komplette Blockchain speichern", + "lightNode": "Light Node speichern (experimentell!)" + }, + "window": { + "label": "Fenster", + "minimize": "Minimieren", + "close": "Schließen", + "toFront": "Alle Fenster in den Vordergrund" + }, + "help": { + "label": "Hilfe", + "reportBug": "Ein Problem melden" + } + }, + "errors": { + "nodeConnect": "Es konnte keine Verbindung mit dem Softwareknoten hergestellt werden. Weitere Informationen finden sich in den Logdateien.", + "nodeStartup": "Anscheinend konnte der Softwareknoten nicht gestartet werden, läuft evtl. schon eine andere Instanz? Oder läuft eventuell gerade ein Datenbank-Update?", + "timeSync": { + "title": "Deine Computeruhr ist nicht synchronisiert!", + "description": "Um mit dem Ethereum-Netzwerk zu synchronisieren muss deine Computeruhr mit einem Zeitserver synchronisiert werden.", + "win32": "Gehe dazu in deine Internet Zeit Einstellungen in deinen System Einstellungen and checke die Box. Siehe diese Anleitung für Details: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Um Zeit Synchronisation einzuschalten installiere \"ntp\" via \"apt-get install ntp\".", + "darwin": "Um Zeit Synchronisation einzuschalten, öffne die System Einstellungen und checke \"Zeit Datum automatisch\"." + }, + "nodeChecksumMismatch": { + "title": "Prüfsumme des heruntergeladenen Softwareknotens stimmt nicht überein!", + "description": "__algorithm__: __hash__\n\nBitte installiere den Softwareknoten __type__ in Version __version__ manuell." + }, + "legacyChain": { + "title": "Veraltete Chain erkannt", + "description": "Dein Softwareknoten ist zur Zeit auf der nicht unterstützten Ethereum Classic Chain. Um diese Chain zu nutzen, verwende die Tools vom Ethereum Classic Project unter\nhttps://ethereumclassic.github.io.\n\nUm zur Hauptchain von Ethereum zurückzukehren, folge den Schritten in diesem Tutorial:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Neu laden", + "openDevTools": "Entwicklerwerkzeuge öffnen", + "inspectElements": "Element prüfen" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ Blöcke übrig", + "blockReceived": "Neuer Block empfangen", + "timeSinceBlock": "Abgelaufene Zeit seit dem letzten Block", + "blockNumber": "Ihre letzte Blocknummer", + "testnetExplain": "Du bist mit dem Testnetz verbunden, SENDE KEINE echten Ether an diese Adressen", + "peers": "Peers", + "checkingWhichNetwork": "Überprüfe Netzwerk...", + "mainNetwork": "Hauptnetzwerk", + "testNetwork": "Testnetzwerk", + "privateNetwork": "Privates Netzwerk", + "mainnetExplain": "Du bist mit dem globalen Hauptnetz von Ethereum verbunden", + "privatenetExplain": "Du bist mit einem privaten Netz verbunden, SENDE KEINE echten Ether an diese Adressen", + "unknownnetExplain": "Es konnte nicht bestimmt werden, welches Netzwerk du nutzt" + }, + "sidebar": { + "buttons": { + "browser": "Browser" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Keine Konten vorhanden", + "connect": "Verbinden" + } + }, + "startScreen": { + "runningNodeFound": "Laufender Ethereum Softwareknoten gefunden!", + "startingNode": "Starte Ethereum Softwareknoten...", + "startedNode": "Starte Anwendung...", + "nodeConnectionTimeout": "Ethereum Softwareknoten konnte nicht gestartet werden!
Wenn du Geth installiert hast,, verwende bitte diesen Befehl, um Geth zu starten:
geth --ipcpath __path__

oder sende einen Fehlerreport", + "nodeBinaryNotFound": "Keine Programmdatei für den Ethereum Softwareknoten gefunden!
Bitte starte den Ethereum Softwareknoten manuell. ", + "nodeSyncing": "Ethereum Softwareknoten muss synchronisieren, bitte warten...", + "nodeSyncInfo": "Block __displayBlock__ von __highestBlock__ wird heruntergeladen.", + "nodeSyncConnecting": "Suche nach Peers...", + "peerSearchTimeout": "Peer-Suche überspringen", + "stoppingNode": "Stoppe Ethereum Softwareknoten...", + "nodeStarting": "Ethereum Softwareknoten startet...", + "nodeStarted": "Ethereum Softwareknoten gestartet", + "nodeConnected": "Ethereum Softwareknoten verbunden", + "nodeStopping": "Ethereum Softwareknoten stoppt...", + "nodeStopped": "Ethereum Softwareknoten gestoppt", + "nodeError": "Verbindungsproblem zum Ethereum Softwareknoten :'(", + "unableToBindPort": "Ethereum Softwareknoten kann nicht gestartet werden. Läuft bereits eine andere Instanz?", + "nodeSyncInfoStates": "Lade Block __displayBlock__ von __highestBlock__,
Lade chain structure __displayState__ von __displayKnownStates__", + "nodeSyncFoundPeers": "Verbinde mit __peers__ Peers...", + "launchApp": "Starte die Anwendung", + "clientBinaries": { + "scanning": "Suche nach Softwareknoten Aktualisierung...", + "downloading": "Lade neue Softwareknoten-Version herunter...", + "loadConfig": "Lade Softwareknoten Konfiguration...", + "filtering": "Filtering client binaries...", + "done": "Ethereum Softwareknoten aktuell...", + "error": "Ethereum Softwareknoten konnte nicht gestartet werden." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Konto anlegen", + "enterPassword": "Passwort eingeben", + "repeatPassword": "Passwort wiederholen", + "creating": "Konto wird angelegt...", + "backupHint": "Bitte stelle sicher dass du von allen Schlüsseldateien Sicherungen erstellst. Unabhängig davon solltest du dich AUCH vergewissern dass du deine Passwörter nicht vergisst bzw. dass du diese sicher in einem Passwort-Manager abgespeichert hast!\n\nDie verschlüsselten Wallet-Dateien findest du im Hauptmenü -> Datei -> Sicherung -> Konten. Bewahre Kopien des \"keystore\" Ordners an einem sicheren Ort auf!", + "errors": { + "passwordMismatch": "Die Passwörter stimmen nicht überein.", + "passwordTooShort": "Wähle ein längeres Passwort..." + } + }, + "unlockMasterPassword": { + "title": "Master-Passwort eingeben", + "enterPassword": "Gib das Master-Passwort ein", + "unlocking": "Entschlüsseln...", + "errors": { + "wrongPassword": "Passwort falsch, bitte nochmals versuchen." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Transaktion senden", + "contractExecution": "Vertrag ausführen", + "createContract": "Vertrag anlegen" + }, + "contractExecutionInfo": "Du bist dabei, eine Vertragsfunktion auszuführen. Das kann zur Übertragung eines Geldwertes führen.", + "contractCreationInfo": "Du bist dabei, auf Basis der eingegebenen Daten einen Vertrag anzulegen.", + "enterPassword": "Bitte gib das Passwort ein, um die Transaktion durchzuführen.", + "unlocking": "Warten auf Bestätigung...", + "createContract": "Vertrag anlegen", + "estimatedFee": "Geschätzter Gebührenbetrag", + "estimatedGasError": "Der Auftrag kann nicht ausgeführt werden, da er das gesamte vorgegebene Gas verbrauchen würde.", + "gasPrice": "Gaspreis", + "perMillionGas": "Ether pro Millionen Gas", + "data": "Daten", + "buttons": { + "sendTransaction": "Transaktion absenden" + }, + "errors": { + "connectionTimeout": "Eine Verbindung mit dem Softwareknoten war nicht möglich, eventuell ist der Softwareknoten im Hintergrund abgestürzt?", + "wrongPassword": "Falsches Passwort", + "multipleKeysMatchAddress": "Mehrere Konten stimmen mit der Adresse überein, bitte entferne Duplikate aus dem keystore Verzeichnis (Menü -> Datei -> Sicherung -> Konten)", + "insufficientFundsForGas": "Zu wenig Mittel im Hauptkonto (etherbase) um für Gas zu bezahlen", + "sameAccount": "Kann nicht zum gleichen Konto schicken." + }, + "transactionThrow": "Der Vertrag wird diese Transaktion nicht ausführen können", + "noEstimate": "Transaktionsgebühr konnte nicht geschätzt werden.", + "gasLimit": "Maximal bereitgestellte Gebühr", + "parameters": "Parameter", + "showRawBytecode": "Zeige Rohdaten", + "showDecodedParameters": "Zeige dekodierte Parameter", + "lookupData": "Versuche die Daten zu dekodieren", + "lookupDataExplainer": "Schaue dies im Internet nach" + }, + "onboarding": { + "description": "Ethereum ist eine dezentrale Plattform, um Anwendungen auf einer Blockchain zu bauen: Fälschungssichere Software, die Werte und Vermögen übertragen kann und für immer besteht", + "goToTestnet": "Verwende das Testnetz (Rinkeby)", + "goToTestnetDescription": "Teste die Technologie frei in der Testnetz-Sandbox, ", + "gotoMainnet": "Verwende das Hauptnetz", + "gotoMainnetDescription": " Du wirst etwas Ether benötigen, um Verträge anzulegen und auszuführen. Wir werden dir helfen, etwas zu bekommen ...", + "doYouHaveAWalletFile": "Hast du eine Wallet-Datei?", + "walletFileDescription": "

Wallet-Datei zum importieren in dieses Fenster ziehen.
Wenn du 2014 am Ethereum-Pre-sale teilgenommen hast, solltest du über eine Datei mit dem Dateinamen ethereum_wallet_backup.json verfügen. Sie wurde nach dem Kauf heruntergeladen und dir auch per E-Mail geschickt.

", + "dropFilesHere": "Pre-sale Datei laden", + "creating": "Erstellen...", + "importing": "Importieren...", + "skip": "Diesen Schritt überspringen", + "next": "Nächster", + "protectTitle": "Schütze dein Konto", + "protectDescription": "Wähle ein Passwort für dein Konto. Mache es so stark, als wären es deine Hausschlüssel!", + "accountTitle": "Lade die Datei hoch!", + "accountTitleTestnet": "Ether minen!", + "etherDescription": "Das Ethereum Netz basiert auf einem Tokan namens “Ether”. Du benötigst eine kleine Menge davon, um irgendetwas auf dem Ethereum-Netz zu tun.", + "loadItDescription": "Wenn du bereits über Bitcoin oder eine andere Kryptowährung verfügst, kannst du diese mit changelly einfach in Ether umtauschen.

Wir empfehlen, ca. 0.25 bis 1 ether einzutauschen.", + "mineItDescription": "Auf dem Testnetz kannst du selbst Ether minen. Bitte gehe dazu in den Menüpunkt Entwicklung menu und wähle Mining starten.
VERSUCHE NICHT, ECHTE ETHER AN DIESE ADRESSE ZU SENDEN! ", + "you": "DU", + "etherbase": "Hauptkonto (etherbase)", + "depositBitcoin": "Bitcoin eintauschen", + "learnIt": "Lerne Ethereum kennen, während du wartest", + "downloadingBlocks": "Blöcke werden heruntergeladen", + "tutorial1Description": "

Nun musst du lediglich warten, bis der Download abgeschlossen ist. Hier findest du weitere Informationen:

Make your own money

Erstelle eine eigene Kryptowährung mit einer festen Geldmenge, Token, die reale Vermögenswerte darstellen, und so weiter ...

", + "tutorial2Description": "

Erstelle einen Crowdsale

Sammle Mittel für ein gemeinsames Ziel, vollkommen vertrauenswürdig ohne einen weiteren Dritten. Überwinde die Hürden von traditionellen Crowdfunding-Systemen und gehe direkt an die Quellen, indem du deine Organisation über die Blockchain mit Mitteln versorgst.

", + "tutorial3Description": "

Blockchain-Organisation

Schaffe eine autonome Organisation, deren Grundsätze über Geldverwendung und Entscheidungen nicht gebrochen werden können. Gib deinen Unterstützern eine aktive Rolle, wie die Mittel verwendet werden sollen

", + "buttons": { + "showPassword": "Passwort anzeigen", + "importAccount": "Konto importieren", + "launchApp": "Anwendung wird gestartet!", + "learnReceipt": "Lerne dieses Rezept kennen" + }, + "errors": { + "nodeNotStartedYet": "Warte noch einige Sekunden, bis der Softwareknoten gestartet ist, und versuche es dann noch einmal", + "unknownFile": "Datei nicht erkannt.", + "wrongPassword": "Falsches Passwort.", + "importFailed": "Beim Import der Datei ist folgender Fehler aufgetreten: __error__" + }, + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ von __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ von __highestBlockString__ (Chain Struktur __statesPercent__%)", + "startingSync": "Bereite Synchronisation vor.." + }, + "updateAvailable": { + "newVersionAvailable": "Neue __name__ Version verfügbar", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Prüfsumme", + "downloadAndRestart": "Update und Neustart", + "download": "Neue Version herunterladen", + "skipUpdate": "Update überspringen", + "notNow": "Später erinnern", + "checking": "Suche nach Updates für __name__...", + "noUpdateFound": "Kein Update gefunden. Du verwendest die aktuellste Version von __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Wähle ein Konto", + "createAccount": "Erstelle ein neues Konto", + "pinToSidebar": "App an die Seitenleiste pinnen", + "connectAccountDescription": "Du teilst deine Identität mit __dappName__. Das erlaubt der App jegliche öffentliche Informationen deiner Konten sowie den damit verbundenen Bilanzen zu sehen." + } + } + }, + "elements": { + "checksumAlert": "Diese Adresse sieht gültig aus, aber ihr fehlen einige Sicherheits-Features, die dich z.B. gegen Tippfehler schützen könnten. Bitte prüfe daher nochmals, ob du die Adresse richtig eingegeben hast. Sofern vorhanden, prüfe bitte auch, ob das Sicherheits-Icon übereinstimmt. ", + "identiconHelper": "Dies ist ein Sicherheits-Icon. Bei einer abweichenden Adresse sollte das Sicherheits-Icon völlig anders aussehen.", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.en.i18n.json b/interface/i18n/mist.en.i18n.json new file mode 100644 index 0000000..d641bca --- /dev/null +++ b/interface/i18n/mist.en.i18n.json @@ -0,0 +1,313 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "About __app__", + "checkForUpdates": "Check for updates...", + "checkForNodeUpdates": "Check for EtherCore node updates...", + "services": "Services", + "hide": "Hide __app__", + "hideOthers": "Hide others", + "showAll": "Show all", + "quit": "Quit __app__" + }, + "file": { + "label": "File", + "importPresale": "Import accounts", + "newAccount": "New account", + "backup": "Backup", + "backupKeyStore": "Accounts", + "backupMist": "Application data", + "swarmUpload": "Upload to Swarm..." + }, + "edit": { + "label": "Edit", + "undo": "Undo", + "redo": "Redo", + "cut": "Cut", + "copy": "Copy", + "paste": "Paste", + "selectAll": "Select all" + }, + "view": { + "label": "View", + "fullscreen": "Toggle full screen", + "languages": "Language", + "default": "Default", + "langCodes": { + "ca": "Català", + "de": "Deutsch", + "en": "English", + "es": "Español", + "fa": "فارسى", + "fr": "Français", + "it": "Italiano", + "ja": "日本語", + "ko": "한국어 ", + "nl": "Nederlands", + "nb": "Norsk", + "pt": "Português", + "sq": "Shqip", + "ru": "Pусский", + "zh": "普通話", + "zh-TW": "國語" + } + }, + "develop": { + "label": "Develop", + "devTools": "Toggle developer tools", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Run tests", + "logFiles": "Show log files", + "openRemix": "Open Remix IDE", + "ethereumNode": "EtherCore Node", + "network": "Network", + "mainNetwork": "Main Network", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)", + "startMining": "⛏ Start mining", + "stopMining": "⛏ Stop mining", + "enableSwarm": "Enable Swarm" + }, + "window": { + "label": "Window", + "minimize": "Minimize", + "close": "Close", + "toFront": "Bring all to front" + }, + "help": { + "label": "Help", + "discord": "Discord", + "reddit": "Reddit", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Couldn't connect to node? See the logs for more:", + "nodeStartup": "It seems like the node couldn't be started. Do you already have one running? Is it upgrading the database right now?", + "timeSync": { + "title": "Your computer's clock is not synced.", + "description": "To successfully synchronize with the EtherCore network, you need to sync your computer's clock with a time sync server.", + "win32": "Go to your Internet Time Settings in your system preferences and check the box. See this guide for details: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "To enable a time sync server, install \"ntp\" via \"apt-get install ntp\".", + "darwin": "To enable time sync, open the time preferences and check \"Set the time and date automatically\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain, use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + }, + "swarm": { + "notEnabled": "Swarm is not enabled. Please enable it in the menu under Develop > Enable Swarm." + } + }, + "rightClick": { + "reload": "Reload", + "openDevTools": "Open developer tools", + "inspectElements": "Inspect element" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blocks left", + "blockReceived": "New block received", + "blockReceivedShort": "New block", + "blockNumber": "Your latest block number", + "timeSinceBlock": "Elapsed time since last block", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main EtherCore global network", + "testnetExplain": "You are on the __name__. DO NOT SEND any real ERE to these addresses", + "privatenetExplain": "You are on a private net. DO NOT SEND any real ERE to these addresses", + "unknownnetExplain": "Unable to determine which network you are on", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Browse" + }, + "submenu": { + "account": "Account", + "account_plural": "Accounts", + "connectAccounts": "Connect Accounts" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "No accounts set", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Found running EtherCore node!", + "startingNode": "Starting EtherCore node...", + "stoppingNode": "Stopping EtherCore node...", + "startedNode": "Starting application...", + "nodeConnectionTimeout": "Couldn't start EtherCore node!
If you installed Geth, use this command to run it:
geth --ipcpath __path__

Or report an issue ", + "nodeBinaryNotFound": "No EtherCore node binary found!
Please start one manually before. ", + "nodeStarting": "EtherCore node starting up...", + "nodeStarted": "EtherCore node started", + "nodeConnected": "EtherCore node connected", + "nodeStopping": "EtherCore node stopping...", + "nodeStopped": "EtherCore node stopped", + "nodeError": "EtherCore node connection error:'(", + "unableToBindPort": "EtherCore node cannot run. Is another instance already running?", + "nodeSyncing": "EtherCore node needs to sync, please wait...", + "nodeSyncInfo": "Downloading block __displayBlock__ of __highestBlock__", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncConnecting": "Looking for peers...", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "peerSearchTimeout": "Skip peer search", + "launchApp": "Launch Application", + "retryConnection": "Retry Connection", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "EtherCore node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "requestAccount": { + "title": "Create account", + "enterPassword": "Enter password", + "repeatPassword": "Repeat password", + "creating": "Generating account...", + "backupHint": "Make sure you backup your keyfiles AND password!\n\nYou can find your keyfiles folder using the main menu -> File -> Backup -> Accounts. Keep a copy of the \"keystore\" folder where you can't lose it!", + "errors": { + "passwordMismatch": "Your passwords don't match.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Enter master password", + "enterPassword": "Enter master password", + "unlocking": "Unlocking...", + "errors": { + "wrongPassword": "Password is wrong. Try again." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Send transaction", + "contractExecution": "Execute contract", + "createContract": "Create contract" + }, + "contractExecutionInfo": "You are about to execute a function on a contract. This might involve transfer of value.", + "contractCreationInfo": "You are about to create a contract from the provided data.", + "enterPassword": "Enter password to confirm the transaction", + "unlocking": "Confirming...", + "createContract": "Create contract", + "estimatedFee": "Estimated fee consumption", + "estimatedGasError": "It seems this transaction will fail. If you submit it, it may consume all the gas you provide.", + "transactionThrow": "The contract won't allow this transaction to be executed", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount.", + "noEstimate": "We couldn't estimate the gas.", + "gasPrice": "Gas price", + "perMillionGas": "ERE per million gas", + "gasLimit": "Provide maximum fee", + "data": "Raw Data", + "parameters": "Parameters", + "buttons": { + "sendTransaction": "Send transaction" + }, + "errors": { + "connectionTimeout": "Couldn't connect to the node, did it crash in the background?", + "wrongPassword": "Wrong password", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet" + }, + "onboarding": { + "description": "EtherCore is a platform for decentralized blockchain apps with a fully featured programming language", + "goToTestnet": "Use the test network", + "goToTestnetDescription": "Test the technology freely in a sandboxed testnet, without using real ERE.", + "gotoMainnet": "Use the main network", + "gotoMainnetDescription": "You’ll need some ERE to create and execute contracts. Don't worry, we'll help you get some...", + "doYouHaveAWalletFile": "Do you have a wallet file?", + "walletFileDescription": "

Move any wallet file here to import.

", + "dropFilesHere": "Drop wallet file", + "creating": "Creating...", + "importing": "Importing...", + "skip": "Skip this step", + "next": "Next", + "protectTitle": "Protect your account", + "protectDescription": "Choose a password for your new account. Make it as strong as if it were to protect your house keys!", + "accountTitle": "Load it up!", + "accountTitleTestnet": "Mine some!", + "etherDescription": "The EtherCore network is based on a token called “Ether”. You’ll need a small amount of it to do anything on the Ethereum network.", + "loadItDescription": "If you already own Bitcoin, or any other cryptocurrency, you can easily convert it to ether using changelly.

We recommend loading somewhere between $1 - $10 in ether.", + "faucetDescription": "The Rinkeby testnet uses Clique Proof of Authority as a consensus mechanism, therefore there's no mining. If you want to get some test ether, head to the Rinkeby Faucet: faucet.rinkeby.io ", + "you": "YOU", + "etherbase": "Main account", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Learn while you wait", + "downloadingBlocks": "Downloading blocks", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync..", + "tutorial1Description": "

Now the only thing left to do is wait for the download to finish. Here are some reading suggestions:

Make your own money

Make a cryptocurrency with a fixed market supply, tokens representing real world assets, etc

", + "tutorial2Description": "

Create a crowdsale

Raise funds for a common goal, fully trustable without a third party. Sidestep the hurdle of traditional funding system and go directly to the source by funding an organization via the blockchain.

", + "tutorial3Description": "

Create a blockchain organization

Create an autonomous organization with rules on spending money and making decisions for you and your investors.

", + "buttons": { + "showPassword": "Show password", + "importAccount": "Import account", + "launchApp": "Click To Start!!!", + "learnReceipt": "Learn this recipe" + }, + "errors": { + "nodeNotStartedYet": "Wait a few more seconds until your node is fully started and try again", + "unknownFile": "File not recognised.", + "wrongPassword": "Wrong password.", + "importFailed": "Couldn't import the file, got: __error__" + } + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information related to your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert":"This address looks valid, but it doesn't have some security features that will protect you against typos, so double check you have the right one. If provided, check if the security icon matches.", + "identiconHelper": "This is a security icon. If there were any change to the address, the resulting icon would be a completely different one", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.es.i18n.json b/interface/i18n/mist.es.i18n.json new file mode 100644 index 0000000..1f18641 --- /dev/null +++ b/interface/i18n/mist.es.i18n.json @@ -0,0 +1,283 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Sobre __app__", + "checkForUpdates": "Buscar actualización...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Servicios", + "hide": "Ocultar __app__", + "hideOthers": "Ocultar otros", + "showAll": "Mostrar todo", + "quit": "Dejar __app__" + }, + "edit": { + "label": "Editar", + "undo": "Deshacer", + "redo": "Rehacer", + "cut": "Cortar", + "copy": "Copiar", + "paste": "Pegar", + "selectAll": "Seleccionar todo" + }, + "view": { + "label": "Ver", + "fullscreen": "Pantalla Completa", + "default": "Default" + }, + "file": { + "label": "Archivo", + "importPresale": "Importar Cuentas", + "newAccount": "Nueva cuenta", + "backup": "Copia de seguridad", + "backupKeyStore": "Cuentas", + "backupMist": "Datos de la aplicación", + "swarmUpload": "Subir a Swarm" + }, + "develop": { + "uploadToSwarm": "Upload a Swarm", + "label": "Desarrollo", + "devTools": "Herramientas para desarrolladores", + "devToolsMistUI": "UI de Mist", + "devToolsWalletUI": "UI del monedero", + "devToolsWebview": "__webview__", + "runTests": "Ejecutar pruebas", + "logFiles": "Mostrar archivo de registro", + "ethereumNode": "Nodo de Ethereum", + "network": "Red", + "mainNetwork": "Red principal", + "startMining": "⛏ Empezar a minar", + "stopMining": "⛏ Parar de minar", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Ventana", + "minimize": "Minimizar", + "close": "Cerrar", + "toFront": "Traer Todo al Frente" + }, + "help": { + "label": "Ayuda", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "No se pudo conectar al nodo? Vea los registros para más información:", + "nodeStartup": "Parece que el nodo no se pudo iniciar, tiene uno ya funcionando? ¿Está actualizando la base de datos en este momento?", + "timeSync": { + "title": "El reloj de su ordenador no está sincronizado.", + "description": "Para sincronizar correctamente con la red Ethereum necesitas sincronizar el reloj de tu ordenador con un servidor de tiempo.", + "win32": "Ve a los ajustes del tiempo en las preferencias de sistema y marca la casilla. Vea esta guía para más detalles: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Para permitir la sincronización con un servidor de tiempo instale \"ntp\" vía \"apt-get install ntp\".", + "darwin": "Para habilitar la sincronización del tiempo, abra las preferencias de tiempo y marque \"Ajuste la hora y la fecha automáticamente\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Recargar", + "openDevTools": "Abrir las Herramientas de Desarrollador", + "inspectElements": "Inspeccionar Elemento" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ bloques restantes", + "blockReceived": "Nuevo bloque recibido", + "blockNumber": "Su último número de bloque", + "timeSinceBlock": "Tiempo transcurrido desde el último bloque", + "testnetExplain": "Estás en la red de pruebas, NO ENVÍE ningún ether real a estas direcciones", + "peers": "pares", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main Ethereum global network", + "privatenetExplain": "You are on a private net, DO NOT SEND any real ether to these addresses", + "unknownnetExplain": "Unable to determine which network you are on" + }, + "sidebar": { + "buttons": { + "browser": "Navegar" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "No hay cuentas definidas", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Encontrado nodo Ethereum funcionando!", + "startingNode": "Iniciando el nodo Ethereum...", + "startedNode": "Iniciando la aplicación...", + "nodeConnectionTimeout": "No se pudo iniciar un nodo Ethereum!
Si has instalado Geth, utiliza este comando para ejecutarlo:
geth --ipcpath __path__

O informa del problema ", + "nodeBinaryNotFound": "No se ha encontrado el binario del nodo Ethereum!
Por favor, inicie antes uno manualmente. ", + "nodeSyncing": "El nodo de Ethereum necesita sincronizarse, por favor espere...", + "nodeSyncInfo": "Descargando bloque __displayBlock__ de __highestBlock__.", + "nodeSyncConnecting": "Buscando pares...", + "peerSearchTimeout": "Omitir la búsqueda de pares", + "stoppingNode": "Stopping Ethereum node...", + "nodeStarting": "Ethereum node starting up...", + "nodeStarted": "Ethereum node started", + "nodeConnected": "Ethereum node connected", + "nodeStopping": "Ethereum node stopping...", + "nodeStopped": "Ethereum node stopped", + "nodeError": "Ethereum node connection error :'(", + "unableToBindPort": "Ethereum node cannot run. Is another instance already running?", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "launchApp": "Launch Application", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Crear cuenta", + "enterPassword": "Introduzca la contraseña", + "repeatPassword": "Repita la contraseña", + "creating": "Generando cuenta...", + "errors": { + "passwordMismatch": "Tus contraseñas no coinciden.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Introduzca la contraseña maestra", + "enterPassword": "Introduzca la contraseña maestra", + "unlocking": "Desbloquenado...", + "errors": { + "wrongPassword": "La contraseña es incorrecta, inténtelo de nuevo." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Enviar transacción", + "contractExecution": "Ejecutar contrato", + "createContract": "Crear contrato" + }, + "contractExecutionInfo": "Estás a punto de ejecutar una función en un contrato. Esto puede implicar la transferencia de valor.", + "contractCreationInfo": "Vas a crear un contrato a partir de los datos proporcionados.", + "enterPassword": "Introduzca la contraseña para confirmar la transacción", + "unlocking": "Confirmando...", + "createContract": "Crear contrato", + "estimatedFee": "Tasa de comisión estimada", + "estimatedGasError": "Los datos no pueden ser ejecutados por lo que se utilizá todo el gas proporcionado.", + "gasPrice": "Precio del Gas", + "perMillionGas": "ether por millón de gas", + "gasLimit": "Proporcionar la tasa máxima", + "data": "Datos", + "buttons": { + "sendTransaction": "Enviar transacción" + }, + "errors": { + "connectionTimeout": "No se pudo conectar al nodo, ha dejado de funcionar en segundo plano?", + "wrongPassword": "Contraseña incorrecta", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum es una plataforma descentralizada para la construcción de aplicaciones en una blockchain: segura y a prueba de manipulaciones que puede transferir valor, propiedad y vive para siempre", + "goToTestnet": "Utiliza la red de pruebas (Rinkeby)", + "goToTestnetDescription": "Pruebe la tecnología libremente en una red de pruebas sin utilizar ether reales.", + "gotoMainnet": "Utilizar la red principal", + "gotoMainnetDescription": " Necesitarás algunos Ether para poder crear y ejecutar contratos. No se preocupe, nosotros le ayudaremos a obtener algunos...", + "doYouHaveAWalletFile": "¿Tiene un archivo de monedero?", + "walletFileDescription": "

Si participaste en la preventa de Ethereum en 2014, deberías tener un archivo llamado ethereum_wallet_backup.json. Se descargó después de la venta y también se envió a su correo electrónico.

", + "dropFilesHere": "Soltar el archivo de la pre-venta", + "creating": "Creando...", + "importing": "Importando...", + "skip": "Omitir este paso", + "next": "Siguiente", + "protectTitle": "Proteger su cuenta", + "protectDescription": "Elija una contraseña para su nueva cuenta que sea tan fuerte como si fuera a proteger las llaves de su casa!", + "accountTitle": "Cargarla!", + "accountTitleTestnet": "Minar algunos!", + "etherDescription": "La red ethereum está basada en un token llamado “Ether”. Necesitarás una pequeña cantidad de él para hacer cualquier cosa en la red Ethereum.", + "loadItDescription": "Si ya dispone de Bitcoin o cualquier otra criptomoneda, puede convertirlas fácilmente a ether utilizando changelly.

Recomendamos una cuantía de entre 0.25 a 1 ether.", + "mineItDescription": "En la red de pruebas puedes minar ether tú mismo desde el menú Desarrollar y eligiendo Empezar a minar.
NO INTENTE ENVIAR ETHER REALES A ESTA DIRECCIÓN ", + "you": "TÚ", + "etherbase": "Cuenta principal (etherbase)", + "depositBitcoin": "Depositar Bitcoin", + "learnIt": "Aprenda mientras espera", + "downloadingBlocks": "Descargando bloques", + "tutorial1Description": "

Ahora lo único que queda por hacer es esperar a que finalice la descarga. Aquí tiene unas sugerencias de lectura:

Haga su propio dinero

Haga una criptomoneda con una oferta de mercado fija, tokens que representen activos del mundo real, etc

", + "tutorial2Description": "

Crear una crowdsale

Recaude fondos para un objetivo común, totalmente confiable y sin terceros. Evite así el obstáculo de la financiación del sistema tradicional y vaya directamente a la fuente mediante la financiación de una organización a través de la blockchain.

", + "tutorial3Description": "

Organización en la Blockchain

Crea una organización autónoma con reglas inquebrantables sobre cómo el dinero puede ser gastado y quién puede tomar las decisiones. Deje que sus promotores tengan un papel activo en la forma en que se gasta el dinero

", + "buttons": { + "showPassword": "Mostrar contraseña", + "importAccount": "Importar cuenta", + "launchApp": "Lanzar Aplicación!", + "learnReceipt": "Aprender esta receta" + }, + "errors": { + "nodeNotStartedYet": "Espere unos segundos más hasta que su nodo esté completamente iniciado y vuelva a intentarlo", + "unknownFile": "Archivo no reconocido.", + "wrongPassword": "Contraseña incorrecta.", + "importFailed": "No se pudo importar el archivo por el error: __error__" + }, + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "connectAccount": { + "chooseAccountTitle": "Elegir sus cuentas", + "createAccount": "Crear nueva cuenta", + "pinToSidebar": "Mantener la aplicación en la barra lateral", + "connectAccountDescription": "Usted está compartiendo su identidad con __dappName__. Esto permite que la aplicación tenga acceso a la información pública de las cuentas seleccionadas, saldos incuindo relacionados con las mismas." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + } + } + }, + "elements": { + "checksumAlert": "Esta dirección parece válida, pero no tiene algunas de las características de seguridad que le protegerán contra los errores tipográficos así que compruebe que tenga la correcta. Si se proporciona, compruebe si el icono de seguridad coincide.", + "identiconHelper": "Este es un icono de seguridad. Si hay algún cambio en la dirección, el icono resultante debería ser completamente diferente", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.fa.i18n.json b/interface/i18n/mist.fa.i18n.json new file mode 100644 index 0000000..5a59a5a --- /dev/null +++ b/interface/i18n/mist.fa.i18n.json @@ -0,0 +1,281 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "About __app__", + "checkForUpdates": "Check for updates...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Services", + "hide": "Hide __app__", + "hideOthers": "Hide Others", + "showAll": "Show All", + "quit": "Quit __app__" + }, + "edit": { + "label": "Edit", + "undo": "Undo", + "redo": "Redo", + "cut": "Cut", + "copy": "Copy", + "paste": "Paste", + "selectAll": "Select all" + }, + "view": { + "label": "View", + "fullscreen": "Toggle Fullscreen", + "default": "Default" + }, + "file": { + "label": "Accounts", + "importPresale": "Import Accounts", + "newAccount": "New account", + "backup": "Backup", + "backupKeyStore": "Accounts", + "backupMist": "Application Data" + }, + "develop": { + "uploadToSwarm": "Upload to Swarm", + "label": "Develop", + "devTools": "Toggle Developer Tools", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Run tests", + "logFiles": "Show log file", + "externalNode": "using external node", + "ethereumNode": "Ethereum Node", + "network": "Network", + "mainNetwork": "Main Network", + "startMining": "⛏ Start Mining", + "stopMining": "⛏ Stop Mining", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Window", + "minimize": "Minimize", + "close": "Close", + "toFront": "Bring All to Front" + }, + "help": { + "label": "Help", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Couldn't connect to node? See the logs for more:", + "nodeStartup": "It seems like the node couldn't be started, do you already have one running? Is it upgrading the database right now?", + "timeSync": { + "title": "Your computer's clock is not synced.", + "description": "To successfully synchronize with the Ethereum network you need to sync your computer's clock with a time sync server.", + "win32": "Go to your Internet Time Settings in your system preferences and check the box. See this guide for details: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "To enable a time sync server install \"ntp\" via \"apt-get install ntp\".", + "darwin": "To enable time sync, open the time preferences and check \"Set the time and date automatically\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the Ethereum Classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Reload", + "openDevTools": "Open Developer Tools", + "inspectElements": "Inspect Element" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blocks left", + "blockReceived": "New Block Received", + "blockNumber": "Your latest block number", + "timeSinceBlock": "Elapsed time since last block", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main Ethereum global network", + "testnetExplain": "You are on the testnet, DO NOT SEND any real Ether to these addresses", + "privatenetExplain": "You are on a private net, DO NOT SEND any real Ether to these addresses", + "unknownnetExplain": "Unable to determine which network you are on", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Browse" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "No accounts set", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Found running Ethereum node!", + "startingNode": "Starting Ethereum node...", + "stoppingNode": "Stopping Ethereum node...", + "startedNode": "Starting application...", + "nodeConnectionTimeout": "Couldn't start Ethereum node!
If you installed Geth, use this command to run it:
geth --ipcpath __path__

Or report an issue ", + "nodeBinaryNotFound": "No Ethereum node binary found!
Please start one manually before. ", + "nodeStarting": "Ethereum node starting up...", + "nodeStarted": "Ethereum node started", + "nodeConnected": "Ethereum node connected", + "nodeStopping": "Ethereum node stopping...", + "nodeStopped": "Ethereum node stopped", + "nodeError": "Ethereum node connection error :'(", + "unableToBindPort": "Ethereum node cannot run. Is another instance already running?", + "nodeSyncing": "Ethereum node needs to sync, please wait...", + "nodeSyncInfo": "Downloading block __displayBlock__ of __highestBlock__", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncConnecting": "Looking for peers...", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "peerSearchTimeout": "Skip peer search", + "launchApp": "Launch Application", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "requestAccount": { + "title": "Create account", + "enterPassword": "Enter password", + "repeatPassword": "Repeat password", + "creating": "Generating account...", + "errors": { + "passwordMismatch": "Your passwords don't match.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Enter master password", + "enterPassword": "Enter master password", + "unlocking": "Unlocking...", + "errors": { + "wrongPassword": "Password is wrong, try again." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Send transaction", + "contractExecution": "Execute contract", + "createContract": "Create contract" + }, + "contractExecutionInfo": "You are about to execute a function on a contract. This might involve transfer of value.", + "contractCreationInfo": "You are about to create a contract from the provided data.", + "enterPassword": "Enter password to confirm the transaction", + "unlocking": "Confirming...", + "createContract": "Create contract", + "estimatedFee": "Estimated fee consumption", + "estimatedGasError": "It seems this transaction will fail. If you submit it, it may consume all the gas you send.", + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "gasPrice": "Gas price", + "perMillionGas": "ether per million gas", + "gasLimit": "Provide maximum fee", + "data": "Raw Data", + "parameters": "Parameters", + "buttons": { + "sendTransaction": "Send transaction" + }, + "errors": { + "connectionTimeout": "Couldn't connect to the node, did it crash in the background?", + "wrongPassword": "Wrong password", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum is a public blockchain that features a turing complete programming for building solid, decentralized applications.", + "goToTestnet": "Use the test network (Rinkeby)", + "goToTestnetDescription": "Test the technology freely in a sandboxed testnet, without using real ether.", + "gotoMainnet": "Use the main network", + "gotoMainnetDescription": "You’ll need some Ether in order to create and execute contracts. Don't worry, we'll help you get some...", + "doYouHaveAWalletFile": "Do you have a wallet file?", + "walletFileDescription": "

If you participated on the Ethereum Pre-sale 2014, you should have a file named ethereum_wallet_backup.json. It was downloaded after the sale and also sent to your email

", + "dropFilesHere": "Drop pre-sale file", + "creating": "Creating...", + "importing": "Importing...", + "skip": "Skip this step", + "next": "Next", + "protectTitle": "Protect your account", + "protectDescription": "Choose a password for your new account. Make it as strong as if it would protect your house keys!", + "accountTitle": "Load it up!", + "accountTitleTestnet": "Mine some!", + "etherDescription": "The ethereum network is based on token called “Ether”. You’ll need a small amount of it to do anything on the Ethereum network.", + "loadItDescription": "If you already own Bitcoin, or any other cryptocurrency, you can easily convert it to ether using changelly.

We recommend loading somewhere between 0.25 to 1 ether.", + "mineItDescription": "On the testnet you can mine ether yourself by going to the Develop menu and choosing Start Mining.
DO NOT ATTEMPT TO SEND REAL ETHER TO THIS ADDRESS ", + "you": "YOU", + "etherbase": "Main account (etherbase)", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Learn while you wait", + "downloadingBlocks": "Downloading blocks", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "tutorial1Description": "

Now the only thing left to do is wait for the download to finish. Here's some reading suggestions:

Make your own money

Make a cryptocurrency with a fixed market supply, tokens representing real world assets, etc

", + "tutorial2Description": "

Create a crowdsale

Raise funds for a common goal, fully trustable without a third party. Sidestep the hurdle of traditional funding system and go directly to the source by funding an organization via the blockchain.

", + "tutorial3Description": "

Create a blockchain organization

Create an autonomous organization with rules on spending money and making decisions for you and your investors.

", + "buttons": { + "showPassword": "Show password", + "importAccount": "Import account", + "launchApp": "Launch Application!", + "learnReceipt": "Learn this recipe" + }, + "errors": { + "nodeNotStartedYet": "Wait a few more seconds until your node is fully started and try again", + "unknownFile": "File not recognised.", + "wrongPassword": "Wrong password.", + "importFailed": "Couldn't import the file, got: __error__" + }, + "startingSync": "Getting ready to sync.." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "This address looks valid, but it doesn't have some security features that will protect you against typos, so double check you have the right one. If provided, check if the security icon matches.", + "identiconHelper": "This is a security icon, if there's any change on the address the resulting icon should be a completely different one", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.fr.i18n.json b/interface/i18n/mist.fr.i18n.json new file mode 100644 index 0000000..b9306dc --- /dev/null +++ b/interface/i18n/mist.fr.i18n.json @@ -0,0 +1,282 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "À propos de __app__", + "checkForUpdates": "Chercher des mises à jour...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Services", + "hide": "Masquer __app__", + "hideOthers": "Masquer les autres", + "showAll": "Afficher tout", + "quit": "Quitter __app__" + }, + "edit": { + "label": "Modifier", + "undo": "Annuler", + "redo": "Rétablir", + "cut": "Couper", + "copy": "Copier", + "paste": "Coller", + "selectAll": "Tout sélectionner" + }, + "view": { + "label": "Voir", + "fullscreen": "Basculer en mode plein écran", + "default": "Default" + }, + "file": { + "label": "Fichier", + "importPresale": "Importer les comptes", + "newAccount": "Nouveau compte", + "backup": "Sauvegarder", + "backupKeyStore": "Comptes", + "backupMist": "Données de l'application" + }, + "develop": { + "uploadToSwarm": "Télécharger à Swarm", + "label": "Développement", + "devTools": "Outils de développement", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Lancer les tests", + "logFiles": "Afficher le journal de log", + "ethereumNode": "Nœud Ethereum", + "network": "Réseau", + "mainNetwork": "Réseau principal", + "startMining": "⛏ Commencer à miner", + "stopMining": "⛏ Arrêter de miner", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Fenêtre", + "minimize": "Réduire", + "close": "Fermer", + "toFront": "Tout afficher au premier plan" + }, + "help": { + "label": "Aide", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Vous n'arrivez pas à vous connecter à un nœud ? Regarder le journal de log pour en savoir plus :", + "nodeStartup": "Le nœud n'a apparemment pas pu être lancé, en avez-vous déjà un de lancé ? Est-il en train de mettre à jour la base de données actuellement ?", + "timeSync": { + "title": "L'horloge de votre ordinateur n'est pas synchronisée.", + "description": "Pour être correctement synchronisé avec le réseau Ethereum, vous devez synchronizer l'horloge de votre ordinateur avec un serveur de synchronisation de temps.", + "win32": "Allez dans vos paramètres d'heure Internet dans votre panneau de configuration et cochez la case. Lisez ce guide pour plus de détails : http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Pour activer un serveur de synchronisation de temps, installez \"ntp\" via \"apt-get install ntp\".", + "darwin": "Pour activer la synchronisation du temps, ouvrez les préférences de temps et cochez \"Régler la date et l'heure automatiquement\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Recharger", + "openDevTools": "Ouvrir les outils de développement", + "inspectElements": "Inspecter l'élément" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blocs restant", + "blockReceived": "Nouveau bloc reçu", + "timeSinceBlock": "depuis le dernier bloc", + "peers": "pairs", + "blockNumber": "Your latest block number", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main Ethereum global network", + "testnetExplain": "You are on the testnet, DO NOT SEND any real ether to these addresses", + "privatenetExplain": "You are on a private net, DO NOT SEND any real ether to these addresses", + "unknownnetExplain": "Unable to determine which network you are on" + }, + "sidebar": { + "buttons": { + "browser": "Parcourir" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Aucun compte défini", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Nœud Ethereum actif trouvé !", + "startingNode": "Démarrage du nœud Ethereum en cours...", + "startedNode": "Démarrage de l'application...", + "nodeConnectionTimeout": "Echec du démarrage du nœud Ethereum !
Si vous avez installé Geth, utilisez cette commande pour le lancer :
geth --ipcpath __path__

Ou signalez le problème ", + "nodeBinaryNotFound": "Pas de binaire du nœud Ethereum trouvé !
Veuillez en lancer d'abord un manuellement. ", + "nodeSyncing": "Le nœud Ethereum se synchronise, veuillez patienter...", + "nodeSyncInfo": "Télechargement du bloc __displayBlock__ depuis le bloc __highestBlock__.", + "nodeSyncConnecting": "À la recherche de pairs...", + "peerSearchTimeout": "Recherche de pairs ignorée", + "stoppingNode": "Stopping Ethereum node...", + "nodeStarting": "Ethereum node starting up...", + "nodeStarted": "Ethereum node started", + "nodeConnected": "Ethereum node connected", + "nodeStopping": "Ethereum node stopping...", + "nodeStopped": "Ethereum node stopped", + "nodeError": "Ethereum node connection error :'(", + "unableToBindPort": "Ethereum node cannot run. Is another instance already running?", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "launchApp": "Launch Application", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Créer un compte", + "enterPassword": "Entrer un mot de passe", + "repeatPassword": "Répéter le mot de passe", + "creating": "Génération du compte...", + "errors": { + "passwordMismatch": "Vos mots de passe ne correspondent pas.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Entrer le mot de passe principal", + "enterPassword": "Entrer le mot de passe principal", + "unlocking": "Déverouillage...", + "errors": { + "wrongPassword": "Mauvais mot de passe, veuillez réessayer." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Envoyer la transaction", + "contractExecution": "Executer le contrat", + "createContract": "Créer un contrat" + }, + "contractExecutionInfo": "Vous êtes sur le point d'exécuter une fonction sur un contrat. Cela peut impliquer un transfert de valeur.", + "contractCreationInfo": "Vous êtes sur le point de créer un contrat à partir des données fournies.", + "enterPassword": "Entrez votre mot de passe pour confirmer la transaction", + "unlocking": "Confirmation...", + "createContract": "Créer contrat", + "estimatedFee": "Taxe de consommation estimée", + "estimatedGasError": "Les données n'ont pas pu être executées et vont donc utiliser tout le gaz fourni.", + "gasPrice": "Prix du gaz", + "perMillionGas": "ether par million de gaz", + "gasLimit": "Fournir la taxe maximum", + "data": "Données", + "buttons": { + "sendTransaction": "Envoyer la transaction" + }, + "errors": { + "connectionTimeout": "La connexion au nœud n'a pas pu s'établir, est-ce un plantage dans l'arrière-plan ?", + "wrongPassword": "Mauvais mot de passe", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum est une plateforme décentralisée pour la création d'applications sur une blockchain (chaîne de blocs) : logiciel inviolable qui peut transférer de la valeur et de la propriété et qui vit pour toujours", + "goToTestnet": "Utiliser le réseau Testnet (Rinkeby)", + "goToTestnetDescription": "Testez la technologie librement sur le réseau sandboxé (bac à sable), sans utiliser d'ether réel.", + "gotoMainnet": "Utiliser le réseau réel", + "gotoMainnetDescription": "Vous aurez besoin de quelques Ether afin de créer et exécuter des contrats. Ne vous en faites pas, nous allons vous aider à en obtenir...", + "doYouHaveAWalletFile": "Avez-vous un fichier wallet ?", + "walletFileDescription": "

Si vous avez participé à la prévente Ethereum 2014, vous devriez avoir un fichier nommé ethereum_wallet_backup.json. Il a été téléchargé après la vente et vous a aussi été envoyé par e-mail

", + "dropFilesHere": "Déposer un fichier de prévente ici", + "creating": "Création...", + "importing": "Importation...", + "skip": "Ignorer ces étapes", + "next": "Suivant", + "protectTitle": "Protéger votre compte", + "protectDescription": "Choisissez un mot de passe pour votre nouveau compte. Rendez-le aussi fort que s'il protégeait les clés de votre maison !", + "accountTitle": "Chargez le !", + "accountTitleTestnet": "Minez-en quelques-uns !", + "etherDescription": "Le réseau ethereum est basé sur un token (jeton) appelé “Ether”. Vous aurez besoin d'un petit montant de cela pour faire ce que vous souhaitez sur le réseau Ethereum.", + "loadItDescription": "Si vous possédez déjà des Bitcoin, ou n'importe quel autre crypto-monnaie, vous pouvez facilement les convertir en ether en utilisant changelly.

Nous recommandons d'en charger de 0.25 à 1 ether.", + "mineItDescription": "Sur le réseau Testnet vous pouvez miner de l'ether vous-même en allant sur le menu Développement et en choisissant Commencer à miner.
N'ESSAYEZ PAS D'ENVOYER DU VERITABLE ETHER A CETTE ADRESSE ", + "you": "VOUS", + "etherbase": "Compte principal (etherbase)", + "depositBitcoin": "Déposer des Bitcoin", + "learnIt": "Apprenez pendant que vous patientez", + "downloadingBlocks": "Téléchargement de blocs", + "tutorial1Description": "

Maintenant la seule chose qu'il reste à faire est d'attendre que le téléchargement se finisse. Voici quelques suggestions de lecture :

Faire son propre argent

Faire une crypto-monnaie avec une offre de marché fixe, les tokens représentant les actifs du monde réel, etc

", + "tutorial2Description": "

Créer un crowdsale

Lever des fonds pour un but commun, entièrement fiable et sans tiers. Éviter l'obstacle du système de financement traditionnel et aller directement à la source en finançant une organisation via la blockchain.

", + "tutorial3Description": "

Organisation de la blockchain

Créer une organisation autonome avec des règles inviolables sur la façon dont l'argent peut être dépensé et qui peut prendre des décisions. Laissez vos bailleurs de fonds prendre un rôle actif sur la façon dont l'argent est dépensé

", + "buttons": { + "showPassword": "Afficher le mot de passe", + "importAccount": "Importer un compte", + "launchApp": "Lancer l'application !", + "learnReceipt": "Apprendre cette recette" + }, + "errors": { + "nodeNotStartedYet": "Attendez quelques secondes de plus avant que votre nœud soit initialisé et essayez de nouveau", + "unknownFile": "Fichier non reconnu.", + "wrongPassword": "Mauvais mot de passe.", + "importFailed": "Echec à l'importation du fichier avec l'erreur : __error__" + }, + "buyEther": "Acheter Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "Cette adresse semble valide, mais elle n'a pas de fonctionnalités de sécurité qui vous protégeront contre les fautes de frappe, alors revérifiez que vous avez la bonne. Si elle est fournie, vérifiez si l'icône de sécurité correspond.", + "identiconHelper": "C'est une icone de sécurité, si il y a le moindre changement sur l'adresse l'icône résultante devrait être complètement différente", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.it.i18n.json b/interface/i18n/mist.it.i18n.json new file mode 100644 index 0000000..f901729 --- /dev/null +++ b/interface/i18n/mist.it.i18n.json @@ -0,0 +1,272 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Info su __app__", + "checkForUpdates": "Controlla aggiornamenti...", + "checkForNodeUpdates": "Controlla aggiornamento dei nodi Ethereum...", + "services": "Servizi", + "hide": "Nascondi __app__", + "hideOthers": "Nascondi il resto", + "showAll": "Mostra tutto", + "quit": "Esci da __app__" + }, + "edit": { + "label": "Modifica", + "undo": "Annulla", + "redo": "Ripristina", + "cut": "Taglia", + "copy": "Copia", + "paste": "Incolla", + "selectAll": "Seleziona tutto" + }, + "view": { + "label": "Visualizza", + "fullscreen": "Schermo intero", + "default": "Default" + }, + "file": { + "label": "File", + "importPresale": "Importa Accounts", + "newAccount": "Nuovo account", + "backup": "Backup", + "backupKeyStore": "Accounts", + "backupMist": "Dati applicativi" + }, + "develop": { + "uploadToSwarm": "Carica a Swarm", + "label": "Sviluppo", + "devTools": "Strumenti di sviluppo", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Portafoglio UI", + "devToolsWebview": "__webview__", + "runTests": "Esegui Test", + "logFiles": "Mostra file di log", + "ethereumNode": "Nodo Ethereum", + "network": "Rete", + "mainNetwork": "Rete principale", + "startMining": "⛏ Inizia mining", + "stopMining": "⛏ Ferma mining", + "openRemix": "Apri IDE Remix" + }, + "window": { + "label": "Finestra", + "minimize": "Minimizza", + "close": "Chiudi", + "toFront": "Tutte in primo piano" + }, + "help": { + "label": "Aiuto", + "reportBug": "Riporta un problema su Github" + } + }, + "errors": { + "nodeConnect": "Impossibile connettersi al nodo. Controlla i log per dettagli:", + "nodeStartup": "Il nodo non puó essere avviato, ne hai giá uno in esecuzione? Il database è in fase di aggiornamento in questo momento?", + "timeSync": { + "title": "Il tuo orologio di sistema non è sincronizzato.", + "description": "E' necessario sincronizzare l'orologio di sistema con un time server per connettere correttamente il tuo nodo alla rete Ethereum.", + "win32": "Apri le impostazioni dell'orologio di sistema, seleziona Orario internet e metti un tick sul box. Segui questa guida (in inglese) per i dettagli: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Per abilitare la sincronia con un time server installa \"ntp\" via \"apt-get install ntp\".", + "darwin": "Per abilitare la sincronia dell'ora, apri le preferenze di orario e spunta \"Setta ora e data automaticamente\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum non corrispondente nel nodo scaricato!", + "description": "__algorithm__: __hash__\n\nPer favore installa la __type__ versione nodo __version__ manualmente." + }, + "legacyChain": { + "title": "Rilevata chain obsoleta", + "description": "Il tuo nodo si trova su una chain Ethereum Classic non supportata. Per usare questa chain usa strumenti forniti dal progetto ethereum classic da \nhttps://ethereumclassic.github.io.\n\nPer ritornare sulla chain principale di ethereum segui il tutorial seguente:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Ricarica", + "openDevTools": "Apri strumenti di sviluppo", + "inspectElements": "Ispeziona elemento" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blocchi mancanti", + "blockReceived": "Nuovo blocco ricevuto", + "blockNumber": "Il tuo ultimo numero di blocco", + "timeSinceBlock": "Tempo trascorso dall'ultimo blocco", + "testnetExplain": "Sei connesso alla testnet, NON INVIARE alcun ether reale a questi indirizzi", + "peers": "nodi", + "checkingWhichNetwork": "Controllo rete...", + "privateNetwork": "Private-net" + }, + "sidebar": { + "buttons": { + "browser": "Sfoglia" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Nessun account impostato", + "connect": "Connetti" + } + }, + "startScreen": { + "runningNodeFound": "Trovato nodo Ethereum in esecuzione!", + "startingNode": "Avvio nodo Ethereum ...", + "startedNode": "Avvio applicazione...", + "nodeConnectionTimeout": "Impossibile avviare un nodo Ethereum!
Se hai installato Geth, usa questo comando per eseguirlo:
geth --ipcpath __path__

o riporta il problema ", + "nodeBinaryNotFound": "Impossibile trovare l'eseguibile del nodo Ethereum !
Per favore avvialo manualmente prima. ", + "nodeSyncing": "Il nodo Ethereum deve sincronizzarsi, attendere prego...", + "nodeSyncInfo": "Scaricamento blocco __displayBlock__ di __highestBlock__.", + "nodeSyncConnecting": "Alla ricerca di nodi...", + "nodeStarting": "Nodo Ethereum in avvio...", + "nodeStarted": "Nodo Ethereum avviato", + "nodeConnected": "Nodo Ethereum connesso", + "nodeStopping": "Nodo Ethereum in arresto...", + "nodeStopped": "Nodo Ethereum arrestato", + "nodeError": "Nodo Ethereum errore di connessione :'(", + "unableToBindPort": "Nodo Ethereum non in esecuzione. Esiste altra istanza in esecuzione?", + "nodeSyncInfoStates": "Scaricamento blocco __displayBlock__ of __highestBlock__,
Scaricamento struttura chain __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connessione a __peers__ peers...", + "launchApp": "Avvia Applicazione", + "clientBinaries": { + "scanning": "Controlla aggiornamento nodo...", + "downloading": "Scaricamento nuovo nodo...", + "loadConfig": "Caricamento configurazione client...", + "filtering": "Filtro codice binario del client...", + "done": "Nodo Ethereum aggiornato...", + "error": "Errore durante lo scaricamento del codice binario." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Crea account", + "enterPassword": "Immetti password", + "repeatPassword": "Ripeti password", + "creating": "Generazione account...", + "errors": { + "passwordMismatch": "Le due password non sono uguali.", + "passwordTooShort": "Usa una password più lunga" + } + }, + "unlockMasterPassword": { + "title": "Inserisci password master", + "enterPassword": "Inserisci password master", + "unlocking": "Sblocco in corso...", + "errors": { + "wrongPassword": "Password errata, riprova." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Invia transazione", + "contractExecution": "Esegui contratto", + "createContract": "Crea contratto" + }, + "contractExecutionInfo": "Stai per eseguire una funzione su di un contratto. Questo potrebbe comportare trasferimento di valuta.", + "contractCreationInfo": "Stai per creare un contratto con i dati forniti.", + "enterPassword": "Inserisci la password per confermare la transazione", + "unlocking": "Conferma in corso...", + "createContract": "Creazione contratto", + "estimatedFee": "Stima consumo (commissione)", + "estimatedGasError": "Dati non eseguibili, quindi verrà utilizzato tutto il gas fornito.", + "gasPrice": "Prezzo carburante (Gas)", + "perMillionGas": "ether per milioni di gas", + "gasLimit": "Imposta limite di gas", + "data": "Dati", + "buttons": { + "sendTransaction": "Invia transazione" + }, + "errors": { + "connectionTimeout": "Impossibile connettersi al nodo, è forse terminato in modo inaspettato ?", + "wrongPassword": "Password errata", + "multipleKeysMatchAddress": "Chiavi multiple per lo stesso indirizzo, per favore eliminare i duplicati dal keystore (menu -> accounts -> backup -> accounts)", + "insufficientFundsForGas": "Credito insufficiente nel account pricipale (etherbase) per pagare il gas", + "sameAccount": "Non può inviare a se stesso" + }, + "transactionThrow": "Il contratto non consente l'esecuzione di questa transazione", + "noEstimate": "Impossibile stimare il gas necessario.", + "parameters": "Parametri", + "showRawBytecode": "mostra dati grezzi", + "showDecodedParameters": "mostra parameteri decodificati", + "lookupData": "Provo a decodificare i dati", + "lookupDataExplainer": "Cerca questo su internet", + "overBlockGasLimit": "Il gas richiesto per questa esecuzione potrebbe eccedere il gas limit del blocco.", + "notEnoughGas": "Il Gas potrebbe non essere sufficiente per completare con successo questa transazione.
Clicca qui per aumentare la quantità di gas." + }, + "onboarding": { + "description": "Ethereum é una piattaforma decentralizzata per costruire applicazioni sfruttando una blockchain: software a prova di manomissione che puó trasferire valore e proprietá vivendo per sempre", + "goToTestnet": "Usa la rete di test (Rinkeby)", + "goToTestnetDescription": "Prova la tecnologia liberamente utilizzando una testnet, senza l'utilizzo di vero ether.", + "gotoMainnet": "Usa la rete principale", + "gotoMainnetDescription": " Avrai bisogno di un po di Ether per creare ed eseguire contratti. Non ti preoccupare, ti aiuteremo ad ottenerne un pó...", + "doYouHaveAWalletFile": "Hai un file per il wallet ?", + "walletFileDescription": "

Se hai partecipato alla pre-vendita Ethereum nel 2014, dovresti avere un file nominatoethereum_wallet_backup.json. E' stato scaricato dopo la vendita e inoltre inviato al tuo indirizzo e-mail

", + "dropFilesHere": "Trascina file pre-vendita", + "creating": "Creazione...", + "importing": "Importazione...", + "skip": "Salta il passaggio", + "next": "Successivo", + "protectTitle": "Proteggi il tuo account", + "protectDescription": "Scegli una password per il tuo nuovo account. Rendila piu complicata possibile come se dovesse proteggere le tue chiavi di casa!", + "accountTitle": "Stra-caricalo!", + "accountTitleTestnet": "Mina un pó!", + "etherDescription": "La rete ethereum é basata su di un token chiamato “Ether”. Avrai bisogno di una piccola quantitá di ether per fare qualsiasi cosa sulla rete Ethereum.", + "loadItDescription": "Se possiedi giá Bitcoin, o qualunque altra cryptovaluta, puoi facilmente convertirla in eth usando changelly.

Raccomandiamo di depositare da 0.25 a 1 ether.", + "mineItDescription": "Sulla rete di test (testnet) puoi minare ether in autonomia utilizzando il menu' Sviluppo e selezionando Inizia Mining.
NON TENTARE DI INVIARE ETHER REALE A QUESTO INDIRIZZO", + "you": "TU", + "etherbase": "Account principale (etherbase)", + "depositBitcoin": "Deposita Bitcoin", + "learnIt": "Impara mentre aspetti", + "downloadingBlocks": "Scaricamento blocchi ", + "tutorial1Description": "

Ora l'ultima cosa rimasta e' aspettare che il download sia completato. Eccoti alcuni consigli di letture:

Conia la tua moneta

Conia una cryptovaluta con una offerta di mercato fissa, tokens che rappresentano beni nel mondo reale, etc

", + "tutorial2Description": "

Crea una crowdsale

Raccogli fondi per uno scopo comune, in piena fiducia e senza terze parti. Evita le difficoltá di un sistema tradizionale di raccolta fondi e raggiungi direttamente la fonte finanziando una organizzazione tramite la blockchain.

", + "tutorial3Description": "

Organizzazione su Blockchain

Crea una organizzazione autonoma con regole indissolubili riguardo a come i soldi possono essere spesi e da chi puó prendere le decisioni. Permetti ai tuoi sostenitori di partecipare attivamente riguardo a come i soldi vengono spesi

", + "buttons": { + "showPassword": "Mostra password", + "importAccount": "Importa account", + "launchApp": "Avvia Applicazione!", + "learnReceipt": "Dettagli ricevuta" + }, + "errors": { + "nodeNotStartedYet": "Attendi qualche secondo ancora finché il tuo nodo non é completamente avviato e riprova", + "unknownFile": "File non riconosciuto.", + "wrongPassword": "Password errata.", + "importFailed": "Impossibile importare il file: __error__" + }, + + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "Nuova __name__ versione disponibile", + "version": "Versione", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Aggiorna e Riavvia", + "download": "Scarica nuova versione", + "skipUpdate": "Salta Aggiornamento", + "checking": "Controlla aggiornamenti a __name__...", + "noUpdateFound": "Nessuna aggiornamento trovato. Stai eseguendo l'ultima versione di __name__." + + }, + "connectAccount": { + "chooseAccountTitle": "Scegli account", + "createAccount": "Crea nuovo account", + "pinToSidebar": "Aggancia applicazione alla barra laterale", + "connectAccountDescription": "Sta per condividere la tua identità con __dappName__. Questo consente all'applicazione di vedere ogni informazione pubblica del tuo account, compreso il relativo balance associato." + } + } + }, + "elements": { + "checksumAlert": "Questo indirizzo sembra valido ma non ha alcuna sicurezza aggiuntiva che ti possa proteggere da errori di battitura, ricontrolla quindi che sia quello corretto. Se disponibile, verifica che le icone di sicurezza siano uguali.", + "identiconHelper": "Questa è un icona di sicurezza, se c'è qualsiasi cambiamento nell'indirizzo l'icona risultante sarà completamente differente", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.ja.i18n.json b/interface/i18n/mist.ja.i18n.json new file mode 100644 index 0000000..e3792ea --- /dev/null +++ b/interface/i18n/mist.ja.i18n.json @@ -0,0 +1,283 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "__app__ について", + "checkForUpdates": "アップデートの確認...", + "checkForNodeUpdates": "EtherCore ノードのアップデートの確認...", + "services": "サービス", + "hide": "__app__ を隠す", + "hideOthers": "ほかを隠す", + "showAll": "すべてを表示", + "quit": " __app__ を終了する" + }, + "edit": { + "label": "編集", + "undo": "元に戻す", + "redo": "やり直す", + "cut": "カット", + "copy": "コピー", + "paste": "ペースト", + "selectAll": "全てを選択" + }, + "view": { + "label": "ビュー", + "fullscreen": "フルスクリーン", + "default": "デフォルト" + }, + "file": { + "label": "アカウント", + "importPresale": "アカウントを読み込む", + "newAccount": "新規アカウント", + "backup": "バックアップを取る", + "backupKeyStore": "アカウント", + "backupMist": "アプリケーションデータ" + }, + "develop": { + "uploadToSwarm": "Swarm にアップロード", + "label": "開発", + "devTools": "開発者用ツール", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "テストを実行する", + "logFiles": "ログファイルを表示する", + "ethereumNode": "EtherCore ノード", + "network": "ネットワーク", + "mainNetwork": "メインネットワーク", + "startMining": "⛏ マイニングを始める", + "stopMining": "⛏ マイニングを中止する", + "externalNode": "外部のノードを使用する", + "openRemix": "Remix IDE を開く", + "nodeMode": "チェーンダウンロード", + "fullNode": "フルノードを保存する", + "lightNode": "ライトノードを使う (実験的なものです!)" + }, + "window": { + "label": "ウィンドウ", + "minimize": "最小化", + "close": "閉じる", + "toFront": "前面に表示" + }, + "help": { + "label": "ヘルプ", + "reportBug": "バグレポート" + } + }, + "errors": { + "nodeConnect": "ノードにつながりませんか? ログを見て下さい。", + "nodeStartup": "ノードが始まらないようです。既に動かしていますか?今すぐデータベースを動かしますか?", + "timeSync": { + "title": "コンピューターのクロックが未だ同期されていません.", + "description": "EtherCore のネットワークと同期を成功させるためには、時間を同期させるサーバーとあなたのコンピューターを同期させる必要があります。", + "win32": "システム設定を開き、「インターネットの時間設定」を開いてチェックボックスにチェックを入れて下さい。詳しくはこちらのガイドをご覧下さい: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "時間を同期させるサーバーを使うためには、 \"ntp\" を \"apt-get install ntp\" をコマンドラインから入力してインストールする必要があります。", + "darwin": "時間を同期するためには、時間設定を開き \"時間と日付を自動で同期\" にチェックすることが必要です." + }, + "nodeChecksumMismatch": { + "title": "ダウンロードしたノードのチェックサムの照合に失敗しました!", + "description": "__algorithm__: __hash__\n\nノード __type__ バージョン __version__ を手動でインストールしてください." + }, + "legacyChain": { + "title": "レガシーチェーンを検出しました", + "description": "あなたのノードは現在サポートされていません. Ethereum のクラシックプロジェクトによって提供されるこのチェーン使用ツールを使用するには \nhttps://ethereumclassic.github.io.\n\nメイン Ethereum チェーンに戻す方法のチュートリアルはこちら:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "リロード", + "openDevTools": "開発者用ツールを開く", + "inspectElements": "要素を検証する" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ ブロックが残っています", + "blockReceived": "新しいブロックを受け取りました", + "timeSinceBlock": "最後のブロックから", + "peers": "ピアー", + "blockNumber": "ブロック番号", + "checkingWhichNetwork": "ネットワークをチェックしています...", + "mainNetwork": "メインネット", + "testNetwork": "テストネット", + "privateNetwork": "プライベートネット", + "mainnetExplain": "ここは EtherCore のメインネットです", + "testnetExplain": "ここはテストネットです。絶対に本物の ehter を送らないでください", + "privatenetExplain": "ここはプライベートっとです。絶対に本物の ether を送らないでください", + "unknownnetExplain": "どこのネットワークにいるか判定できませんでした" + }, + "sidebar": { + "buttons": { + "browser": "探す" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "アカウントがセットされていません", + "connect": "接続" + } + }, + "startScreen": { + "runningNodeFound": "起動している EtherCore ノードを見つけました!", + "startingNode": "EtherCore ノードを開始しています。", + "startedNode": "EtherCore ノードは開始されました...", + "nodeConnectionTimeout": "EtherCore ノードをスタート出来ませんでした!
もしGethをインストールしているならば,このコマンドを使ってみてください:
geth --ipcpath __path__

もしくは問題を報告して下さい。 ", + "nodeBinaryNotFound": "EtherCore ノードバイナリーが見つかりませんでした。
手動でスタートして下さい。 ", + "nodeSyncing": "EtherCore ノードは同期中です...", + "nodeSyncInfo": "ブロックをダウンロードしています。 __displayBlock__ / __highestBlock__.", + "nodeSyncConnecting": "ピアーを探しています。...", + "peerSearchTimeout": "ピアーの検索を中止しています", + "stoppingNode": "ノードを終了しています...", + "nodeStarting": "ノードを起動しています...", + "nodeStarted": "ノードは起動されました", + "nodeConnected": "ノードは接続されました", + "nodeStopping": "ノードを終了しています...", + "nodeStopped": "ノードは終了しました", + "nodeError": "ノード接続エラー :'(", + "unableToBindPort": "EtherCore ノードが実行できません。既に他のインスタンスが立ち上がっていませんか?", + "nodeSyncInfoStates": "ブロック __displayBlock__ / __highestBlock__ ダウンロード中,
チェーン構造 __displayState__ / __displayKnownStates__ ダウンロード中", + "nodeSyncFoundPeers": "ピアー __peers__ に接続中...", + "launchApp": "アプリケーションを起動", + "clientBinaries": { + "scanning": "ノードのアップデートを確認中...", + "downloading": "新たなノードをダウンロード中...", + "loadConfig": "クライアントの設定を読み込み中...", + "filtering": "クライアントのバイナリをフィルタリング中...", + "done": "EtherCore ノードは最新です", + "error": "ダウンロードしたバイナリでエラーが発生." + } + }, + "popupWindows": { + "requestAccount": { + "title": "アカウントを作成する", + "enterPassword": "パスワードを入力する", + "repeatPassword": "パスワードを繰り返し入力する", + "creating": "アカウントを生成しています...", + "errors": { + "passwordMismatch": "パスワードが正しくありません", + "passwordTooShort": "もっと長いパスワードにしてください" + } + }, + "unlockMasterPassword": { + "title": "マスターパスワードを入力する", + "enterPassword": "マスターパスワードを入力する", + "unlocking": "ロックを解除しています...", + "errors": { + "wrongPassword": "パスワードが間違っています。再度トライして下さい" + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "トランザクションを送信する", + "contractExecution": "コントラクトを実行する", + "createContract": "コントラクトを作成する" + }, + "contractExecutionInfo": "コントラクトの関数を実行しようとしています。これはバリューの移転を含むことがあります。", + "contractCreationInfo": "与えられたデータからコントラクトを作成しようとしています。", + "enterPassword": "トランザクションを実行するためにパスワードを入力して下さい。", + "unlocking": "承認しています...", + "createContract": "コントラクトを作成する", + "estimatedFee": "推定されるトランザクションフィーの消費", + "estimatedGasError": "データが実行できませんでした、そのため全ての GAS が消費されます。", + "gasPrice": "GAS 価格", + "perMillionGas": "100 万 GAS ごとの Ether", + "gasLimit": "GAS リミット", + "data": "データ", + "buttons": { + "sendTransaction": "トランザクションを送信" + }, + "errors": { + "connectionTimeout": "ノードにつなげませんでした、バックグラウンドで落ちていますか?", + "wrongPassword": "パスワードが間違っています", + "multipleKeysMatchAddress": "複数のキーが一致する場合は、キーストアから重複を削除してください (アカウント -> バックアップを取る -> アカウント)", + "insufficientFundsForGas": "GAS を支払うためにメインアカウント(etherbase)に不十分な資金", + "sameAccount": "同一アカウントには送信できません" + }, + "transactionThrow": "契約により、この取引は実行されません", + "noEstimate": "GAS を見積もることができませんでした", + "parameters": "パラメータ", + "showRawBytecode": "生データを見る", + "showDecodedParameters": "デコードされたパラメータを見る", + "lookupData": "データをデコードする", + "lookupDataExplainer": "インターネットでこれを確認してください", + "overBlockGasLimit": "この実行に必要な GAS は、ブロック GAS の限界を超える可能性があります", + "notEnoughGas": "GAS が不足してトランザクションが正常に終了できませんでした.
ここをクリックして GAS を増やしてください." + }, + "onboarding": { + "description": "EtherCore は分散型のプラットフォームで、ブロックチェーン上でアプリケーションを作成することが出来ます。価値を転送することが出来、永続的に稼働するセキュリティの高いソフトウェアを作ることが出来ます。", + "goToTestnet": "テストネットワークを使用する (Rinkeby)", + "goToTestnetDescription": "本物の Ether を使わず、サンドボックスのテストネットで、テクノロジーを自由に使う。", + "gotoMainnet": "メインネットワークを使用する", + "gotoMainnetDescription": "コントラクトを作成して実行するためにいくらかの Ether が必要となるでしょう。心配することはありません、手に入れるためにこちらの方法があります。...", + "doYouHaveAWalletFile": "ウォレットファイルを持っていますか?", + "walletFileDescription": "

もし2014年のプリセールに参加していたら、 ethereum_wallet_backup.jsonという名前のファイルを持っているはずです。プリセールのあとにダウンロードしているか、もしくは Email にて受け取っているはずです。

", + "dropFilesHere": "プリセールファイルを削除する", + "creating": "作成しています...", + "importing": "インポート中です...", + "skip": "このステップをスキップする", + "next": "次へ", + "protectTitle": "アカウントを守る", + "protectDescription": "新しいアカウントのためにパスワードを作成する. 必ず強いパスワードにしてください!", + "accountTitle": "もっとダウンロードする!", + "accountTitleTestnet": "マイニングを行う!", + "etherDescription": "EtherCore ネットワークは“Ether と呼ばれるトークンに基づき成り立っています. EtherCoreネットワークで何かを行うためには必ず必要となります。", + "loadItDescription": "既にもし Bitcoin を持っているか, もしくは他の暗号通貨を持っている場合には簡単に changelly で変換する事ができます。

私たちは 0.25 から 1 ether の間で変換することをおすすめします.", + "mineItDescription": "テストネットでは自分自身でマイニングを行うか、 Develop メニューから マイニングを始めるを選んでください.
絶対にこのアドレスには Ether を送らないでください ", + "you": "あなた", + "etherbase": "メインアカウント(etherbase)", + "depositBitcoin": "Bitcoin をデポジットする", + "learnIt": "待っている間に EthereumWallet のことを学ぶ", + "downloadingBlocks": "ブロックをダウンロードする", + "tutorial1Description": "

全て終わり、後はダウンロードが終了するのは待つだけです。いくつか次の提案があります。:

あなたのお金を発行する

暗号通貨を一定の供給と共に作成することが出来、トークンを現実世界のアセットと関連付ける事ができます。

", + "tutorial2Description": "

クラウドセールを作成する

第三者の介入無く共通のゴールを目指して一緒に進みましょう. 従来のファンディングシステムではとは異なり、ブロックチェーンを用いてダイレクトに資金を集める事ができます。

", + "tutorial3Description": "

ブロックチェーン組織

どのようにして資金を使うのか、そして誰が決定するのかについて破ることが出来ないルールを持った自律的な組織を作成しましょう。そして、あなたの支援者に、どのように資金が使われるのかをアクティブに考え、行動してもらうことが出来ます。

", + "buttons": { + "showPassword": "パスワードを見せる", + "importAccount": "アカウントをインポートする", + "launchApp": "アプリケーションをスタート!", + "learnReceipt": "このレシピを学ぶ" + }, + "errors": { + "nodeNotStartedYet": "ノードが起動するまでもう少し待ってください", + "unknownFile": "ファイルを認識できませんでした.", + "wrongPassword": "パスワードが間違っています", + "importFailed": "ファイルが読み込めませんでした: __error__のエラーです" + }, + + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "ブロック __displayBlock__ / __highestBlockString__", + "syncMessageWithStates": "ブロック __displayBlock__ / __highestBlockString__ (チェーン構造 __statesPercent__%)", + "startingSync": "動機を開始しています..." + }, + "updateAvailable": { + "newVersionAvailable": "新しバージョン __name__ が利用可能です", + "version": "バージョン", + "downloadURL": "ダウンロード URL", + "checksum": "チェックサム", + "downloadAndRestart": "アップデートして再起動", + "download": "新しいバージョンをダウンロード", + "skipUpdate": "アップデートをスキップ", + "notNow": "今はしない", + "checking": "__name__ のバージョンにアップデートがないか確認しています...", + "noUpdateFound": "新しいバージョンは見つかりませんでした. あなたの __name__ は最新バージョンです." + }, + "connectAccount": { + "chooseAccountTitle": "アカウントを選ぶ", + "createAccount": "アカウントを新規作成", + "pinToSidebar": "サイドバーにピンする", + "connectAccountDescription": "__dappName__ であなたの身元を共有しています。これにより、アプリはアカウントに接続された残高を含むアカウントの公開情報をすべて表示することができます。" + } + } + }, + "elements": { + "checksumAlert": "このアドレスは正しく見えますが、誤字があります。もう一度確認して再度入力下さい。", + "identiconHelper": "これはセキュリティアイコンです。もし何かアドレスに変更があればアイコンは全く異なるものになります。", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.ko.i18n.json b/interface/i18n/mist.ko.i18n.json new file mode 100644 index 0000000..64a89a9 --- /dev/null +++ b/interface/i18n/mist.ko.i18n.json @@ -0,0 +1,253 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "__app__에 대하여", + "checkForUpdates": "업데이트 확인...", + "checkForNodeUpdates": "EtherCore 노드 업데이트 확인...", + "services": "서비스", + "hide": "__app__ 숨기기", + "hideOthers": "다른 창 숨기기", + "showAll": "모두 보기", + "quit": "__app__ 종료" + }, + "edit": { + "label": "수정", + "undo": "되돌리기", + "redo": "재적용", + "cut": "오려두기", + "copy": "복사하기", + "paste": "붙이기", + "selectAll": "모두 선택" + }, + "view": { + "label": "보기", + "fullscreen": "전체화면으로", + "default": "기본" + }, + "file": { + "label": "계정", + "importPresale": "계정 추가하기", + "newAccount": "새 계정", + "backup": "백업", + "backupKeyStore": "계정키 백업", + "backupMist": "어플리케이션 데이터", + "swarmUpload": "Swarm에 업로드" + }, + "develop": { + "label": "개발", + "devTools": "개발도구 전환", + "devToolsMistUI": "미스트 UI", + "devToolsWalletUI": "지갑 UI", + "devToolsWebview": "__webview__", + "runTests": "테스트 실행", + "logFiles": "로그파일 보기", + "ethereumNode": "EtherCore 노드", + "network": "네트워크", + "mainNetwork": "메인 네트워크", + "startMining": "⛏ 채굴 시작(테스트넷만 해당)", + "stopMining": "⛏ 채굴 중단", + "openRemix": "Remix IDE 열기" + }, + "window": { + "label": "창", + "minimize": "최소화", + "close": "닫기", + "toFront": "전면으로 보내기" + }, + "help": { + "label": "도움말", + "discord": "디스코드", + "reddit": "레딧", + "reportBug": "깃허브에 이슈 보고" + } + }, + "errors": { + "nodeConnect": "노드에 연결할 수 없습니다? 자세한 것은 로그를 확인하세요:", + "nodeStartup": "노드가 시작하지 못하고 있습니다. 이미 다른 노드를 실행하고 있거나 현재 데이터베이스를 업그레이드 하고 있나요?", + "timeSync": { + "title": "당신의 컴퓨터 시간이 동기화되어 있지 않습니다.", + "description": "EtherCore 네트워크와 성공적으로 동기화하기 위해서는 사용하시는 컴퓨터의 시간을 시간서버와 동기화해야 합니다.", + "win32": "시스템 설정에 있는 인터넷 시간 설정에서 박스를 체크하세요. 자세한 것은 다음의 가이드를 참조하세요: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "시간 동기화 서버를 가동시키기 위해서는 \"ntp\" 를 \"apt-get install ntp\" 명령으로 설치하세요.", + "darwin": "시간 동기화를 위해서, 시간 옵션을 열고 \"시간과 날짜 자동설정(Set the time and date automatically)\" 옵션을 선택하세요." + }, + "nodeChecksumMismatch": { + "title": "다운로드 한 노드에서 체크섬 불일치!", + "description": "__algorithm__: __hash__\n\n수동으로 __type__ 노드 버전 __version__을 설치해주세요." + }, + "legacyChain": { + "title": "레거시 체인 감지", + "description": "노드가 현재 지원되지 않는 이더리움 클래식 체인에 있습니다." + } + }, + "rightClick": { + "reload": "재로딩", + "openDevTools": "개발도구 열기", + "inspectElements": "요소 검사" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ 블록 남음", + "blockReceivedShort": "새 블록을 받았음", + "blockNumber": "마지막 블록 번호", + "timeSinceBlock": "마지막 블록 이후 경과시간", + "testnetExplain": "현재 테스트넷 상에 있습니다. 진짜 ERE을 이 주소로 절대 보내지 마세요.", + "peers": "피어들(peers)", + "checkingWhichNetwork": "네트워크 확인중...", + "privateNetwork": "프라이빗 네트워크" + }, + "sidebar": { + "buttons": { + "browser": "열람" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "계정을 선택하지 않음", + "connect": "연결" + } + }, + "startScreen": { + "runningNodeFound": "작동 중인 EtherCore 노드를 발견!", + "nodeConnectionTimeout": "EtherCore 노드를 시작할 수 없습니다!
만일Geth 를 설치 했다면, 다음의 명령어를 실행하세요:
geth --ipcpath __path__

또는 이슈를 보고하세요 ", + "nodeBinaryNotFound": "EtherCore 노드 실행파일이 없습니다!
수동으로 이를 먼저 실행하세요. ", + "nodeSyncing": "EtherCore 노드에 동기화가 필요합니다, 기다려 주세요...", + "nodeSyncInfo": "현재 __highestBlock__ 중 __currentBlcok__ 을 다운로드중", + "nodeSyncConnecting": "피어(peer)를 탐색하고 있는 중...", + "nodeStarting": "EtherCore 노드를 시작중...", + "nodeStarted": "EtherCore 노드가 시작됨", + "nodeConnected": "EtherCore 노드가 연결됨", + "nodeStopping": "EtherCore 노드가 정지중...", + "nodeStopped": "EtherCore 노드가 정지됨", + "nodeError": "EtherCore 노드 연결 에러 :'(", + "unableToBindPort": "EtherCore 노드를 실행 할 수 없습니다. 다른 인스턴스가 실행중인가요?", + "nodeSyncInfoStates": "블록 다운로드 중 __highestBlock__ 중 __displayBlock__,
체인구조 다운로드 __displayKnownStates__ 중 __displayState__", + "nodeSyncFoundPeers": "__peers__ 피어에 연결중...", + "launchApp": "어플리케이션 실행", + "clientBinaries": { + "scanning": "노드 업데이트 확인중...", + "downloading": "새로운 노드 다운로드중...", + "loadConfig": "클라이언트 설정 로딩중...", + "filtering": "클라이언트 바이너리 필터링중...", + "done": "EtherCore 노드 최신버전...", + "error": "다운로드 된 바이너리 실행 중 오류." + } + }, + "popupWindows": { + "requestAccount": { + "title": "계정 만들기", + "enterPassword": "암호를 입력하세요", + "repeatPassword": "암호를 다시 입력하세요", + "creating": "계정 만드는 중...", + "errors": { + "passwordMismatch": "암호가 일치하지 않습니다.", + "passwordTooShort": "암호가 너무 짧습니다." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "트랜잭션 보내기", + "contractExecution": "계약 실행", + "createContract": "계약 만들기" + }, + "contractExecutionInfo": "계약 상의 함수를 실행시키려고 합니다. 가치 전송이 일어날 수도 있습니다.", + "contractCreationInfo": "주어진 데이터를 가지고 계약을 만들려고 합니다.", + "enterPassword": "트랜잭션을 확인하기 위해 암호를 입력하세요", + "unlocking": "확인 중...", + "createContract": "계약 만들기", + "estimatedFee": "예상 수수료 사용량", + "estimatedGasError": "트랜젝션을 실패할 수 있습니다. 그래도 전송하면 제공된 개스는 모두 소진될 수 있습니다.", + "gasPrice": "개스 가격", + "perMillionGas": "백만 개스당 ERE수", + "gasLimit": "최고 수수료 제공", + "data": "데이터", + "buttons": { + "sendTransaction": "트랜잭션 보내기" + }, + "errors": { + "connectionTimeout": "노드에 연결할 수 없었습니다. 백그라운드에서 작동 중지되었습니까?", + "wrongPassword": "암호가 일치하지 않습니다", + "multipleKeysMatchAddress": "여러 개의 키가 주소와 일치합니다. 키 스토어에서 중복 된 것을 제거하십시오. (메뉴 -> 계정 -> 백업 -> 계정)", + "insufficientFundsForGas": "주 계정(etherbase)에 가스를 지불할 금액이 충분하지 않습니다.", + "sameAccount": "현재 사용하고 있는 계정으로 전송할 수 없습니다" + }, + "transactionThrow": "이 계약은 트랜젝션을 승인하지 않을 것 입니다.", + "noEstimate": "가스 소모량을 추정 할 수 없습니다.", + "parameters": "파라미터", + "showRawBytecode": "원 데이터 보기", + "showDecodedParameters": "디코딩된 파라미터 보기", + "lookupData": "데이터 디코딩하기", + "lookupDataExplainer": "해당 내용을 인터넷에서 확인하세요", + "overBlockGasLimit": "이 실행에 필요한 가스는 블록 가스 제한을 초과 할 수 있습니다.", + "notEnoughGas": "가스가 이 거래를 성공적으로 끝내기에 충분하지 않을 수 있습니다.
여기를 클릭해서 가스를 늘리세요" + }, + "onboarding": { + "description": "EtherCore은 블록체인상에 앱을 만들기 위한 탈중앙화된 플랫폼이며, 이 블록체인은 변조방지가능한 소프트웨어로서 가치와 자산을 전송할 수 있고 영구히 존속합니다.", + "goToTestnet": "테스트 네트워크 사용하기 (Rinkeby)", + "goToTestnetDescription": "샌드박스 테스트넷에서 실제 ERE을 사용하지 않고 자유롭게 테스트하기.", + "gotoMainnet": "메인 네트워크 사용하기", + "gotoMainnetDescription": "계약을 만들고 사용하기 위해서는 약간의 ERE이 필요합니다. 약간의 ERE을 가질 수 있도록 도와줄 수 있습니다.", + "doYouHaveAWalletFile": "지갑 파일을 가지고 있나요?", + "walletFileDescription": "

만일 2014년 이더리움 프리세일에 참여했다면, ethereum_wallet_backup.json 이란 파일을 가지고 있을 겁니다. 세일이 끝나고 다운로드를 받았거나 이메일로 받았을 겁니다.

", + "dropFilesHere": "프리세일 파일을 가져다 놓기", + "creating": "만드는 중...", + "importing": "불러오는 중...", + "skip": "이 단계 건너뛰기", + "next": "다음", + "protectTitle": "계정 보호", + "protectDescription": "새 계정를 위한 암호를 선택하세요. 집열쇠를 보관하듯이 강력한 암호를 선택하세요!", + "accountTitle": "구동 시작!", + "accountTitleTestnet": "채굴 성공!", + "etherDescription": "EtherCore은 'ERE'이라는 토큰을 기반으로 하고 있습니다. EtherCore을 사용하기 위해서는 약간의 ERE이 필요하게 될 것입니다.", + "loadItDescription": "만일 비트코인이나 다른 암호화 화폐를 가지고 있다면, changelly를 이용해 손쉽게 이더로 바꿀 수 있습니다.

0.25 to 1 ether 이더 정도를 바꿀 것을 추천합니다.", + "mineItDescription": "테스트넷상에서는 개발 메뉴에 있는 채굴 시작을 선택함으로써 이더를 채굴할 수 있습니다.
이 주소로 진짜 이더를 절대 보내지 마세요.", + "you": "당신", + "etherbase": "주 계정(Main account)", + "depositBitcoin": "비트코인 송금", + "learnIt": "기다리는 동안 학습하기", + "downloadingBlocks": "블록 다운로드 중", + "tutorial1Description": "

이제 남은 것은 다운로드가 끝날 때까지 기다리는 것입니다. 여기에 읽어볼 내용들이 있습니다:

여려분 자신의 화폐 만들기

실제 자산을 표현하는 제한된 공급을 가진 암호화 화폐만들기 등등,

", + "tutorial2Description": "

크라우드세일 만들기

제3자 없이 완벽히 신뢰할 수 공동의 목표를 위한 펀드 조성. 전통적인 펀딩에서 발생하는 여러가지 장벽들을 피해서, 블록체인을 사용해서 직접 대상조직에 펀딩.

", + "tutorial3Description": "

블록체인 조직

어떻게 자금이 사용되고, 누가 결정권을 가게 될지 등에 대한 위반할 수 없는 룰들을 가진 자율 조직을 만들 수 있습니다. 어떻게 자금이 사용되어야 할지에 대해 당신의 지지자들에게 적극적인 역할을 부여하세요.

", + "buttons": { + "showPassword": "암호보기" + }, + "errors": { + "unknownFile": "파일을 인식할 수 없습니다.", + "wrongPassword": "암호가 틀렸습니다.", + "importFailed": "파일을 가져올 수 없습니다: __error__" + } + }, + "updateAvailable": { + "newVersionAvailable": "새 버전 __name__ 사용가능", + "version": "버전", + "downloadURL": "다운로드 URL", + "checksum": "체크섬", + "downloadAndRestart": "업데이트 후 재시동", + "download": "새 버전 다운로드", + "skipUpdate": "업데이트 건너뛰기", + "checking": "__name__ 업데이트 확인중 ...", + "noUpdateFound": "업데이트가 없습니다. 최신 버전의 __name__ 를 사용하고 있습니다." + }, + "connectAccount": { + "chooseAccountTitle": "계정 선택", + "createAccount": "새 계정 생성", + "pinToSidebar": "사이드바에 앱 고정", + "connectAccountDescription": "당신의 프로필은 __dappName__에 공유됩니다. 이를 통해 다른 사람들이 연결된 잔액을 포함하여 계정의 모든 공개 정보를 앱에서 볼 수 있습니다." + } + } + }, + "elements": { + "checksumAlert": "이 주소는 유효해보이지만, 오타 등의 실수로부터 당신을 보호할 수 있는 보안기능이 없습니다. 다시 한 번 맞는지 확인해 보시기 바랍니다. 보안 아이콘이 있는 경우 이것이 일치하는지 확인하시기 바랍니다.", + "identiconHelper": "이것은 보안 아이콘입니다. 주소에 어떤 변화라도 생기면, 이 아이콘은 완전히 다른 모양으로 변합니다.", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.kr.i18n.json b/interface/i18n/mist.kr.i18n.json new file mode 100644 index 0000000..2f63250 --- /dev/null +++ b/interface/i18n/mist.kr.i18n.json @@ -0,0 +1,251 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "__app__에 대하여", + "checkForUpdates": "업데이트 확인...", + "checkForNodeUpdates": "EtherCore 노드 업데이트 확인...", + "services": "서비스", + "hide": "__app__ 숨기기", + "hideOthers": "다른 창 숨기기", + "showAll": "모두 보기", + "quit": "__app__ 종료" + }, + "edit": { + "label": "수정", + "undo": "되돌리기", + "redo": "재적용", + "cut": "오려두기", + "copy": "복사하기", + "paste": "붙이기", + "selectAll": "모두 선택" + }, + "view": { + "label": "보기", + "fullscreen": "전체화면으로", + "default": "기본" + }, + "file": { + "label": "계정", + "importPresale": "계정 추가하기", + "newAccount": "새 계정", + "backup": "백업", + "backupKeyStore": "계정키 백업", + "backupMist": "어플리케이션 데이터", + "swarmUpload": "Swarm에 업로드" + }, + "develop": { + "label": "개발", + "devTools": "개발도구 전환", + "devToolsMistUI": "미스트 UI", + "devToolsWalletUI": "지갑 UI", + "devToolsWebview": "__webview__", + "runTests": "테스트 실행", + "logFiles": "로그파일 보기", + "ethereumNode": "EtherCore 노드", + "network": "네트워크", + "mainNetwork": "메인 네트워크", + "startMining": "⛏ 채굴 시작(테스트넷만 해당)", + "stopMining": "⛏ 채굴 중단", + "openRemix": "Remix IDE 열기" + }, + "window": { + "label": "창", + "minimize": "최소화", + "close": "닫기", + "toFront": "전면으로 보내기" + }, + "help": { + "label": "도움말", + "reportBug": "깃허브에 이슈 보고" + } + }, + "errors": { + "nodeConnect": "노드에 연결할 수 없습니다? 자세한 것은 로그를 확인하세요:", + "nodeStartup": "노드가 시작하지 못하고 있습니다. 이미 다른 노드를 실행하고 있거나 현재 데이터베이스를 업그레이드 하고 있나요?", + "timeSync": { + "title": "당신의 컴퓨터 시간이 동기화되어 있지 않습니다.", + "description": "EtherCore 네트워크와 성공적으로 동기화하기 위해서는 사용하시는 컴퓨터의 시간을 시간서버와 동기화해야 합니다.", + "win32": "시스템 설정에 있는 인터넷 시간 설정에서 박스를 체크하세요. 자세한 것은 다음의 가이드를 참조하세요: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "시간 동기화 서버를 가동시키기 위해서는 \"ntp\" 를 \"apt-get install ntp\" 명령으로 설치하세요.", + "darwin": "시간 동기화를 위해서, 시간 옵션을 열고 \"시간과 날짜 자동설정(Set the time and date automatically)\" 옵션을 선택하세요." + }, + "nodeChecksumMismatch": { + "title": "다운로드 한 노드에서 체크섬 불일치!", + "description": "__algorithm__: __hash__\n\n수동으로 __type__ 노드 버전 __version__을 설치해주세요." + }, + "legacyChain": { + "title": "레거시 체인 감지", + "description": "노드가 현재 지원되지 않는 이더리움 클래식 체인에 있습니다. 이 체인을 사용하려면 이더리움 클래식 프로젝트에서 제공하는 도구를 사용하십시오.\nhttps://ethereumclassic.github.io.\n\n이더리움 체인으로 되돌리려면 튜토리얼을 살펴보세요.:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "재로딩", + "openDevTools": "개발도구 열기", + "inspectElements": "요소 검사" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ 블록 남음", + "blockReceivedShort": "새 블록을 받았음", + "blockNumber": "마지막 블록 번호", + "timeSinceBlock": "마지막 블록 이후 경과시간", + "testnetExplain": "현재 테스트넷 상에 있습니다. 진짜 ERE을 이 주소로 절대 보내지 마세요.", + "peers": "피어들(peers)", + "checkingWhichNetwork": "네트워크 확인중...", + "privateNetwork": "프라이빗 네트워크" + }, + "sidebar": { + "buttons": { + "browser": "열람" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "계정을 선택하지 않음", + "connect": "연결" + } + }, + "startScreen": { + "runningNodeFound": "작동 중인 EtherCore 노드를 발견!", + "nodeConnectionTimeout": "EtherCore 노드를 시작할 수 없습니다!
만일Geth 를 설치 했다면, 다음의 명령어를 실행하세요:
geth --ipcpath __path__

또는 이슈를 보고하세요 ", + "nodeBinaryNotFound": "EtherCore 노드 실행파일이 없습니다!
수동으로 이를 먼저 실행하세요. ", + "nodeSyncing": "EtherCore 노드에 동기화가 필요합니다, 기다려 주세요...", + "nodeSyncInfo": "현재 __highestBlock__ 중 __currentBlcok__ 을 다운로드중", + "nodeSyncConnecting": "피어(peer)를 탐색하고 있는 중...", + "nodeStarting": "EtherCore 노드를 시작중...", + "nodeStarted": "EtherCore 노드가 시작됨", + "nodeConnected": "EtherCore 노드가 연결됨", + "nodeStopping": "EtherCore 노드가 정지중...", + "nodeStopped": "EtherCore 노드가 정지됨", + "nodeError": "EtherCore 노드 연결 에러 :'(", + "unableToBindPort": "EtherCore 노드를 실행 할 수 없습니다. 다른 인스턴스가 실행중인가요?", + "nodeSyncInfoStates": "블록 다운로드 중 __highestBlock__ 중 __displayBlock__,
체인구조 다운로드 __displayKnownStates__ 중 __displayState__", + "nodeSyncFoundPeers": "__peers__ 피어에 연결중...", + "launchApp": "어플리케이션 실행", + "clientBinaries": { + "scanning": "노드 업데이트 확인중...", + "downloading": "새로운 노드 다운로드중...", + "loadConfig": "클라이언트 설정 로딩중...", + "filtering": "클라이언트 바이너리 필터링중...", + "done": "EtherCore 노드 최신버전...", + "error": "다운로드 된 바이너리 실행 중 오류." + } + }, + "popupWindows": { + "requestAccount": { + "title": "계정 만들기", + "enterPassword": "암호를 입력하세요", + "repeatPassword": "암호를 다시 입력하세요", + "creating": "계정 만드는 중...", + "errors": { + "passwordMismatch": "암호가 일치하지 않습니다.", + "passwordTooShort": "암호가 너무 짧습니다." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "트랜잭션 보내기", + "contractExecution": "계약 실행", + "createContract": "계약 만들기" + }, + "contractExecutionInfo": "계약 상의 함수를 실행시키려고 합니다. 가치 전송이 일어날 수도 있습니다.", + "contractCreationInfo": "주어진 데이터를 가지고 계약을 만들려고 합니다.", + "enterPassword": "트랜잭션을 확인하기 위해 암호를 입력하세요", + "unlocking": "확인 중...", + "createContract": "계약 만들기", + "estimatedFee": "예상 수수료 사용량", + "estimatedGasError": "트랜젝션을 실패할 수 있습니다. 그래도 전송하면 제공된 개스는 모두 소진될 수 있습니다.", + "gasPrice": "개스 가격", + "perMillionGas": "백만 개스당 ERE수", + "gasLimit": "최고 수수료 제공", + "data": "데이터", + "buttons": { + "sendTransaction": "트랜잭션 보내기" + }, + "errors": { + "connectionTimeout": "노드에 연결할 수 없었습니다. 백그라운드에서 작동 중지되었습니까?", + "wrongPassword": "암호가 일치하지 않습니다", + "multipleKeysMatchAddress": "여러 개의 키가 주소와 일치합니다. 키 스토어에서 중복 된 것을 제거하십시오. (메뉴 -> 계정 -> 백업 -> 계정)", + "insufficientFundsForGas": "주 계정(EtherCore)에 가스를 지불할 금액이 충분하지 않습니다.", + "sameAccount": "현재 사용하고 있는 계정으로 전송할 수 없습니다" + }, + "transactionThrow": "이 계약은 트랜젝션을 승인하지 않을 것 입니다.", + "noEstimate": "가스 소모량을 추정 할 수 없습니다.", + "parameters": "파라미터", + "showRawBytecode": "원 데이터 보기", + "showDecodedParameters": "디코딩된 파라미터 보기", + "lookupData": "데이터 디코딩하기", + "lookupDataExplainer": "해당 내용을 인터넷에서 확인하세요", + "overBlockGasLimit": "이 실행에 필요한 가스는 블록 가스 제한을 초과 할 수 있습니다.", + "notEnoughGas": "가스가 이 거래를 성공적으로 끝내기에 충분하지 않을 수 있습니다.
여기를 클릭해서 가스를 늘리세요" + }, + "onboarding": { + "description": "EtherCore은 블록체인상에 앱을 만들기 위한 탈중앙화된 플랫폼이며, 이 블록체인은 변조방지가능한 소프트웨어로서 가치와 자산을 전송할 수 있고 영구히 존속합니다.", + "goToTestnet": "테스트 네트워크 사용하기 (Rinkeby)", + "goToTestnetDescription": "샌드박스 테스트넷에서 실제 ERE을 사용하지 않고 자유롭게 테스트하기.", + "gotoMainnet": "메인 네트워크 사용하기", + "gotoMainnetDescription": "계약을 만들고 사용하기 위해서는 약간의 ERE이 필요합니다. 약간의 ERE을 가질 수 있도록 도와줄 수 있습니다.", + "doYouHaveAWalletFile": "지갑 파일을 가지고 있나요?", + "walletFileDescription": "

만일 2014년 이더리움 프리세일에 참여했다면, ethereum_wallet_backup.json 이란 파일을 가지고 있을 겁니다. 세일이 끝나고 다운로드를 받았거나 이메일로 받았을 겁니다.

", + "dropFilesHere": "프리세일 파일을 가져다 놓기", + "creating": "만드는 중...", + "importing": "불러오는 중...", + "skip": "이 단계 건너뛰기", + "next": "다음", + "protectTitle": "계정 보호", + "protectDescription": "새 계정를 위한 암호를 선택하세요. 집열쇠를 보관하듯이 강력한 암호를 선택하세요!", + "accountTitle": "구동 시작!", + "accountTitleTestnet": "채굴 성공!", + "etherDescription": "EtherCore은 'ERE'이라는 토큰을 기반으로 하고 있습니다. EtherCore을 사용하기 위해서는 약간의 ERE이 필요하게 될 것입니다.", + "loadItDescription": "만일 비트코인이나 다른 암호화 화폐를 가지고 있다면, changelly를 이용해 손쉽게 이더로 바꿀 수 있습니다.

0.25 to 1 ether 이더 정도를 바꿀 것을 추천합니다.", + "mineItDescription": "테스트넷상에서는 개발 메뉴에 있는 채굴 시작을 선택함으로써 이더를 채굴할 수 있습니다.
이 주소로 진짜 이더를 절대 보내지 마세요.", + "you": "당신", + "etherbase": "주 계정(Main account)", + "depositBitcoin": "비트코인 송금", + "learnIt": "기다리는 동안 학습하기", + "downloadingBlocks": "블록 다운로드 중", + "tutorial1Description": "

이제 남은 것은 다운로드가 끝날 때까지 기다리는 것입니다. 여기에 읽어볼 내용들이 있습니다:

여려분 자신의 화폐 만들기

실제 자산을 표현하는 제한된 공급을 가진 암호화 화폐만들기 등등,

", + "tutorial2Description": "

크라우드세일 만들기

제3자 없이 완벽히 신뢰할 수 공동의 목표를 위한 펀드 조성. 전통적인 펀딩에서 발생하는 여러가지 장벽들을 피해서, 블록체인을 사용해서 직접 대상조직에 펀딩.

", + "tutorial3Description": "

블록체인 조직

어떻게 자금이 사용되고, 누가 결정권을 가게 될지 등에 대한 위반할 수 없는 룰들을 가진 자율 조직을 만들 수 있습니다. 어떻게 자금이 사용되어야 할지에 대해 당신의 지지자들에게 적극적인 역할을 부여하세요.

", + "buttons": { + "showPassword": "암호보기" + }, + "errors": { + "unknownFile": "파일을 인식할 수 없습니다.", + "wrongPassword": "암호가 틀렸습니다.", + "importFailed": "파일을 가져올 수 없습니다: __error__" + } + }, + "updateAvailable": { + "newVersionAvailable": "새 버전 __name__ 사용가능", + "version": "버전", + "downloadURL": "다운로드 URL", + "checksum": "체크섬", + "downloadAndRestart": "업데이트 후 재시동", + "download": "새 버전 다운로드", + "skipUpdate": "업데이트 건너뛰기", + "checking": "__name__ 업데이트 확인중 ...", + "noUpdateFound": "업데이트가 없습니다. 최신 버전의 __name__ 를 사용하고 있습니다." + }, + "connectAccount": { + "chooseAccountTitle": "계정 선택", + "createAccount": "새 계정 생성", + "pinToSidebar": "사이드바에 앱 고정", + "connectAccountDescription": "당신의 프로필은 __dappName__에 공유됩니다. 이를 통해 다른 사람들이 연결된 잔액을 포함하여 계정의 모든 공개 정보를 앱에서 볼 수 있습니다." + } + } + }, + "elements": { + "checksumAlert": "이 주소는 유효해보이지만, 오타 등의 실수로부터 당신을 보호할 수 있는 보안기능이 없습니다. 다시 한 번 맞는지 확인해 보시기 바랍니다. 보안 아이콘이 있는 경우 이것이 일치하는지 확인하시기 바랍니다.", + "identiconHelper": "이것은 보안 아이콘입니다. 주소에 어떤 변화라도 생기면, 이 아이콘은 완전히 다른 모양으로 변합니다.", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.nb.i18n.json b/interface/i18n/mist.nb.i18n.json new file mode 100644 index 0000000..786c25a --- /dev/null +++ b/interface/i18n/mist.nb.i18n.json @@ -0,0 +1,282 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Om __app__", + "checkForUpdates": "Se etter oppdateringer...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Tjenester", + "hide": "Skjul __app__", + "hideOthers": "Skjul Andre", + "showAll": "Vis Alle", + "quit": "Avslutt __app__" + }, + "edit": { + "label": "Endre", + "undo": "Angre", + "redo": "Gjenta", + "cut": "Klipp", + "copy": "Kopier", + "paste": "Lim inn", + "selectAll": "Velg alt" + }, + "view": { + "label": "Vis", + "fullscreen": "Veksle Mellom Fullskjerm", + "default": "Default" + }, + "file": { + "label": "Kontoer", + "importPresale": "Importer Kontoer", + "newAccount": "Ny konto", + "backup": "Sikkerhetskopier", + "backupKeyStore": "Kontoer", + "backupMist": "Applikasjonsdata" + }, + "develop": { + "uploadToSwarm": "Opplasting til Swarm", + "label": "Utvikle", + "devTools": "Veksle Mellom Utviklerverktøy", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Lommebok UI", + "devToolsWebview": "__webview__", + "runTests": "Kjør tester", + "logFiles": "Vis loggfil", + "ethereumNode": "Ethereum Node", + "network": "Nettverk", + "mainNetwork": "Hovednettverk", + "startMining": "⛏ Start Mining", + "stopMining": "⛏ Stopp Mining", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Vindu", + "minimize": "Minimer", + "close": "Lukk", + "toFront": "Legg Alle I Forgrunnen" + }, + "help": { + "label": "Hjelp", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Kunne ikke koble til node? Se logger for mer:", + "nodeStartup": "Det virker som noden ikke kunne startes, har du allerede en som kjører? Oppgraderer den databasen akkurat nå?", + "timeSync": { + "title": "Datamaskinens klokke er ikke synkronisert.", + "description": "For å kunne synkronisere med Ethereum-nettverket trenger du å synkronisere datamaskinens klokke med en tidssynkroniseringsserver.", + "win32": "Gå til tidsinnstillinger for internett i systeminnstillinger og kryss av i boksen. Se denne guiden for detaljer: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "For å aktivere en tidssynkroniseringsserver installer \"ntp\" via \"apt-get install ntp\".", + "darwin": "For å aktivere tidssynkronisering, åpne tidsinnstillinger og velg \"Angi klokkeslett og dato automatisk\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Last", + "openDevTools": "Åpne Utviklerverktøy", + "inspectElements": "Inspiser Element" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blokker igjen", + "blockReceived": "Ny Blokk Mottatt", + "blockNumber": "Det siste blokknummeret", + "timeSinceBlock": "Tid siden siste blokk", + "checkingWhichNetwork": "Kontrollerer nettverk...", + "mainNetwork": "Hovednett", + "testNetwork": "Testnett", + "privateNetwork": "Privatnett", + "mainnetExplain": "Du er på det globale Ethereum hovednettverket", + "testnetExplain": "Du er på testnettet, IKKE SEND noen ekte ether til disse adressene", + "privatenetExplain": "Du er på et privatnett, IKKE SEND noen ekte ether til disse adressene", + "unknownnetExplain": "Kan ikke fastslå hvilket nettverk du er på", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Bla gjennom" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Ingen kontoer satt", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Fant kjørende Ethereum-node!", + "startingNode": "Starter Ethereum-node...", + "stoppingNode": "Stopper Ethereum-node...", + "startedNode": "Starter applikasjonen...", + "nodeConnectionTimeout": "Kunne ikke starte Ethereum-node!
Hvis du installerte Geth, bruk denne kommandoen for å kjøre det:
geth --ipcpath __path__

Eller rapporter et problem ", + "nodeBinaryNotFound": "Ingen Ethereum-node kilde funnet!
Vennligst start en manuelt først. ", + "nodeStarting": "Ethereum-node starter opp...", + "nodeStarted": "Ethereum-node startet", + "nodeConnected": "Ethereum-node tilkoblet", + "nodeStopping": "Ethereum-node stopper...", + "nodeStopped": "Ethereum-node stoppet", + "nodeError": "Ethereum-node tilkoblingsfeil :'(", + "unableToBindPort": "Ethereum-node kan ikke kjøre. Kjører det en allerede?", + "nodeSyncing": "Ethereum-node trenger å synkroniseres, vennligst vent...", + "nodeSyncInfo": "Laster ned blokk __currentBlock__ av __highestBlock__.", + "nodeSyncConnecting": "Leter etter peers...", + "peerSearchTimeout": "Hopp over peer søk", + "launchApp": "Start Applikasjonen", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Lag konto", + "enterPassword": "Oppgi passord", + "repeatPassword": "Gjenta passord", + "creating": "Genererer konto...", + "errors": { + "passwordMismatch": "Passordene stemmer ikke overens.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Oppgi hovedpassordet", + "enterPassword": "Oppgi hovedpassordet", + "unlocking": "Låser opp...", + "errors": { + "wrongPassword": "Passordet er feil, prøv igjen." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Send transaksjon", + "contractExecution": "Utfør kontrakt", + "createContract": "Lag kontrakt" + }, + "contractExecutionInfo": "Du er i ferd med å utføre en funksjon på en kontrakt. Dette kan innebære overføring av verdier.", + "contractCreationInfo": "Du er i ferd med å lage en kontrakt fra de oppgitte data.", + "enterPassword": "Skriv inn passord for å bekrefte transaksjonen", + "unlocking": "Bekrefter...", + "createContract": "Lag kontrakt", + "estimatedFee": "Beregnet avgiftsforbruk", + "estimatedGasError": "Data kan ikke utføres, så den kommer til å bruke all gass.", + "gasPrice": "Gass pris", + "perMillionGas": "ether per million gass", + "gasLimit": "Gi maksimal avgift", + "data": "Data", + "buttons": { + "sendTransaction": "Send transaksjon" + }, + "errors": { + "connectionTimeout": "Kunne ikke koble til noden, krasjet den i bakgrunnen?", + "wrongPassword": "Feil passord", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum er en desentralisert plattform for å bygge applikasjoner på en blokkjede: sabotasjesikker programvare som kan overføre verdi og eiendom, og som lever evig", + "goToTestnet": "Bruk testnettet (Rinkeby)", + "goToTestnetDescription": "Test teknologien fritt i en sandboks (testnett), uten å bruke ekte ether.", + "gotoMainnet": "Bruk hovednettverket", + "gotoMainnetDescription": " Du trenger noen ether for å skape og utføre kontrakter. Ikke bekymre deg, vi vil hjelpe deg å skaffe noen...", + "doYouHaveAWalletFile": "Har du en lommebok-fil?", + "walletFileDescription": "

Hvis du har deltatt på forhåndssalget av Ethereum i 2014, har du en fil med navnet ethereum_wallet_backup.json. Den ble lastet ned etter salget, og også sendt til din e-post

", + "dropFilesHere": "Slipp filen fra forhåndssalget", + "creating": "Lager...", + "importing": "Importerer...", + "skip": "Hopp over dette steget", + "next": "Neste", + "protectTitle": "Beskytt kontoen din", + "protectDescription": "Velg et passord for den nye kontoen. Gjør det så sterkt som om det skulle beskyttet husnøklene dine!", + "accountTitle": "Fyll den opp!", + "accountTitleTestnet": "Mine noen!", + "etherDescription": "Ethereum-nettverket er basert på en enhet kalt \"ether\". Du trenger en liten mengde av den for å gjøre noe på Ethereum-nettverket.", + "loadItDescription": "Hvis du allerede eier bitcoin, eller hvilken som helst annen kryptovaluta, kan du enkelt konvertere den til ether via changelly.

Vi anbefaler å fylle opp med mellom 0.25 til 1 ether.", + "mineItDescription": "På testnettet kan du mine ether selv ved å gå til Utvikle menyvalget og velge Start Mining.
IKKE PRØV Å SENDE EKTE ETHER TIL DENNE ADRESSEN ", + "you": "DU", + "etherbase": "Hovedkonto (etherbase)", + "depositBitcoin": "Sett inn bitcoin", + "learnIt": "Lær mens du venter", + "downloadingBlocks": "Laster ned blokker", + "tutorial1Description": "

Nå er den eneste tingen igjen er å vente til nedlastingen er ferdig. Her er noen lesetips:

Lag dine egne penger

Lag en kryptovaluta med en fast pengemengde, enhet som representerer verdier i den virkelige verden, etc

", + "tutorial2Description": "

Lag et crowdsale

Samle inn penger til et felles mål, på en sikker måte uten en tredjepart. Omgå hinder i det tradisjonelle finansieringssystemet, og gå direkte til kilden ved å finansiere en organisasjon via blokkjeden.

", + "tutorial3Description": "

Organisasjon på Blokkjeden

Lag en autonom organisasjon med uknuselige regler om hvordan pengene kan bli brukt og hvem som kan ta beslutningene. La dine støttespillere ta en aktiv rolle i hvordan pengene blir brukt

", + "buttons": { + "showPassword": "Vis passord", + "importAccount": "Importer konto", + "launchApp": "Start Applikasjonen!", + "learnReceipt": "Lær denne oppskriften" + }, + "errors": { + "nodeNotStartedYet": "Vent noen sekunder til noden er fullt i gang og prøv igjen", + "unknownFile": "Fil ikke gjenkjent.", + "wrongPassword": "Feil passord.", + "importFailed": "Kunne ikke importere filen, fikk: __error__" + }, + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "Denne adressen ser gyldig ut, men den har ikke sikkerhetsfunksjonen som vil beskytte deg mot skrivefeil, så dobbeltsjekk at den er rett. Hvis det er mulig, sjekk om sikkerhetsikonet stemmer overens.", + "identiconHelper": "Dette er et sikkerhetsikon. Hvis det er noen endring på adressen vil resultatet gi et ikon som ser helt annerledes ut", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.nl.i18n.json b/interface/i18n/mist.nl.i18n.json new file mode 100644 index 0000000..503b0da --- /dev/null +++ b/interface/i18n/mist.nl.i18n.json @@ -0,0 +1,300 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Over __app__", + "checkForUpdates": "Op updates controleren...", + "checkForNodeUpdates": "Controleer op Ethereum node updates...", + "services": "Diensten", + "hide": "__app__ verbergen", + "hideOthers": "Andere verbergen", + "showAll": "Alles weergeven", + "quit": "__app__ afsluiten" + }, + "edit": { + "label": "Bewerken", + "undo": "Ongedaan maken", + "redo": "Overdoen", + "cut": "Knippen", + "copy": "Kopieren", + "paste": "Plakken", + "selectAll": "Alles selecteren" + }, + "view": { + "label": "Weergave", + "fullscreen": "Volledig Scherm Inschakelen", + "languages": "Wijzig taal", + "default": "Standaard", + "langCodes": { + "de": "Deutsch", + "en": "English", + "es": "Español", + "fa": "فارسى", + "fr": "Français", + "it": "Italiano", + "ja": "日本語", + "ko": "한국어 ", + "nl": "Nederlands", + "nb": "Norsk", + "pt": "Português", + "sq": "Shqip", + "ru": "Pусский", + "zh": "普通話", + "zh-TW": "國語" + } + }, + "file": { + "label": "Bestand", + "importPresale": "Importeer Accounts", + "newAccount": "Nieuw account", + "backup": "Backup", + "backupKeyStore": "Accounts", + "backupMist": "Applicatie Data" + }, + "develop": { + "uploadToSwarm": "Uploaden naar Swarm", + "label": "Ontwikkelen", + "devTools": "Ontwikkelaars Opties Inschakelen", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Tests uitvoeren", + "logFiles": "Toon log bestand", + "openRemix": "Open Remix IDE", + "externalNode": "Externe Node in gebruik", + "ethereumNode": "Ethereum Node", + "network": "Netwerk", + "nodeMode": "Chain download", + "fullNode": "Bewaar volledige blockchain", + "lightNode": "Gebruik light Node (experimenteel!)", + "mainNetwork": "Hoofdnetwerk", + "startMining": "⛏ Start Mining", + "stopMining": "⛏ Stop Mining" + }, + "window": { + "label": "Scherm", + "minimize": "Minimaliseer", + "close": "Sluiten", + "toFront": "Alles op voorgrond" + }, + "help": { + "label": "Help", + "reportBug": "Rapporteer een probleem op Github" + } + }, + "errors": { + "nodeConnect": "Verbinden met node niet mogelijk? Zie de logboek bestanden voor meer informatie:", + "nodeStartup": "Het lijkt erop dat de node niet kan worden opgestart, draait er al een? Is deze de database aan het upgraden?", + "timeSync": { + "title": "Je computer's klok is niet gesynchroniseerd.", + "description": "Om succesvol met het Ethereum netwerk te verbinden moet je computer's klok gesynchroniseerd zijn met een tijdssynchronisatie server.", + "win32": "Ga naar je Internet Tijd Instellingen in je configuratiescherm en selecteer de optie. Zie deze uitleg voor details: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Installeer voor een tijdssynchronisatieserver \"ntp\" via \"apt-get install ntp\".", + "darwin": "Zet tijdssynchronisatie aan door in je instellingen de optie \"Tijd en datum automatisch instellen\" te activeren." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in gedownloade node!", + "description": "__algorithm__: __hash__\n\nInstalleer de __type__ node versie __version__ handmatig." + }, + "legacyChain": { + "title": "Legacy chain gedetecteerd", + "description": "Je node draait momenteel op de niet ondersteunde Ethereum Classic chain. Om deze chain te gebruiken dien je de tools te gebruiken van het Ethereum Classic project op\nhttps://ethereumclassic.github.io.\n\nOm terug te gaan naar de standaard Ethereum chain kun je deze tutorial volgen:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Herladen", + "openDevTools": "Open Ontwikkelaarstools", + "inspectElements": "Element Inspecteren" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blokken te gaan", + "blockReceived": "Nieuw blok ontvangen", + "blockNumber": "Jouw laatste bloknummer", + "timeSinceBlock": "Verstreken tijd sinds laatste blok", + "checkingWhichNetwork": "Netwerk aan het controleren...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "Je zit op het main Ethereum wereldwijde netwerk", + "testnetExplain": "Je bent actief op het __name__, VERSTUUR GEEN echte Ether naar deze adressen", + "privatenetExplain": "Je zit op een private net, VERSTUUR GEEN echte Ether naar deze adressen", + "unknownnetExplain": "Niet in staat om te bepalen op welk netwerk je zit", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Verkennen" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Geen accounts ingesteld", + "connect": "Verbind" + } + }, + "startScreen": { + "runningNodeFound": "Lopende Ethereum node gevonden!", + "startingNode": "Ethereum node starten...", + "stoppingNode": "Ethereum node stoppen...", + "startedNode": "Applicatie starten...", + "nodeConnectionTimeout": "Ethereum node opstarten niet mogelijk!
Als je Geth geinstalleerd hebt, gebruik dan dit commando om het op te starten:
geth --ipcpath __path__

Of meld een fout ", + "nodeBinaryNotFound": "Geen Ethereum node gevonden!
Start er a.u.b. handmatig een. ", + "nodeStarting": "Ethereum node opstarten...", + "nodeStarted": "Ethereum node gestart", + "nodeConnected": "Ethereum node verbonden", + "nodeStopping": "Ethereum node afsluiten...", + "nodeStopped": "Ethereum node gestopt", + "nodeError": "Ethereum node verbindingsfout :'(", + "unableToBindPort": "Ethereum node kan niet opstarten. Draait er al een?", + "nodeSyncing": "Ethereum node moet synchroniseren, even geduld alstublieft...", + "nodeSyncInfo": "Blok __currentBlock__ van __highestBlock__ aan het downloaden.", + "nodeSyncInfoStates": "Blok __displayBlock__ van __highestBlock__ aan het downloaden,
Chain structuur __displayState__ van __displayKnownStates__ aan het downloaden", + "nodeSyncConnecting": "Zoeken naar peers...", + "nodeSyncFoundPeers": "Verbinden met __peers__ peers...", + "peerSearchTimeout": "Sla peer search over", + "launchApp": "Applicatie Opstarten", + "clientBinaries": { + "scanning": "Controleren op node update...", + "downloading": "Downloaden van nieuwe node...", + "loadConfig": "Laden van client config...", + "filtering": "Filteren van client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Fout bij het uitvoeren van de gedownloade binary." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "Nieuwe __name__ versie beschikbaar", + "version": "Versie", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Updaten en opnieuw opstarten", + "download": "Download nieuwe versie", + "skipUpdate": "Sla update over", + "notNow": "Vraag me later opnieuw", + "checking": "Controleren op updates voor __name__...", + "noUpdateFound": "Geen updates gevonden. Je hebt de laatste versie __name__." + }, + "requestAccount": { + "title": "Account aanmaken", + "enterPassword": "Wachtwoord invoeren", + "repeatPassword": "Wachtwoord herhalen", + "creating": "Account genereren...", + "errors": { + "passwordMismatch": "Je wachtwoorden komen niet overeen.", + "passwordTooShort": "Kies een langer wachtwoord" + } + }, + "unlockMasterPassword": { + "title": "Voer hoofdwachtwoord in", + "enterPassword": "Voer hoofdwachtwoord in", + "unlocking": "Ontgrendelen...", + "errors": { + "wrongPassword": "Wachtwoord is niet correct, probeer het nog eens." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Verzend transactie", + "contractExecution": "Voer contract uit", + "createContract": "Contract aanmaken" + }, + "contractExecutionInfo": "Je staat op het punt een functie uit te voeren op een contract. Dit kan overdrachten van waarde tot gevolg hebben.", + "contractCreationInfo": "Je staat op het punt een contract aan te maken met de gegeven gevevens.", + "enterPassword": "Voer wachtwoord in om de transactie te bevestigen", + "unlocking": "Bevestigen...", + "createContract": "Contract aanmaken", + "estimatedFee": "Ingeschatte transactie kosten", + "estimatedGasError": "De kans is groot dat de transactie zal mislukken. Als je de transactie toch wilt uitvoeren zal misschien alle gas worden verbruikt.", + "transactionThrow": "Het contract staat niet toe dat deze transactie wordt uitgevoerd", + "noEstimate": "We konden de hoeveelheid gas niet inschatten.", + "gasPrice": "Gas prijs", + "perMillionGas": "Ether per millioen gas", + "gasLimit": "Geef maximum transactie kosten aan", + "data": "Ruwe Data", + "parameters": "Parameters", + "buttons": { + "sendTransaction": "Verstuur transactie" + }, + "errors": { + "connectionTimeout": "Kon niet verbinden met de node, is het in de achtergrond uitgevallen?", + "wrongPassword": "Onjuist wachtwoord", + "multipleKeysMatchAddress": "Meerdere keys matchen hebben hetzelfde adres, verwijder duplicaten uit de keystore (menu -> Bestand -> Backup -> Accounts)", + "insufficientFundsForGas": "Onvoldoende saldo in hoofd account (Etherbase) om gas te betalen", + "sameAccount": "Kan niet naar zichzelf versturen" + }, + "showRawBytecode": "Toon ruwe data", + "showDecodedParameters": "Toon gedecodeerde parameters", + "lookupData": "Probeer de data te decoderen", + "lookupDataExplainer": "Zoek hiernaar op het internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum is een decentraal platform voor het bouwen van applicaties op een blockchain: software die immuun is voor fraude en levenslang waarde en eigendom over kan brengen", + "goToTestnet": "Gebruik het test netwerk (Rinkeby)", + "goToTestnetDescription": "Test de technologie vrij in een testongeving, zonder echte Ether te gebruiken.", + "gotoMainnet": "Gebruik hoofdnetwerk", + "gotoMainnetDescription": "Je zult een beetje Ether nodig hebben om contracten uit te voeren. Geen zorgen, we helpen je met het verkrijgen...", + "doYouHaveAWalletFile": "Heb je een wallet bestand?", + "walletFileDescription": "

Als je mee hebt gedaan met de Ethereum voorverkoop van 2014 zou je een bestand met de naam ethereum_wallet_backup.json ontvangen moeten hebben. Je kon dit bestand downloaden na je contributie en is ook per email verstuurd

", + "dropFilesHere": "Sleep voorverkoop bestand hier", + "creating": "Aanmaken...", + "importing": "Importeren...", + "skip": "Sla deze stap over", + "next": "Volgende", + "protectTitle": "Bescherm je account", + "protectDescription": "Kies een wachtwoord voor je nieuwe account. Maak het even veilig alsof het uw huissleutels zijn!", + "accountTitle": "Opladen!", + "accountTitleTestnet": "Mine wat!", + "etherDescription": "Het Ethereum netwerk is gebaseerd op het “Ether” token. Je zal een kleine hoeveelheid nodig hebben om dingen op het netwerk te doen.", + "loadItDescription": "Als je al Bitcoins of een andere cryptocurrency hebt kan je deze makkelijk inwisselen voor Ether met changelly.

Wij raden aan een hoeveelheid van tussen de 0.25 en 1 Ether om te wisselen.", + "mineItDescription": "Op het testnetwerk kun je zelf Ether mijnen door te gaan naar het Ontwikkelaars menu en te kiezen voor Begin Mining.
PROBEER GEEN ECHTE ETHER NAAR DIT ADRES TE VERSTUREN ", + "you": "Je", + "etherbase": "Centrale account (Etherbase)", + "depositBitcoin": "Bitcoin Storten", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Leer terwijl je wacht", + "downloadingBlocks": "Blokken downloaden", + "syncMessage": "Blok __displayBlock__ van __highestBlockString__", + "syncMessageWithStates": "Blok __displayBlock__ van __highestBlockString__ (Chain structuur __statesPercent__%)", + "startingSync": "Wachten op synchronisatie..", + "tutorial1Description": "

Het enige wat er nog moet gebeuren is wachten tot de download compleet is. Hier zijn een aantal leessuggesties:

Maak je eigen geld

Maak een cryptocurrency met een vaste uitgeveven hoeveelheid, tokens die vermogen uit de echte wereld voorstellen, etc

", + "tutorial2Description": "

Start een crowdsale

Haal geld op voor een gemeenschappelijk doel, volledig betrouwbaar zonder derde partij. Ga om het traditionele systeem heen en haal geld direct bij de bron op door een organisatie te crowdfunden via de blockchain

", + "tutorial3Description": "

Blockchain Organisatie

Maak een autonome organisatie aan met onbreekbare regels over het uitgeven van geld en wie beslissingen kan maken. Laat je investeerders een actieve rol nemen in het besluiten hoe geld wordt uitgegeven

", + "buttons": { + "showPassword": "Toon wachtwoord", + "importAccount": "Importeer account", + "launchApp": "Start Applicatie!", + "learnReceipt": "Leer dit recept" + }, + "errors": { + "nodeNotStartedYet": "Wacht nog een aantal seconden tot je node volledig is opgestart en probeer het nog een keer", + "unknownFile": "Bestand niet herkent.", + "wrongPassword": "Incorrect wachtwoord.", + "importFailed": "Bestand importeren mislukt: __error__" + } + }, + "connectAccount": { + "chooseAccountTitle": "Kies account", + "createAccount": "Creëer nieuw account", + "pinToSidebar": "Pin app aan de sidebar", + "connectAccountDescription": "Je deelt je indentiteit met __dappName__. Hierdoor heeft de app toegen tot alle openbare informatie van uw accounts inclusief de saldi." + } + } + }, + "elements": { + "checksumAlert": "Dit adres ziet er valide uit, maar het mist een aantal beveiligingsfuncties die je zullen beschermen teken typfouten, dus ga graag even na of dit de goede is. Als aangeveven, ga na of het beveiligingsicoon klopt.", + "identiconHelper": "Dit is een beveilliginsicoon, als er enige veranderingen op dit adres plaats vinden dan zou er een volledig ander icoon moeten staan", + "type": { + "address": "Adres", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.pt.i18n.json b/interface/i18n/mist.pt.i18n.json new file mode 100644 index 0000000..7f93165 --- /dev/null +++ b/interface/i18n/mist.pt.i18n.json @@ -0,0 +1,283 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Sobre __app__", + "checkForUpdates": "Procurar Atualizações...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Serviços", + "hide": "Ocultar o __app__", + "hideOthers": "Ocultar Outros", + "showAll": "Mostrar Todos", + "quit": "Fechar __app__" + }, + "file": { + "label": "Arquivos", + "importPresale": "Importar conta", + "newAccount": "Nova conta", + "backup": "Cópia de segurança", + "backupKeyStore": "Contas", + "backupMist": "Carteiras, contratos e etc", + "swarmUpload": "Subir arquivo para Swarm..." + }, + "edit": { + "label": "Editar", + "undo": "Desfazer", + "redo": "Refazer", + "cut": "Cortar", + "copy": "Copiar", + "paste": "Colar", + "selectAll": "Selecionar tudo" + }, + "view": { + "label": "Ver", + "fullscreen": "Modo de tela cheia", + "default": "Default" + }, + "develop": { + "uploadToSwarm": "Upload no Swarm", + "label": "Desenvolvimento", + "devTools": "Mostrar ferramentas de desenvolvedor", + "devToolsMistUI": "Interface Mist", + "devToolsWalletUI": "Interface Carteira", + "devToolsWebview": "__webview__", + "runTests": "Realizar testes", + "logFiles": "Mostrar arquivos de logs", + "ethereumNode": "Node", + "network": "Rede", + "mainNetwork": "Rede principal", + "startMining": "⛏ Iniciar mineração", + "stopMining": "⛏ Parar mineração", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Janela", + "minimize": "Minimizar", + "close": "Fechar", + "toFront": "Trazer todas para frente" + }, + "help": { + "label": "Ajuda", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Não conseguiu se conectar? Veja os logs para saber mais:", + "nodeStartup": "O node não pode ser iniciado. Você já tem um instalado? Ele está fazendo upgrade do banco de dados?", + "timeSync": { + "title": "Seu computador está fora de sincronia!", + "description": "Para sincronizar com a rede Ethereum você precisa que seu computador esteja sincronizado com um servidor de tempo preciso.", + "win32": "Vá em ‘Ajustes de tempo’ depois a aba ‘internet’ nas suas preferências de sistema e marque a opção ‘sincronizar com um servidor de tempo’. Veja esse guia para mais detalhes: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Para instalar um servidor de tempo, instale \"ntp\" via \"apt-get install ntp\".", + "darwin": "Abra suas preferências, escolha \"preferências de tempo\" e marque \"Ajustar o tempo automaticamente\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Recarregar", + "openDevTools": "Abrir ferramentas de desenvolvimento", + "inspectElements": "Inspecionar elemento" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blocos restantes", + "blockReceived": "Novo bloco recebido", + "timeSinceBlock": "Tempo corrido desde último bloco", + "blockNumber": "Número de seu bloco atual", + "testnetExplain": "Você está na rede de teste, NÃO ENVIE ethers de verdade para essas contas", + "peers": "nós", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main Ethereum global network", + "privatenetExplain": "You are on a private net, DO NOT SEND any real ether to these addresses", + "unknownnetExplain": "Unable to determine which network you are on" + }, + "sidebar": { + "buttons": { + "browser": "Navegar" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Sem nenhuma conta", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Node Ethereum encontrado!", + "startingNode": "Iniciando Node...", + "startedNode": "Iniciando aplicativo...", + "nodeConnectionTimeout": "Não pode inicializar um Node!
Instale um manualmente, e use esse comando para executa-lo:
geth --ipcpath __path__

Caso não consiga, entre em contato ", + "nodeBinaryNotFound": "Nó não encontrado!
Instale um manualmente", + "nodeSyncing": "Sincronizando, favor aguarde...", + "nodeSyncInfoStates": "Carregando bloco __displayBlock__ de __highestBlock__,
Lendo estrutura __displayState__ de __displayKnownStates__", + "nodeSyncInfo": "Carregando bloco __displayBlock__ de __highestBlock__.", + "nodeSyncConnecting": "Procurando outros nós...", + "peerSearchTimeout": "Não procure nós agora", + "launchApp": "Iniciar Applicativo", + "stoppingNode": "Stopping Ethereum node...", + "nodeStarting": "Ethereum node starting up...", + "nodeStarted": "Ethereum node started", + "nodeConnected": "Ethereum node connected", + "nodeStopping": "Ethereum node stopping...", + "nodeStopped": "Ethereum node stopped", + "nodeError": "Ethereum node connection error :'(", + "unableToBindPort": "Ethereum node cannot run. Is another instance already running?", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "Criar conta", + "enterPassword": "Digite sua senha", + "repeatPassword": "Digite a senha novamente", + "creating": "Criando conta...", + "errors": { + "passwordMismatch": "Senhas não batem.", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "Coloque a chave-mestra", + "enterPassword": "Coloque a chave-mestra", + "unlocking": "Abrindo...", + "errors": { + "wrongPassword": "Senha incorreta, tente novamente." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Enviar transação", + "contractExecution": "Executar ordem", + "createContract": "Criar contrato" + }, + "contractExecutionInfo": "Você irá executar uma ordem em um contrato. Isso pode envolver transferência de valores.", + "contractCreationInfo": "Você irá criar um contrato", + "enterPassword": "Digite a senha para confirmar", + "unlocking": "Confirmando...", + "createContract": "Criar contrato", + "estimatedFee": "Taxa estimada", + "estimatedGasError": "Transação inválida, se executada irá gastar todo o combustível dado.", + "gasPrice": "Preço do combustível", + "perMillionGas": "ether por milhão de combustível", + "gasLimit": "Providenciar taxa máxima", + "data": "Dados", + "buttons": { + "sendTransaction": "Enviar transação" + }, + "errors": { + "connectionTimeout": "Não pode se conectar com Node, é possível que tenha sido interrompido pelo sistema", + "wrongPassword": "Senha errada", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (Arquivos -> Cópia de segurança -> Contas)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Ethereum é uma plataforma decentralizada para construir aplicativos no blockchain: apps a prova de fraude, censura ou corrupção que podem transferir valor e títulos de propriedade", + "goToTestnet": "Usar a rede de teste (Rinkeby)", + "goToTestnetDescription": "Experimente a tecnologia usando uma rede de teste sem valores reais.", + "gotoMainnet": "Usar a rede Ethereum principal", + "gotoMainnetDescription": "Você irá precisar de ether para executar contratos. Não se preocupe, iremos lhe ajudar com isso", + "doYouHaveAWalletFile": "Você tem um arquivo de conta?", + "walletFileDescription": "

Se você participou da pré-venda de ether em 2014, você deve ter um arquivo chamado ethereum_wallet_backup.json. Além de fazer o download, esse arquivo também foi enviado para o seu email na época

", + "dropFilesHere": "Largar arquivo de pré-venda", + "creating": "Criando...", + "importing": "Importando...", + "skip": "Pule esse passo", + "next": "Próximo", + "protectTitle": "Proteja sua conta", + "protectDescription": "Crie uma senha para sua conta nova. Escolha uma senha forte como se fosse guardar a porta da sua casa", + "accountTitle": "Adicione crédito", + "accountTitleTestnet": "Faça mineração", + "etherDescription": "A rede Ethereum usa ether como uma unidade de troca entre criadores e processadores de contratos. Você não precisa obter uma quantidade muito grande de ether para poder realizar funções na rede.", + "loadItDescription": "Se você já tem Bitcoin ou outra criptomoeda, a forma mais simples de convertê-la é usando changelly.

Recomendamos carregar algo como 0.25 a 1 ether.", + "mineItDescription": "Na rede de teste é possível minerar ether escolhendo o menu Desenvolvimento e depois Iniciar mineração.
NÃO ENVIE ETHER DE VERDADE PARA ESSE ENDEREÇO ", + "you": "VOCÊ", + "etherbase": "Conta principal (etherbase)", + "depositBitcoin": "Depositar Bitcoin", + "learnIt": "Leia enquanto você aguarda", + "downloadingBlocks": "Baixando blocos", + "tutorial1Description": "

Agora basta esperar que o download seja concluído. Aqui está uma sugestão de leitura:

Faça seu próprio dinheiro

Crie uma criptomoeda com limite fixo, emita fichas que representam ativos no mundo físico, etc

", + "tutorial2Description": "

Começe um financiamento coletivo

Faça uma vaquinha para um objetivo comunitário, sem risco de fraudes. Levante fundos diretamente pela internet, sem intermediários

", + "tutorial3Description": "

Crie uma organização no Blockchain

Crie uma entidade autônima com regras invioláveis de como seus fundos podem ser gastos e quem pode tomar decisões. Permita que os seus financiadores tenham decisões diretas sobre em que os recursos da organização serão usados

", + "buttons": { + "showPassword": "Mostrar senha", + "importAccount": "Importar conta", + "launchApp": "Iniciar aplicativo!", + "learnReceipt": "Aprenda a fazer isso!" + }, + "errors": { + "nodeNotStartedYet": "Espere alguns segundos e tente novamente", + "unknownFile": "Arquivo não reconhecido.", + "wrongPassword": "Senha incorreta.", + "importFailed": "Não pode importar. Erro: __error__" + }, + "buyEther": "Comprar Ether", + "viaChangelly": "Aceita cartão e cryptomoedas através de Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "Esse endereço parece válido, mas não tem algumas características de segurança contra errors de digitação acidental, então assegure-se que é o recipiente correto. Se possível, confira o ícone de segurança.", + "identiconHelper": "Esse é um ícone de segurança. Se houver qualquer mudança no endereço, ele deve ter uma aparência completamente diferente", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.ru.i18n.json b/interface/i18n/mist.ru.i18n.json new file mode 100644 index 0000000..7cc90b0 --- /dev/null +++ b/interface/i18n/mist.ru.i18n.json @@ -0,0 +1,281 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "О __app__", + "checkForUpdates": "Проверить обновления...", + "checkForNodeUpdates": "Check for Ethereum node updates...", + "services": "Сервисы", + "hide": "Скрыть __app__", + "hideOthers": "Скрыть прочие", + "showAll": "Показать все", + "quit": "Выйти из __app__" + }, + "edit": { + "label": "Редактировать", + "undo": "Отменить", + "redo": "Повторить", + "cut": "Вырезать", + "copy": "Копировать", + "paste": "Вставить", + "selectAll": "Выделить все" + }, + "view": { + "label": "Вид", + "fullscreen": "Полноэкранный режим", + "default": "По умолчанию" + }, + "file": { + "label": "Аккаунты", + "importPresale": "Импорт аккаунтов", + "newAccount": "Создать аккаунт", + "backup": "Резервное копирование", + "backupKeyStore": "Аккаунтов", + "backupMist": "Данных приложения" + }, + "develop": { + "uploadToSwarm": "Загрузить в Swarm", + "label": "Дополнительно", + "devTools": "Выбрать инструмент разработчика", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Wallet UI", + "devToolsWebview": "__webview__", + "runTests": "Запустить тесты", + "logFiles": "Показать журнал", + "ethereumNode": "Ethereum-нода", + "network": "Сеть", + "mainNetwork": "Основная сеть", + "startMining": "⛏ Запустить майнинг", + "stopMining": "⛏ Остановить майнинг", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "Окно", + "minimize": "Свернуть", + "close": "Закрыть", + "toFront": "Все окна на переднем плане" + }, + "help": { + "label": "Помощь", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "Не удается подключиться к ноде? Ищите подробности в журнале:", + "nodeStartup": "Похоже, что нода не может быть запущена, может у вас уже есть запущенная нода? Или, возможно, сейчас запущено обновление базы данных?", + "timeSync": { + "title": "Часы на вашем компьютере не синхронизированы.", + "description": "Для успешной синхронизации с сетью Ethereum вам необходимо синхронизировать часы вашего компьютера с текущим временем на сервере.", + "win32": "Откройте системные настройки \"Дата и время\" и установите флажок для настройки времени по Интернету. Смотрите подробности в этом описании: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Чтобы использовать сервер синхронизации времени установите \"ntp\" через команду \"apt-get install ntp\".", + "darwin": "Для включения синхронизации времени откройте системные настройки и укажите: \"Устанавливать время и дату автоматически\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Перезагрузить", + "openDevTools": "Открыть инструменты разработчика", + "inspectElements": "Исследовать элемент" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ блоков не загружено", + "blockReceived": "Получен новый блок", + "blockNumber": "Номер вашего последнего блока", + "timeSinceBlock": "Прошедшее время ожидания нового блока", + "checkingWhichNetwork": "Проверка сети...", + "mainNetwork": "Основная сеть", + "testNetwork": "Тестовая сеть", + "privateNetwork": "Приватная сеть", + "mainnetExplain": "Вы подключены к основной Ethereum-сети", + "testnetExplain": "Вы подключены к тестовой Ethereum-сети, НЕ ОТПРАВЛЯЙТЕ настоящий эфир на эти адреса", + "privatenetExplain": "Вы подключены к приватной Ethereum-сети, НЕ ОТПРАВЛЯЙТЕ настоящий эфир на эти адреса", + "unknownnetExplain": "Не удается определить текущую подключенную сеть", + "peers": "peers" + }, + "sidebar": { + "buttons": { + "browser": "Посмотреть" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Аккаунт не установлен", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "Обнаружена запущеная Ethereum-нода!", + "startingNode": "Запуск Ethereum-ноды...", + "stoppingNode": "Остановка Ethereum-ноды...", + "startedNode": "Запуск приложения...", + "nodeConnectionTimeout": "Не удалось запустить Ethereum-ноду!
Если вы установили Geth, используйте следующую команду для запуска:
geth --ipcpath __path__

Либо сообщите от проблеме ", + "nodeBinaryNotFound": "Не найдены программные файлы для Ethereum-ноды!
Пожалуйста, для начала изучите руководство. ", + "nodeStarting": "Ethereum-нода запускается...", + "nodeStarted": "Ethereum-нода запущена", + "nodeConnected": "Ethereum-нода подключена", + "nodeStopping": "Ethereum-нода останавливается...", + "nodeStopped": "Ethereum-нода остановлена", + "nodeError": "Ошибка подключения к Ethereum-ноде :'(", + "unableToBindPort": "Ethereum-нода не запущена. Может запущен другой экземпляр?", + "nodeSyncing": "Ethereum-ноде необходимо синхронизироваться, пожалуйста подождите...", + "nodeSyncInfo": "Загружено блоков __displayBlock__ из __highestBlock__", + "nodeSyncInfoStates": "Загружено блоков __displayBlock__ из __highestBlock__,
Загружено частей структуры блокчейна __displayState__ из __displayKnownStates__", + "nodeSyncConnecting": "Поиск пиров...", + "nodeSyncFoundPeers": "Количество подключеных пиров __peers__...", + "peerSearchTimeout": "Пропустить поиск пиров", + "launchApp": "Запуск приложения", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "Ethereum node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "unlockMasterPassword": { + "title": "Ввод мастер-пароля", + "enterPassword": "Введите мастер-пароль", + "unlocking": "Разблокировка...", + "errors": { + "wrongPassword": "Неверный пароль, попробуйте еще раз." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Отправить транзакцию", + "contractExecution": "Выполнить контракт", + "createContract": "Создать контракт" + }, + "contractExecutionInfo": "Вы собираетесь выполнить часть контракта. Этот процесс может включать передачу значений (транзакцию).", + "contractCreationInfo": "Вы собираетесь создать контракт на основе предоставленных данных.", + "enterPassword": "Введите пароль для подтверждения транзакции", + "unlocking": "Подтвержение...", + "createContract": "Создание контракта", + "estimatedFee": "Расчетная сумма вознаграждения", + "estimatedGasError": "Задание не может быть выполнено, так как будет израсходован весь выделенный газ", + "gasPrice": "Цена газа", + "perMillionGas": "эфир за миллион газа", + "gasLimit": "Установить максимальную сумму вознаграждения", + "data": "Данные", + "buttons": { + "sendTransaction": "Отправить транзакцию" + }, + "errors": { + "connectionTimeout": "Не удается подключиться к ноде, возможно завершилось фоновое приложение?", + "wrongPassword": "Неверный пароль", + "multipleKeysMatchAddress": "У нескольких ключей совпадает адрес, удалите дубликаты из хранилища ключей (Меню -> Аккаунты -> Резервное копирование -> Аккаунтов)", + "insufficientFundsForGas": "Недостаточно средств на основном счете (ETHERBASE) чтобы заплатить за газ", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "Etherium представляет собой децентрализованную платформу основанную на блокчейне для создания надежных и децентрализованных приложений", + "goToTestnet": "Использовать тестовую сеть (Rinkeby)", + "goToTestnetDescription": "Свободное тестирование технологии в тестовой сети (sandbox), без использования реального эфира.", + "gotoMainnet": "Использовать основную сеть", + "gotoMainnetDescription": "Вам потребуется некоторое количество эфира для того, чтобы создавать и выполнять контракты. Не волнуйтесь, мы вам поможем получить некоторое количество...", + "doYouHaveAWalletFile": "У вас есть файл кошелька?", + "walletFileDescription": "

Если вы участвовали в Ethereum Pre-sale 2014, у вас должен быть файл с именем ethereum_wallet_backup.json. Он был загружен после продажи, а также отправлен на электронную почту

", + "dropFilesHere": "Перетащите сюда ваш файл", + "creating": "Создание...", + "importing": "Импорт...", + "skip": "Пропустить этот шаг", + "next": "Далее", + "protectTitle": "Защитите ваш аккаунт", + "protectDescription": "Выберите пароль для новой учетной записи. Придумайте такой пароль, как будто он защитит ваши ключи от дома!", + "accountTitle": "Загрузите его!", + "etherDescription": "Сеть Ethereum основана на маркерах называемых “Ether” (Эфир). Он вам необходим в небольшом количетсве для того, что бы что-либо сделать в сети Etherium.", + "loadItDescription": "Если у вас уже есть Bitcoin, или любая другая криптовалюта, вы можете легко преобразовать её в эфир (Ether) с помощью changelly.

Мы рекомендуем загрузить где-то от 0.25 до 1 эфира.", + "mineItDescription": "В тестовой сети вы можете добыть (намайнить) эфир сами, перейдя в меню Дополнительно и выбрав Запустить майнинг.
НЕ ПЫТАЙТЕСЬ ОТПРАВИТЬ РЕАЛЬНЫЙ ЭФИР НА ЭТОТ АДРЕС", + "you": "ВЫ", + "etherbase": "Основной аккаунт (etherbase)", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Изучайте, пока ожидаете", + "downloadingBlocks": "Загрузка блоков", + "syncMessage": "Блок __displayBlock__ из __highestBlockString__", + "syncMessageWithStates": "Блок __displayBlock__ из __highestBlockString__ (Структура блокчейна __statesPercent__%)", + "tutorial1Description": "

Теперь ожидайте окончания загрузки для завершения. Вот несколько советов:

Сделайте свои собственные деньги

Сделайте криптовалюту с запасом фиксированного рынка, маркеры представляющие реальные мировые активы и т.д.

", + "tutorial2Description": "

Организуйте crowdsale

Привлечение средств для достижения общей цели полностью надёжно только без участия третьей стороны. Обойдите барьер традиционной системы финансирования и перейдите к финансированию организации непосредственно через блокчейн.

", + "tutorial3Description": "

Создайте организацию

Создайте автономную организацию с правилами о расходовании денег и принятии решений для вас и ваших инвесторов.

", + "buttons": { + "showPassword": "Показать пароль", + "importAccount": "Импортировать аккаунт", + "launchApp": "Запустить приложение!", + "learnReceipt": "Узнать этот рецепт" + }, + "errors": { + "nodeNotStartedYet": "Подождите несколько секунд, пока ваша нода не будет полностью запущена и повторите попытку.", + "unknownFile": "Файл не распознается.", + "wrongPassword": "Неверный пароль.", + "importFailed": "Не удалось импортировать файл, дополнительно: __error__" + }, + "accountTitleTestnet": "Mine some!", + "startingSync": "Getting ready to sync.." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + }, + "requestAccount": { + "title": "Create account", + "enterPassword": "Enter password", + "repeatPassword": "Repeat password", + "creating": "Generating account...", + "errors": { + "passwordMismatch": "Your passwords don't match.", + "passwordTooShort": "Make a longer password" + } + } + } + }, + "elements": { + "checksumAlert": "Этот адрес выглядит правильно, но не хватает некоторых функций безопасности, которые могут защитить от опечаток. Поэтому, пожалуйста, дважды проверяйте введеный адрес. Если у вас есть возможность, пожалуйста, проверьте также соответствие иконки безопасности.", + "identiconHelper": "Это значок безопасности, если будут какие-либо изменения в адресе получателя - иконка будет совершенно другая", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.sq.i18n.json b/interface/i18n/mist.sq.i18n.json new file mode 100644 index 0000000..145a982 --- /dev/null +++ b/interface/i18n/mist.sq.i18n.json @@ -0,0 +1,290 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "Rreth __app__", + "checkForUpdates": "Kërko për përditësime...", + "checkForNodeUpdates": "Kërko për përditësime të nyjes Ethereum...", + "services": "Shërbime", + "hide": "Fshih __app__", + "hideOthers": "Fshih të tjerat", + "showAll": "Shfaq të gjitha", + "quit": "Dil nga __app__" + }, + "file": { + "label": "Skedari", + "importPresale": "Merr llogari", + "newAccount": "Llogari e re", + "backup": "Ruaj kopje rezervë", + "backupKeyStore": "Llogari", + "backupMist": "Të Dhënat e Aplikimit", + "swarmUpload": "Ngarko në Swarm..." + }, + "edit": { + "label": "Redakto", + "undo": "Zhbëj", + "redo": "Ribëj", + "cut": "Pri", + "copy": "Kopjo", + "paste": "Ngjit", + "selectAll": "Përzgjidh të gjitha" + }, + "view": { + "label": "Shiko", + "fullscreen": "Kalo me ekran të plotë", + "default": "Vlera e parazgjedhur" + }, + "develop": { + "label": "Zhvillo", + "devTools": "Shfaq mjetet e zhvillimit", + "devToolsMistUI": "Mist UI", + "devToolsWalletUI": "Kuletë UI", + "devToolsWebview": "__webview__", + "runTests": "Fillo testimet", + "logFiles": "Trego skedarin me të dhënat e regjistruara", + "openRemix": "Hap IDE-në Remix", + "externalNode": "duke përdorur nyje të jashtme", + "ethereumNode": "Nyje Ethereum", + "network": "Rrjet", + "mainNetwork": "Rrjeti kryesor", + "nodeMode": "Shkarkim zinxhir", + "fullNode": "Ruaj zinxhirin e plotë të blloqeve", + "lightNode": "Përdor nyje të lehtë (eksperimentale!)", + "startMining": "⛏ Fillo të Prodhosh", + "stopMining": "⛏ Ndalo së Prodhuari" + }, + "window": { + "label": "Dritare", + "minimize": "Minimizo", + "close": "Mbyll", + "toFront": "Sill Gjithçka në Pamje të Parë" + }, + "help": { + "label": "Ndihmë", + "discord": "Discord", + "reddit": "Reddit", + "reportBug": "Raportoni një problem në Github" + } + }, + "errors": { + "nodeConnect": "Nuk mund të lidhesh me nyje? Shiko të dhënat e regjistruara për më shumë:", + "nodeStartup": "Duket se nyja nuk mund të niset. Mos keni ndonjë nyje tjetër është aktive? Mos është duke pasuruar bazën e të dhënave në këto momente?", + "timeSync": { + "title": "Ora e kompjuterit tuaj nuk është e sinkronizuar.", + "description": "Në mënyrë që të sinkronizoheni me sukses me rrjetin Ethereum ju duhet të sinkronizoni orën tuaj të kompjuterit me një server sinkronizues kohe.", + "win32": "Shkoni në \"Internet Time Settings\" te preferencat tuaja të sistemit dhe përzgjidhni opsionin përkatës. Për detaje shikoni këtë udhëzues: http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "Që të fusni në punë një server kohe të sinkronizuar instaloni \"ntp\" nëpërmjet \"apt-get install ntp\".", + "darwin": "Që të mundësoni një sinkronizim kohe, hapni preferencat e kohës dhe përzgjidhni \"Set the time and date automatically\"." + }, + "nodeChecksumMismatch": { + "title": "Konflikt skedarësh në nyjen e shkarkuar!", + "description": "__algorithm__: __hash__\n\nJu lutemi të instaloni versionin node __type__ __version__ manualisht." + }, + "legacyChain": { + "title": "U zbulua zinxhir i vjetër", + "description": "Nyja juaj ndodhet në zinxhirin e pasuportuar Ethereum Classic. Për të përdorur këtë zinxhir, përdorni mjetet e mundësuara nga projekti Ethereum Classic në\nhttps://ethereumclassic.github.io.\n\nPër të kaluar në zinxhirin kryesor Ethereum ndiqni udhëzuesin këtu:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "Ringarko", + "openDevTools": "Hap Mjetet e Zhvilluesit", + "inspectElements": "Inspekto Elemente" + }, + "nodeInfo": { + "nodeSyncing": "__blockDiff__ blloqe të mbetura", + "blockReceived": "U mor një bllok i ri", + "blockNumber": "Numri i bllokut tuaj të fundit", + "timeSinceBlock": "Koha e kaluar që nga blloku i fundit", + "checkingWhichNetwork": "Duke kontrolluar rrjetin...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "testnetExplain": "Jeni në një rrjet testimi, MOS DËRGONI asnjë ether të vërtetë në këto adresa", + "mainnetExplain": "Jeni në rrjetin kryesor global Ethereum", + "privatenetExplain": "Jeni në një rrjet privat, MOS DËRGONI asnjë ether të vërtetë në këto adresa", + "unknownnetExplain": "Nuk mund të vlerësohet rrjeti ku ndodheni tani", + "peers": "miq" + }, + "sidebar": { + "buttons": { + "browser": "Shfleto" + }, + "submenu": { + "account": "Llogaria", + "account_plural": "Llogaritë", + "connectAccounts": "Lidh Llogari" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "Nuk ka llogari të krijuar", + "connect": "Lidhu" + } + }, + "startScreen": { + "runningNodeFound": "U gjet nyje Ethereum në punë!", + "startingNode": "Duke krijuar nyje Ethereum...", + "startedNode": "Duke nisur aplikacionin...", + "nodeConnectionTimeout": "Nuk mund të niset nyje Ethereum!
Nëse ju instaluat Geth, përdorni këtë komandë ta krijoni:
geth --ipcpath __path__

Ose raportoni një problem ", + "nodeBinaryNotFound": "Nuk u gjet nyje binare Ethereum!
Ju lutemi krijoni një manualisht më parë. ", + "nodeStarting": "Nyja Ethereum po niset...", + "nodeStarted": "Nyja Ethereum u nis", + "nodeConnected": "Nyja Ethereum u lidh", + "nodeStopping": "Nyja Ethereum po ndalon...", + "nodeStopped": "Nyja Ethereum ndaloi", + "nodeError": "Problem lidhjeje i nyjes Ethereum:'(", + "unableToBindPort": "Nyja Ethereum nuk munt të fillojë. Mos ka ndonjë instancë tjetër të nisur?", + "nodeSyncing": "Nyja Ethereum ka nevojë të sinkronizohet, ju lutemi prisni...", + "nodeSyncInfo": "Duke marrë bllokun __currentBlock__ nga __highestBlock__.", + "nodeSyncInfoStates": "Duke shkarkuar bllokun __displayBlock__ nga __highestBlock__,
Duke shkarkuar strukturën e zinxhirit __displayState__ nga __displayKnownStates__", + "nodeSyncConnecting": "Duke kërkuar miq...", + "stoppingNode": "Duke ndaluar nyjen Ethereum...", + "nodeSyncFoundPeers": "Duke u lidhur me __peers__ miq...", + "peerSearchTimeout": "Kapërce kërkimin e miqve", + "launchApp": "Hap Aplikacionin", + "clientBinaries": { + "scanning": "Duke kërkuar për përditësime të nyjes...", + "downloading": "Duke shkarkuar nyje të re...", + "loadConfig": "Duke ngarkuar konfigurimin e klientit...", + "filtering": "Duke filtruar skedarët binarë të klientit...", + "done": "Nyja Ethereum e përditësuar...", + "error": "Problem me ekzekutimin e programit të shkarkuar." + } + }, + "popupWindows": { + "updateAvailable": { + "newVersionAvailable": "Version i ri i __name__ i përdorshëm", + "version": "Versioni", + "downloadURL": "URL e shkarkimit", + "checksum": "Checksum", + "downloadAndRestart": "Përditëso dhe Rindiz", + "download": "Shkarko version të ri", + "skipUpdate": "Kapërce përditësim", + "notNow": "Më pyet më vonë", + "checking": "Duke kontrolluar për përditësime të __name__...", + "noUpdateFound": "Nuk u gjetën përditësime. Po përdorni versionin më të fundit të __name__." + }, + "requestAccount": { + "title": "Krijoni llogari", + "enterPassword": "Fusni fjalëkalimin", + "repeatPassword": "Përsërisni fjalëkalimin", + "creating": "Duke krijuar llogari...", + "backupHint": "Sigurohuni të ruani edhe fjalëkalimin, edhe skedarët çelës!\n\nMund t'i gjeni këta skedarë duke përdorur menunë kryesore -> Skedari -> Ruaj kopje rezervë -> Llogaritë. Ruani një kopje të dosjes \"keystore\" në një vend të sigurt!", + "errors": { + "passwordMismatch": "Fjalëkalimet nuk përputhen.", + "passwordTooShort": "Krijoni një fjalëkalim më të gjatë" + } + }, + "unlockMasterPassword": { + "title": "Fusni fjalëkalimin kryesor", + "enterPassword": "Fusni fjalëkalimin kryesor", + "unlocking": "Duke hapur...", + "errors": { + "wrongPassword": "Fjalëkalimi është i gabuar. Provoni përsëri." + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "Dërgoni transaksionin", + "contractExecution": "Kryeni kontratën.", + "createContract": "Krijoni kontratë" + }, + "contractExecutionInfo": "Ju jeni pranë ekzekutimit të një funksioni në një kontratë. Kjo mund të përfshijë transferim valutash.", + "contractCreationInfo": "Ju jeni pranë krijimit të një kontrate nga të dhënat e marra.", + "enterPassword": "Fusni fjalëkalimin që të konfirmoni transaksionin", + "unlocking": "Duke konfirmuar...", + "createContract": "Krijoni kontratë", + "estimatedFee": "Tarifa e hamendësuar për t'u konsumuar", + "estimatedGasError": "Të dhënat nuk mund të ekzekutohen kështu që do të përdoret i gjithë karburanti.", + "transactionThrow": "Kontrata nuk lejon kryerjen e këtij transaksioni", + "overBlockGasLimit": "Karburanti i kërkuar për kryerjen e këtij veprimi mund ta kalojë limitin e karburantit të bllokut.", + "notEnoughGas": "Mund të mos ketë mjaftueshëm karburant për të përfunduar këtë transaksion me sukses.
Klikoni këtu për të rritur sasinë e karburantit.", + "noEstimate": "Nuk mund të hamendësonim sasinë e nevojshme të karburantit.", + "gasPrice": "Çmimi i karburantit", + "perMillionGas": "ether për milion karburant", + "gasLimit": "Vendos tarifë maksimale", + "data": "Të dhëna të paformatuara", + "parameters": "Parametra", + "buttons": { + "sendTransaction": "Kryej transaksionin" + }, + "errors": { + "connectionTimeout": "Nuk mund të lidhet me nyjen. Mos ka probleme diku?", + "wrongPassword": "Fjalëkalim i gabuar", + "multipleKeysMatchAddress": "Disa çelësa i përshtaten kësaj adrese; ju lutemi hiqni kopjet e dyfishta nga mbajtësja e çelësave (menunë -> Skedari -> Ruaj kopje rezervë -> Llogari)", + "insufficientFundsForGas": "Fonde të pamjaftueshme në adresën kryesore (etherbase) për të paguar për karburant", + "sameAccount": "Nuk mund t'i dërgohet vetes" + }, + "showRawBytecode": "shfaq të dhënat e paformatuara", + "showDecodedParameters": "shfaq parametrat e dekoduar", + "lookupData": "Përpiqu të dekodosh të dhëna", + "lookupDataExplainer": "Kërkojeni në internet" + }, + "onboarding": { + "description": "Ethereum është një platformë e decentralizuar për ndërtim aplikacionesh në një zinxhir blloqesh (blockchain) me gjuhën e vet të programimit", + "goToTestnet": "Përdor rrjetin testues (Rinkeby)", + "goToTestnetDescription": "Testo lirshëm teknologjinë në një rrjet test pa përdorur ether të vërtetë.", + "gotoMainnet": "Përdor rrjetin kryesor", + "gotoMainnetDescription": " Ju do të keni nevojë për pak Ether në mënyrë që të krijoni dhe zbatoni kontrata. Mos u shqetësoni, ne do ju ndihmojmë që të gjeni sa duhet...", + "doYouHaveAWalletFile": "A keni një skedë kulete?", + "walletFileDescription": "

Nëse ju keni marrë pjesë në Parashitjen e Ethereumit 2014, ju duhet të keni një skedë të emëruar ethereum_wallet_backup.json. Eshtë shkarkuar pas shitjes dhe dërguar në emailin tuaj

", + "dropFilesHere": "Vendos skedën e parashitjes", + "creating": "Duke krijuar...", + "importing": "Duke marrë...", + "skip": "Kapërce këtë hap", + "next": "Më tej", + "protectTitle": "Ruaj adresën", + "protectDescription": "Zgjidhni një fjalëkalim për adresën tuaj të re. Krijojeni aq të fortë sa të mjaftonte për të ruajtur çelësat e shtëpisë!", + "accountTitle": "Ngarko", + "accountTitleTestnet": "Puno", + "etherDescription": "Rrjeti Ethereum bazohet në monedhën e quajtur “Ether”. Nevojitet një sasi e vogël e tij për të bërë ndonjë gjë në rrjetin Ethereum.", + "loadItDescription": "Nëse keni Bitcoin ose ndonjë kriptovalutë tjetër, mund t'i këmbeni me ether duke përdorur changelly.

Ne ju rekomandojmë ngarkimin e 0.25 deri 1 ether.", + "mineItDescription": "Në rrjetin test mund të përftoni ether duke shkuar në menunë Zhvillo dhe duke zgjedhur Fillo të punosh.
MOS PROVONI Txxx DxxxRGONI ETHER Txxx VxxxRTETxxx Nxxx KxxxTxxx ADRESxxx ", + "you": "JU", + "etherbase": "Adresa kryesore (etherbase)", + "depositBitcoin": "Depozito Bitcoin", + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "learnIt": "Mësoni ndërkohë që prisni", + "downloadingBlocks": "Duke shkarkuar blloqe", + "syncMessage": "Blloku __displayBlock__ nga __highestBlockString__", + "syncMessageWithStates": "Blloku __displayBlock__ nga __highestBlockString__ (Struktura e zinxhirit __statesPercent__%)", + "startingSync": "Duke u përgatitur për sinkronizim...", + "tutorial1Description": "

Tani mbetet vetëm të prisni sa tv përfundojë shkarkimi. Ja disa sugjerime për lexim:

Krijoni paranë tuaj

Krijoni një kriptovalutë me ofertë fikse tregu, valuta që përfaqësojnë asete të jetës së vërtetë, etj.

", + "tutorial2Description": "

Krijoni \"crowdsales\"

Mblidhni fonde për një qëllim të përbashkët, plotësisht të besueshme pa palë të treta. Kapërceni pengesat e sistemeve tradicionale të mbledhjes së fondeve dhe shkoni drejt e te burimi duke financuar organizatën nëpërmjet zinxhirit të blloqeve.

", + "tutorial3Description": "

Organizatë Blockchain

Krijoni një organizatë autonome me rregulla të pathyeshme mbi shpenzimin e parave dhe marrjen e vendimeve. Lejoni mbështetësit të kenë rol aktivmbi shpenzimin e parave

", + "buttons": { + "showPassword": "Shfaq fjalëkalimin", + "importAccount": "Merr llogari", + "launchApp": "Nis Aplikacionin", + "learnReceipt": "Mëso këtë recetë" + }, + "errors": { + "nodeNotStartedYet": "Prisni edhe disa sekonda derisa nyja të jetë nisur plotësisht dhe provojeni përsëri dhe provojeni përsëri", + "unknownFile": "Skedari nuk njihet.", + "wrongPassword": "Fjalëkalim i gabuar.", + "importFailed": "Skedari nuk mund të merret: __error__" + } + }, + "connectAccount": { + "chooseAccountTitle": "Zgjidhni llogarinë", + "createAccount": "Krijoni llogari të re", + "pinToSidebar": "Vendosni aplikacionin në shiritin anësor", + "connectAccountDescription": "Po shpërndani identitetin tuaj me __dappName__. Kjo i lejon aplikacionit të shohë çdo informacion publik të llogarive tuaja, duke përfshirë vlerat e lidhura me të." + } + } + }, + "elements": { + "checksumAlert": "Kjo adresë duket e vlefshme, por nuk ka disa masa sigurie që ju mbrojnë nga gabimet e shtypjes, kështu që duhet të siguroheni që kjo është adresa e duhur. Nëse e keni, kontrolloni nëse ikona e sigurisë përputhet.", + "identiconHelper": "Kjo është një ikonë sigurie; nëse ka ndonjë ndryshim në adresë ikona e përftuar do të ishte krejt tjetër", + "type": { + "address": "Adresa", + "bool": "Buleane", + "int": "Numër i plotë", + "uint": "Numër Natyror", + "string": "String", + "bytes": "Bajt" + } + } +} diff --git a/interface/i18n/mist.zh-TW.i18n.json b/interface/i18n/mist.zh-TW.i18n.json new file mode 100644 index 0000000..de27115 --- /dev/null +++ b/interface/i18n/mist.zh-TW.i18n.json @@ -0,0 +1,282 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "關於__app__", + "checkForUpdates": "檢查更新...", + "checkForNodeUpdates": "Check for EtherCore node updates...", + "services": "服務", + "hide": "隱藏 __app__", + "hideOthers": "隱藏其他", + "showAll": "顯示全部", + "quit": "退出__app__" + }, + "edit": { + "label": "編輯", + "undo": "復原", + "redo": "重復", + "cut": "剪下", + "copy": "複製", + "paste": "貼上", + "selectAll": "全選" + }, + "view": { + "label": "檢視", + "fullscreen": "全螢幕", + "default": "Default" + }, + "file": { + "label": "帳號", + "importPresale": "導入帳號", + "newAccount": "新建帳號", + "backup": "備份", + "backupKeyStore": "帳號", + "backupMist": "應用程序數據" + }, + "develop": { + "uploadToSwarm": "上传到Swarm", + "label": "開發", + "devTools": "切換開發者工具", + "devToolsMistUI": "Mist界面", + "devToolsWalletUI": "錢包界面", + "devToolsWebview": "__webview__", + "runTests": "運行測試", + "logFiles": "顯示日誌文件", + "ethereumNode": "以太坊節點", + "network": "網路", + "mainNetwork": "主網路", + "startMining": "⛏ 開啓挖礦(僅限Testnet網路)", + "stopMining": "⛏ 停止挖礦", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "視窗", + "minimize": "最小化", + "close": "關閉", + "toFront": "全部前置" + }, + "help": { + "label": "幫助", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "無法連接節點?查看日誌獲取更多訊息:", + "nodeStartup": "該節點可能無法被啓動,您是否正在運行一個節點?它是否正在更新資料庫?", + "timeSync": { + "title": "您的計算機時間同步不準確!", + "description": "爲了和以太坊網路保持同步,您的電腦時間和伺服器時間需要保持同步。", + "win32": "從系統選項中打開網路時間設置並勾選。詳細資訊參考:http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "爲開啓時間同步伺服器,請通過\"apt-get install ntp\"安裝\"ntp\"。", + "darwin": "爲開啓時間同步,打開時間選項並勾選\"Set the time and date automatically\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "重新載入", + "openDevTools": "打開開發者工具", + "inspectElements": "檢查元素" + }, + "nodeInfo": { + "nodeSyncing": "剩餘__blockDiff__塊", + "blockReceived": "收到新區塊", + "blockNumber": "最新區塊數量", + "timeSinceBlock": "自上一區塊已經過去的時間", + "testnetExplain": "您正處於Testnet測試網路中,請勿發送真正的以太幣到這些地址中", + "peers": "節點", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main EtherCore global network", + "privatenetExplain": "You are on a private net, DO NOT SEND any real ERE to these addresses", + "unknownnetExplain": "Unable to determine which network you are on" + }, + "sidebar": { + "buttons": { + "browser": "瀏覽" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "未設置帳號", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "發現正在運行的以太坊節點!", + "startingNode": "正在開啓以太坊節點……", + "startedNode": "正在啓動應用程序……", + "nodeConnectionTimeout": "無法開啓以太坊節點!
如果您已經安裝Geth,使用此命令運行:
geth --ipcpath __path__

或者上報此問題 ", + "nodeBinaryNotFound": "找不到以太坊節點安裝文件!
請事先手動開啓一個節點 ", + "nodeSyncing": "需要同步以太坊節點,請等待……", + "nodeSyncInfo": "正在下載第__displayBlock__塊,共__highestBlock__。", + "nodeSyncConnecting": "正在查找節點……", + "peerSearchTimeout": "跳過節點搜索", + "stoppingNode": "Stopping EtherCore node...", + "nodeStarting": "EtherCore node starting up...", + "nodeStarted": "EtherCore node started", + "nodeConnected": "EtherCore node connected", + "nodeStopping": "EtherCore node stopping...", + "nodeStopped": "EtherCore node stopped", + "nodeError": "EtherCore node connection error :'(", + "unableToBindPort": "EtherCore node cannot run. Is another instance already running?", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "launchApp": "Click To Start!!", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "EtherCore node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "創建帳號", + "enterPassword": "輸入密碼", + "repeatPassword": "重複密碼", + "creating": "正在生成帳號……", + "errors": { + "passwordMismatch": "您輸入的密碼不符合。", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "輸入主密碼", + "enterPassword": "輸入主密碼", + "unlocking": "正在解鎖……", + "errors": { + "wrongPassword": "密碼錯誤,請重試。" + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "發送交易", + "contractExecution": "執行合約", + "createContract": "創建合約" + }, + "contractExecutionInfo": "您即將執行該合約上的一個函數,這可能需要會轉走您輸入的數量。", + "contractCreationInfo": "您即將用提供的資料創建一個合約。", + "enterPassword": "輸入密碼以確認該交易", + "unlocking": "正在確認……", + "createContract": "創建合約", + "estimatedFee": "預計消耗費用", + "estimatedGasError": "資料無法被執行,因此這將消耗所有提供的Gas。", + "gasPrice": "Gas價格", + "perMillionGas": "以太幣/每百萬gas", + "gasLimit": "提供最大費用", + "data": "數據", + "buttons": { + "sendTransaction": "發送交易" + }, + "errors": { + "connectionTimeout": "無法連接該節點,後台節點是否崩潰了?", + "wrongPassword": "密碼錯誤", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "以太坊是一個用於在區塊鏈上創建應用的去中心化平台:一種用於轉移價值和資產,永遠存在並且無法被篡改的軟體", + "goToTestnet": "使用測試網路 (Rinkeby)", + "goToTestnetDescription": "請放心在沙盒測試網路中測試該技術,無需使用真正的以太幣。", + "gotoMainnet": "使用主網路", + "gotoMainnetDescription": "您需要一些以太幣來創建和執行合約。別擔心,我們將幫您獲取一些……", + "doYouHaveAWalletFile": "您擁有一個錢包文件嗎?", + "walletFileDescription": "

如果您參與了2014年的以太坊預售,您應該有一個文件名爲ethereum_wallet_backup.json的錢包文件。在您購買後已被下載並且也發送到您信箱。

", + "dropFilesHere": "預售文件拖入此處", + "creating": "正在創建……", + "importing": "正在匯入……", + "skip": "跳過該步驟", + "next": "下一個", + "protectTitle": "保護您的帳號", + "protectDescription": "爲您的新帳號選擇一個密碼。請像保持您家鑰匙一樣保證密碼強度足夠安全!", + "accountTitle": "正在裝載!", + "accountTitleTestnet": "挖到一些以太幣!", + "etherDescription": "以太坊網路是基於一種叫做“以太幣”的代幣。您需要一點以太幣來嘗試在以太坊網路上的任何操作。", + "loadItDescription": "如果您已經擁有比特幣或者任何其他加密貨幣,您可以使用changelly來方便地轉換爲以太幣。

我們推薦您存入0.25到1以太幣.", + "mineItDescription": "如果您在testnet測試網路中,您可以自己挖掘一些以太幣,點擊開發選單並選擇開啓挖礦
請勿將真正的以太幣發往該地址!", + "you": "您本人", + "etherbase": "主帳號", + "depositBitcoin": "存入比特幣", + "learnIt": "在等待期間學習一下", + "downloadingBlocks": "正在下載區塊", + "tutorial1Description": "

現在您只需等待下載完成。這裏是一些閱讀推薦:

創造您自己的貨幣

創造一個固定發行量的加密貨幣,這些代幣代表真正的世界資產,等等

", + "tutorial2Description": "

創建一個群眾募資

爲一個共同的目標籌集資金,完全可信而無需第三方擔保。繞開傳統融資系統的障礙,通過區塊鏈直接和出資人共同籌資建立一個機構。

", + "tutorial3Description": "

區塊鏈機構

創建一個自治的機構,並且制定關於資金如何使用以太誰能做決定的不可違背的規則,讓您的贊助人在如何使用資金上發揮積極作用。

", + "buttons": { + "showPassword": "顯示密碼", + "importAccount": "導入帳號", + "launchApp": "啓動應用程式!", + "learnReceipt": "學習本祕訣" + }, + "errors": { + "nodeNotStartedYet": "請等待片刻直到您的節點完全啓動再重新嘗試一次", + "unknownFile": "文件無法識別。", + "wrongPassword": "密碼錯誤。", + "importFailed": "無法匯入該文件,錯誤:__error__" + }, + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "該地址格式有效,但是由於沒有安全機制保證您不會拼寫錯誤,因此請反覆確認您輸入正確。如果可能的話,請驗證一下安全圖標是否相同。", + "identiconHelper": "這是一個安全圖標,如果地址有任何改動,該圖標將會完全不一樣", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/i18n/mist.zh.i18n.json b/interface/i18n/mist.zh.i18n.json new file mode 100644 index 0000000..5078b17 --- /dev/null +++ b/interface/i18n/mist.zh.i18n.json @@ -0,0 +1,282 @@ +{ + "mist": { + "applicationMenu": { + "app": { + "label": "__app__", + "about": "关于__app__", + "checkForUpdates": "检测更新...", + "checkForNodeUpdates": "Check for EtherCore node updates...", + "services": "服务", + "hide": "隐藏 __app__", + "hideOthers": "隐藏 其它", + "showAll": "显示 全部", + "quit": "退出__app__" + }, + "edit": { + "label": "编辑", + "undo": "撤销", + "redo": "重做", + "cut": "剪切", + "copy": "复制", + "paste": "粘帖", + "selectAll": "全选" + }, + "view": { + "label": "视图", + "fullscreen": "全屏切换", + "default": "Default" + }, + "file": { + "label": "账户", + "importPresale": "导入账户", + "newAccount": "新建账户", + "backup": "备份", + "backupKeyStore": "账户", + "backupMist": "应用程序数据" + }, + "develop": { + "uploadToSwarm": "上传到Swarm", + "label": "开发", + "devTools": "切换开发者工具", + "devToolsMistUI": "Mist界面", + "devToolsWalletUI": "钱包界面", + "devToolsWebview": "__webview__", + "runTests": "运行测试", + "logFiles": "显示日志文件", + "ethereumNode": "以太坊节点", + "network": "网络", + "mainNetwork": "主网络", + "startMining": "⛏ 开启挖矿(仅限Testnet网络)", + "stopMining": "⛏ 停止挖矿", + "externalNode": "using external node", + "openRemix": "Open Remix IDE", + "nodeMode": "Chain download", + "fullNode": "Store full blockchain", + "lightNode": "Use light Node (experimental!)" + }, + "window": { + "label": "窗口", + "minimize": "最小化", + "close": "关闭", + "toFront": "全部前置" + }, + "help": { + "label": "帮助", + "reportBug": "Report an issue on Github" + } + }, + "errors": { + "nodeConnect": "无法连接节点?查看日志获取更多信息:", + "nodeStartup": "该节点可能无法被启动,你是否正在运行一个节点?它是否正在更新数据库?", + "timeSync": { + "title": "你的计算机时间同步不准确!", + "description": "为了和以太坊网络保持同步,你的计算机时间和服务器时间需要保持同步。", + "win32": "从系统选项中打开网络时间设置并勾选。详细信息参考:http://www.guidingtech.com/3119/windows-clock-sync/", + "linux": "为开启时间同步服务器,请通过\"apt-get install ntp\"安装\"ntp\"。", + "darwin": "为开启时间同步,打开时间选项并勾选\"Set the time and date automatically\"." + }, + "nodeChecksumMismatch": { + "title": "Checksum mismatch in downloaded node!", + "description": "__algorithm__: __hash__\n\nPlease install the __type__ node version __version__ manually." + }, + "legacyChain": { + "title": "Legacy chain detected", + "description": "Your node is currently on the unsupported Ethereum Classic chain. To use this chain use tools provided by the ethereum classic project at\nhttps://ethereumclassic.github.io.\n\nTo revert to the main ethereum chain follow the tutorial here:\nhttps://github.com/ethereum/mist/releases/0.8.2" + } + }, + "rightClick": { + "reload": "重新载入", + "openDevTools": "打开开发者工具", + "inspectElements": "页面检测" + }, + "nodeInfo": { + "nodeSyncing": "剩余__blockDiff__块", + "blockReceived": "收到新块", + "blockNumber": "最新的块数量", + "timeSinceBlock": "自上一块已经过去的时间", + "testnetExplain": "你正处于Testnet测试网络中,请勿发送真正的以太币到这些地址中", + "peers": "节点", + "checkingWhichNetwork": "Checking network...", + "mainNetwork": "Main-net", + "testNetwork": "Test-net", + "privateNetwork": "Private-net", + "mainnetExplain": "You are on the main EtherCore global network", + "privatenetExplain": "You are on a private net, DO NOT SEND any real ERE to these addresses", + "unknownnetExplain": "Unable to determine which network you are on" + }, + "sidebar": { + "buttons": { + "browser": "浏览" + } + }, + "browserBar": { + "buttons": { + "noAccounts": "未设置账户", + "connect": "Connect" + } + }, + "startScreen": { + "runningNodeFound": "发现正在运行的以太坊节点!", + "startingNode": "正在开启以太坊节点……", + "startedNode": "正在启动应用程序……", + "nodeConnectionTimeout": "无法开启以太坊节点!
如果你已经安装Geth,使用此命令运行:
geth --ipcpath __path__

或者上报此问题 ", + "nodeBinaryNotFound": "找不到以太坊节点安装文件!
请事先手动开启一个节点 ", + "nodeSyncing": "需要同步以太坊节点,请等待……", + "nodeSyncInfo": "正在下载第__displayBlock__块,共__highestBlock__。", + "nodeSyncConnecting": "正在查找节点……", + "peerSearchTimeout": "跳过节点搜索", + "stoppingNode": "Stopping EtherCore node...", + "nodeStarting": "EtherCore node starting up...", + "nodeStarted": "EtherCore node started", + "nodeConnected": "EtherCore node connected", + "nodeStopping": "EtherCore node stopping...", + "nodeStopped": "EtherCore node stopped", + "nodeError": "EtherCore node connection error :'(", + "unableToBindPort": "EtherCore node cannot run. Is another instance already running?", + "nodeSyncInfoStates": "Downloading block __displayBlock__ of __highestBlock__,
Downloading chain structure __displayState__ of __displayKnownStates__", + "nodeSyncFoundPeers": "Connecting to __peers__ peers...", + "launchApp": "Click To Start!!", + "clientBinaries": { + "scanning": "Checking for node update...", + "downloading": "Downloading new node...", + "loadConfig": "Loading client config...", + "filtering": "Filtering client binaries...", + "done": "EtherCore node up-to-date...", + "error": "Error running downloaded binary." + } + }, + "popupWindows": { + "requestAccount": { + "title": "创建账户", + "enterPassword": "输入密码", + "repeatPassword": "重复密码", + "creating": "正在生成账户……", + "errors": { + "passwordMismatch": "你输入的密码不匹配。", + "passwordTooShort": "Make a longer password" + } + }, + "unlockMasterPassword": { + "title": "输入主密码", + "enterPassword": "输入主密码", + "unlocking": "正在解锁……", + "errors": { + "wrongPassword": "密码错误,请重试。" + } + }, + "sendTransactionConfirmation": { + "title": { + "sendTransaction": "发送交易", + "contractExecution": "执行合约", + "createContract": "创建合约" + }, + "contractExecutionInfo": "你即将执行该合约上的一个函数,这可能需要会转走你输入的数量。", + "contractCreationInfo": "你即将用提供的数据创建一个合约。", + "enterPassword": "输入密码以确认该交易", + "unlocking": "正在确认……", + "createContract": "创建合约", + "estimatedFee": "预计消耗费用", + "estimatedGasError": "数据无法被执行,因此这将消耗所有提供的Gas。", + "gasPrice": "Gas价格", + "perMillionGas": "以太币/每百万gas", + "gasLimit": "提供最大费用", + "data": "数据", + "buttons": { + "sendTransaction": "发送交易" + }, + "errors": { + "connectionTimeout": "无法连接该节点,后台节点是否可能崩溃了?", + "wrongPassword": "密码错误", + "multipleKeysMatchAddress": "Multiple keys match address. Please remove duplicates from keystore (menu -> File -> Backup -> Accounts)", + "insufficientFundsForGas": "Insufficient funds in main account (etherbase) to pay for gas", + "sameAccount": "Can't send to itself" + }, + "transactionThrow": "The contract won't allow this transaction to be executed", + "noEstimate": "We couldn't estimate the gas.", + "parameters": "Parameters", + "showRawBytecode": "show raw data", + "showDecodedParameters": "show decoded parameters", + "lookupData": "Try to decode data", + "lookupDataExplainer": "Look this up on the internet", + "overBlockGasLimit": "The gas required for this execution could exceed the block gas limit.", + "notEnoughGas": "Gas might not be enough to successfully finish this transaction.
Click here to increase the gas amount." + }, + "onboarding": { + "description": "以太坊是一个用于在区块链上创建应用的去中心化平台:一种用于转移价值和资产,永远存在并且无法被篡改的软件", + "goToTestnet": "使用测试网络 (Rinkeby)", + "goToTestnetDescription": "请放心在沙盒测试网络中测试该技术,无需使用真正的以太币。", + "gotoMainnet": "使用主网络", + "gotoMainnetDescription": "你需要一些以太币来创建和执行合约。别担心,我们将帮你获取一些……", + "doYouHaveAWalletFile": "你拥有一个钱包文件吗?", + "walletFileDescription": "

如果你参与了2014年的以太坊预售,你应该有一个文件名为ethereum_wallet_backup.json的钱包文件。在你购买后已被下载并且也发送到你邮箱。

", + "dropFilesHere": "预售文件拖入此处", + "creating": "正在创建……", + "importing": "正在导入……", + "skip": "跳过该步骤", + "next": "下一个", + "protectTitle": "保护你的账户", + "protectDescription": "为你的新账户选择一个密码。请像保持你家钥匙一样保证密码强度足够安全!", + "accountTitle": "正在装载!", + "accountTitleTestnet": "挖到一些以太币!", + "etherDescription": "以太坊网络是基于一种叫做“以太币”的代币。你需要一点以太币来尝试在以太坊网络上的任何操作。", + "loadItDescription": "如果你已经拥有比特币或者任何其他加密货币,你可以使用changelly来方便地转换为以太币。

我们推荐你存入0.25到1以太币.", + "mineItDescription": "如果你在testnet测试网络中,你可以自己挖掘一些以太币,点击开发菜单并选择开启挖矿
请勿将真正的以太币发往该地址!", + "you": "你本人", + "etherbase": "主账户", + "depositBitcoin": "存入比特币", + "learnIt": "在等待期间学习一下", + "downloadingBlocks": "正在下载区块", + "tutorial1Description": "

现在你只需等待下载完成。这里是一些阅读推荐:

创造你自己的货币

创造一个固定发行量的加密货币,这些代币代表真正的世界资产,等等

", + "tutorial2Description": "

创建一个众筹

为一个共同的目标筹集资金,完全可信而无需第三方担保。绕开传统融资系统的障碍,通过区块链直接和出资人共同筹资建立一个机构。

", + "tutorial3Description": "

区块链机构

创建一个自治的机构,并且制定关于资金如何使用以太谁能做决定的不可违背的规则,让你的赞助人在如何使用资金上发挥积极作用。

", + "buttons": { + "showPassword": "显示密码", + "importAccount": "导入账户", + "launchApp": "启动应用程序!", + "learnReceipt": "学习本秘诀" + }, + "errors": { + "nodeNotStartedYet": "请等待片刻直到你的节点完全启动再重新尝试一次", + "unknownFile": "文件无法识别。", + "wrongPassword": "密码错误。", + "importFailed": "无法导入该文件,错误:__error__" + }, + "buyEther": "Buy Ether", + "viaChangelly": "Accepts cryptocurrency and credit card via Changelly", + "syncMessage": "Block __displayBlock__ of __highestBlockString__", + "syncMessageWithStates": "Block __displayBlock__ of __highestBlockString__ (Chain structure __statesPercent__%)", + "startingSync": "Getting ready to sync.." + }, + "updateAvailable": { + "newVersionAvailable": "New __name__ version available", + "version": "Version", + "downloadURL": "Download URL", + "checksum": "Checksum", + "downloadAndRestart": "Update and Restart", + "download": "Download new version", + "skipUpdate": "Skip Update", + "notNow": "Ask me later", + "checking": "Checking for updates to __name__...", + "noUpdateFound": "No update found. You are running the latest version of __name__." + }, + "connectAccount": { + "chooseAccountTitle": "Choose account", + "createAccount": "Create new account", + "pinToSidebar": "Pin app to the sidebar", + "connectAccountDescription": "You are sharing your identity with __dappName__. This allows the app to see any public information of your accounts, including balances connected to it." + } + } + }, + "elements": { + "checksumAlert": "该地址格式有效,但是由于没有安全机制保证你不会拼写错误,因此请反复确认你输入正确。如果可能的话,请验证一下安全图标是否匹配。", + "identiconHelper": "这是一个安全图标,如果地址有任何改动,该图标将会完全不一样", + "type": { + "address": "Address", + "bool": "Boolean", + "int": "Integer", + "uint": "Natural Number", + "string": "String", + "bytes": "Bytes" + } + } +} diff --git a/interface/package.json b/interface/package.json new file mode 100644 index 0000000..2bc91d9 --- /dev/null +++ b/interface/package.json @@ -0,0 +1,27 @@ +{ + "name": "Mist-Interface", + "version": "0.1.0", + "description": "Mist interface application", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ethercore/desktop-wallet.git" + }, + "keywords": [ + "EtherCore", + "mist", + "web3" + ], + "author": "EtherCore ", + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/ethercore/desktop-wallet/issues" + }, + "homepage": "https://github.com/ethercore/desktop-wallet#readme", + "dependencies": { + "babel-runtime": "^6.18.0" + } +} diff --git a/interface/project-tap.i18n b/interface/project-tap.i18n new file mode 100644 index 0000000..c0fafaa --- /dev/null +++ b/interface/project-tap.i18n @@ -0,0 +1,7 @@ +{ + "cdn_path": "i18n", + "helper_name": "i18n", + "supported_languages": [ + "ca", "de", "en", "es", "fa", "fr", "it", "ja", "ko", "nb", "nl", "pt", "ru", "sq", "zh", "zh-TW" + ] +} diff --git a/interface/public/icons/browse-icon.png b/interface/public/icons/browse-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..56b55f1851f615fa484a41b6fb0dadfd923e620b GIT binary patch literal 4078 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 literal 0 HcmV?d00001 diff --git a/interface/public/icons/mask-icon.png b/interface/public/icons/mask-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8453c1f5837493abf246612db1896205b8a4b0f9 GIT binary patch literal 1836 zcmb_d`#Teg8{Zl`nvLw}G!yB#ozmE7gbi~!uBoPk$WWwBG`AgeTIO;NI+RGKIN`X> zZCx;r$)+&3M4e-R7H2mk

`mykI^g2Zb=gaRLDFC|h|eND%-43tb%vr)fY*VYjC)UOm+WjL8m8 zgBhiy__?s`CCY{*;SmgX9T@_&nk|6ZA*Am>oz)d$E)dO-UIbY zVpX(F;4tZ~7b$?R+PSmyOb@<$WMt%4Yb)Lohr3f+s%weI=dG?rH?!F}A`v<8N@V2R z&d%iBt}f@@bDux^p5G@njeWXN@8svZ`TE{F z?d>fi1_YpDV`GVdfhIR^-W(boJuHz(h6V=@qEIN?hRrXM#5#a29^WmMK0bm%buTS3 zYiet|=jY4)0|K@y>6MY3k`j9>YwNO#3g?8x#Im-wK$%STCyRx)7y@imUyX|kU6`L2 zFD_QrR#g$)xwk>8Q~J2nrj-rr8==durysxe^z`%_hN@jsp@+IdY0&!V&u3@6=mELp zuCA_HYi%{LD&u&n%D^-pkz`<_AkYew^z~(-4jnouxDGYndlW%eEJ)IuR7^@rqNJy# zDXm=x--jSQxbv-i2rWK-I4(9;?Me|3#^Qmq9y|TWt<;*Bm`J%_5e2${?#b^C2bNwt zpsj5%j!W0nVVo%sq55&Xyu4C0)!0Dk$B!|i`7+p4Z7r$@+VKZ|8SZz*tCtUWtj>%Um9AftfPkpR8TL2%uB z%*+sbGm87kFtep)?i<(!^t`XHTKivKmRz`pn)b@fOo?{v=@~60k6aCpz!=Mwv*1Vy zWs&HNg%`+jYnaT#%^c33sEqyGoB*h+Iiksfoxy+R0`y{G$HvBFZ%*Bc2dM5x;3BxM z-qAH*>dsG1*;QCE;VgYp$6g+&lR<(Os?ckvQEr7%#SjWid-}p+41jWvXEl;=#)dIS z=zH}JP}FZuV-^*^2Fj-jDXq+w7HbSGXfcKxh6ajKl+P5r>LlU5bEp6nl<}uh<$Zef zKhbEfs(xc`;X)`Sd(SGob!-V5%+T*VhZG<^)cEq90yxXF@qFF@sY4cQ(hr))_(bA$ zNUfAs(_P*w2q{{Kt2R1tPg~-KOomU0rtrjpmJP7`?r{So!kCj0^|{ zi^V=NCp_6$TDtsS9zmhtuRM~-NF?&(;jCs;7Ph~?AJasrPm)vKn$!WhLMD41!AuTu z|Bi`?c`>HgvBYcS9!Ex0GnuneDe=*p4cF?Lnmd`9${%!><%$(9(5W3as=nD04V%nS zg@z{RPxQpZ#Q&FZX!Jw>D_gUQ)P(s4*bX_o_Z^+4yyWE+sC0Fq5FLq!fwEMnrV2D$^;fuKV_;0C24q#nY zkGcj>2x@6*X{@f!%vn`870^#L@*#)=juHeC`TZ=80W}ygwXnOs5AE%^X=7&g{D}xh z&w6r^#gFNOk)Cg+1Jd&>EG#4fK|$>6RdneW427oho;PLo;Se|IIa`Rev<&a<=~0rU z6P}0AU;}ONz+L;F@jo3HYi_m_C79HR7<%IUytKP3>XYrl_bKmJPD~c;bS7IH@c(D4 zJv|vU_4S!#&)KD=CCzhxeL01j`4vdTNVBBH3&@8yQ_Gut>#JUKqjmq=>I-@e_HZfyKejI*`v6(zr?Hdy(Z zUW+&0$$kfL;H_=V1{V;P%Sa`;C((vrh&HD)diV##?W~He%VhF)<-PK9gYbxmytTDB k9(yi7Ki^**+8MD0Ho=b@M5T5V$lo8p)ydPb&YqO~4~>y?FaQ7m literal 0 HcmV?d00001 diff --git a/interface/public/icons/mask-icon.svg b/interface/public/icons/mask-icon.svg new file mode 100644 index 0000000..85c277c --- /dev/null +++ b/interface/public/icons/mask-icon.svg @@ -0,0 +1,12 @@ + + + + Mask Copy + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/interface/public/images/anonymous-icon.png b/interface/public/images/anonymous-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2874d2174d0fd4b13dd5aee28afde9f1ebc8f438 GIT binary patch literal 3307 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 literal 0 HcmV?d00001 diff --git a/interface/public/images/bg-homestead.jpg b/interface/public/images/bg-homestead.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fb2fa98b75e4496ca0f8daa45a7344e7d45b2a20 GIT binary patch literal 53901 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 literal 0 HcmV?d00001 diff --git a/interface/public/images/bg-metropolis.jpg b/interface/public/images/bg-metropolis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3037dfbb8d77473bfaa6aff7e01370a49c642a67 GIT binary patch literal 63219 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

Tjxh>Q0(0^YpVj%($dv2Hoy-N71lP~ZrBZ=QUQ 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�~{{Aw8C*-F;_Mep>n6nC~SX z8_*Dvk4#ZA=kSzqArgf&^-xU%f^(FfD7DM#}DW{@IH&F6f&J4Bxj z9j~=m$BRG+nh>{aY2iFiBruut%8BqK+aGOj&DkpL_#H8*mi_;UmTWsNOtTd<)M9H40s|IqTv3B}d z-@Lo$n>#Kuk;=%GViEP~sZIZMhfhYw*fB2zWXg^N(Awmc??F3d+llaToTa&Y&}|L) zZ#_a9ww<-jEyUE538dU)P3n74-3~6sHA~e!C`7&}x^4DM%4oMIv;wgyUlau`Kd-we z8aa=vMHIwXMg?u?ch8+oq?{JU+(`=+tUUo#!h$HG=ZHuNE78s$Cq-*d%==Q)8c+4~ zr(b{Ht&qz6TDt?h4_B%`wGn<&yuAj7CfYO2x49diB$EHrU4KL@#MtDZQUp*!xa$ z-8Eb)$h_}|Lvok0KJlk$f7$W6E2(~`Oq{>BkS(#(IgtJofHAoDT2622FY$Nnm8ksf zm53)2(aHEB%ys;PFGyT)D3w++IE+xL0O=I%|Hs9-Q2=U=ZixDqu=+8Zp?pGnG6AZb zbd>aO|7S!MRbN8ZE64*X)tqWmBaY9-UztUv?1?JJlGj@JQcLA2cNXqjEU%#iH9GR$ z(pknQ+L?k6&kzphQ&f^O#^9vk4$O-fsyU1a9ww~~yLef0oS)tTBL!wPDNYL~19;cW z_18bGG`={r_2@`y;HYwc<#hOikB-%++n z3jleGX5jqeQBK{J^Ny~drV7p1!9~4w5MNBZws}SJ@6Oz-7YmyEj6|fhgd(yov9wD& zUYekzzB#_FV17ZVlf`AO=rc>e%7CX^vHE&YG(J9p{Y*8-K-ueM{2@#5An_^L6ErHrh5>roCkv9gXf}1=kK2RR*Ai9R?#Gc#fht?K@6Cy z?p3l`{mG<8&nagmC#tV)0k4iE119&b z)koq^X zMv9jEA6z5S?`H3Q%o>r^p06~?e)@+AzdU>{HqsX6t8G4&FjU(Vt}EqGk=x-VrT1)5 z^oSMhU)PPnW3phPA8;NixPr?lb=Hiybc4$iExx1T(UgVR=oPv}sIsJ*0&|b3c0W#2 zDVTTaiOuciXyF8!rp<>ohw_MLD{BJw02W48%^Xve>{vh*#s3+kIA<}mgA^iE1W?vc z{d&pCdq@4F9wxpRfYOi?cyNa@{^}h!kl-6ToA-wUC})8H z!J5>N1Jv76SSVy+;Y@ilP>isUtcqyeoFbQur9*bn-6-v+<-MR_Qc;O79BO#mQKYwD z@!DyRL_|8*Xc|#7Z)hYqrwoXmQ&<;M6mqzqM5~=dg$H2x`}O9#f*;wD#1at|XMSbD zP^Xg1>|imp_j@l)qxAbDu%?Gf2(S>$IYWx_|FdGR1J>gTWf-#+DKl zMZlAv8UT+sZj|3Bcmnq87rkGe^#}2&@KK{a8glVQg9AE}i6eH{n~(h(qNumxmgIG! z+B|BY<#WR?N0eMDT-xf^O8I~?+DvGpix%KBIp<8wg5~PUamMx_a=8kg6+P31#brO| z?Uz{jOK?XojLxGniY=2}`bb3h6jaYr#Tl9t)0}29SVX`O^EUo@PJi%ECkAmt`Sath z{0~fkG1qK$tV`>pARb2ZP_MkhTJgz7c!^>qwN;8)o+LWYo=F-Nf zH`Zf?9Ka$`BTp9~Hp)wy|TYL}=Q*nWuOBm1;0BxJ5n zF7lsKP_zRtO!`^)>x~6!7F#=LMWDX7o)b`yEw{UHGWiV__ya#V(4>%{0UAwW)c`Ia zTDSG&HGzWwxX(V;BQ|;NP8@QD;B^&Ll`eF({kw-Aq|?Ki=hRrFyL_p2jn#5poM%~-6|e@834RwwKo$C~tvw@Tfm-Yy9MNv^$77fVzvW(qM= zvloNQ--CiZI*P-HP2>s_uyVCbNQjDzztN@y9MsJlIx_-m5g4lBL2hUa-sTq5l4}gk zUk;}wk5RfZyUt?&&#g&$?&B1maM-<@ILwQE%2OXo zhoO2~^}<{SR+{^oJc8T|{6biN+(+S7NODr)L&8y7x+0^#ogEpKxQM}clV%~&Giz}Q z_;3f`(TecPDdwOVC#tOTA&t0OCf=0CCGQPbu$;k1%hJYD_FSwKa$o&`4hcUeI{HIs z6##fnPD0q;OAZ7vXWk?6ovwrz*9)$nqa;!uFo>2 z-VRt!BWrXNSC)%?(5>6FM(ozMt7pHiPg(3VxJ6*S3m!fO5FKkk$AMlFtul!_YN`Z%=>*5qZ1){4#m47#20J;d5Y=1}rXcg#V|*YKHQ! zWCR{$oInWE0j(iGC}08zNC;4#jAWq_peW8^iW|xd2zYB9kT1(?KB^*bSoB>15uoDy zIl*Y?Iz5UdUdF=qv;Rg*@-YEWSgSeef!{F%p&hr))8&}`V#??Ud!iI(_HDYqUqdUu z_&_`>tct=9rE7pj=eXFqDK!8M`Z0%-85i>3z#Xmxr#2pbBr21+mKN;WG*L2s5HLu- z{UOP@O7|dV!0cA;DVg*f{h-t$2GXHD_V2F zn{|X{$;g-BiZs@snclV1~^CMT9b5$gyOaDSj9o* zJxH-oFnbnoR+>;_DZb=Pg?o?;4_fIt2T*5lG6uZ2Hxx)j`yR;8$rNIO0~il7{*L0{ zfCARVy?OYIE~HjG+`=z2Dw9z(C1)|;&gc`_*qPV1yeRFqogaKzw>!O20B%gyx}$vB z^Vh7(vs(~CC6NbvN!NrSKhWZiH>lt$AhUxGCL0f+={Gddb?q?J*>CZ+F-vCR9>5tyS8_pg1B23FChUcnqN1%0mYfIm+Mu zi`giE4i6pVU-ckmM*Sy-6_*2jKK}Kp++hJk_VU{!IQa_DAgwrFRaikaG>o$;c1y2+ zuVVV~b38xgA;B={HHtqlMN{Sl_Gg&h6}vhrMaVC=}lTj$k zzI|HAIp_*{1p9G9J~v-N^4QtR@rP7f-@N0cX2hw0bc9<`i@LI>rW?Ln%-~>wb}j*( zB_P_76Gel?kl@T{@o^@X!0eZF5*{xQFfUkNhQq$$g>Z@9Y1WoLc@!|a(DrcZ1f7|YJ`sui)C9=Uy zPq=QU{e1wp2J%^&dC#w&O6S|U?zQE8U6rZA4Mr<`3NoWdim7%R2Z_m44L2nxtwH76 zH;sN(>V{NZR+zIrQR`JRo!{1|1ml_e_r3gvGIZ75G_1=_SC|rwsCmGE#r-+r@Wp{QebRqa-sr4DC|!HtZ^HV zQgbk1`9JUzfT=vheuzB)_l&>`KvcbN@6AI;g>#=-S$MJo?&kjx{;dFWSINOXpJvvi zmO@}M^dbBUf$*1J`3*3YiR8(*0A;5T$!Or27O*vNx2FXtyG!g}tZr_56Fq^%x6TiL z+0;dXliQS&E#3Y1LcfGqk>_V^?W4K+$iUXM4h++mtOc;$?vv19PbMMhW`> z$4hi!cUXxa^%8^1qGyhdw8W7q6~EyYDTvzi(&eJ>D0{XU2oEm$Du++jmBjb!7$Y`?+1>p}@9` zmKbane>@_75V+wOT4?wg{V$?Jj0#8_A6U*qe{m!WB<^DO4a zW_%<@yEZe*s*-$C@k{>S5#qG~J`BFuH+euWY58!VfZxDObVI0eW5E^vK!VcD6RRrS zngQ&Zg+{0!c-m(k%bV5~+Y0~su%E7v(cH4hF_ySfLp2hSfnVqR<(bHH&5ext>&|9& z!aIcJm>&3G`=bHHgsZj6{prQ-KjQJ5KYAhM@8sv40nepnz-sE0T=?NMjgGr$?CjlfNrgd*G*?XT zQrti8j+Gtn04A(fRxdPMZA}GXCtNR#`+?IWkN}(@Q$Tn_h%P2!NeDMm01nqfD#4~U z91XEI0W{Zol4;@cxDwkeg}?t9H{&lKTU8!R`FK*8hRsU8@^Z7c$$hdQ-?OJ7ctKI+ z(E_Gui_92@KieR8o_{dOCx~6$eJ4OTxF&^7tF%10y3;8g3dN>lyzU6AXy0^|4oN&9 zB@~&=YCeHKx)oO>^$@!UIgUT~l!(I}(8WVUJxXIg2!x(mmpMmLXMeqxO zv+JJZc?XtN(plRXzbC3d^x(e*wj5QaKlOsADdGTj@6ITiwFV;p@e?_SQo<@^(}Dc zNN(PgB;l;%lKnKWW>lfzdq(s#i=|Cdp#-FH$X>-M-a8+>!z19AHX&QM{C1=vI=2RxFjO&c2z^#7cn^O}&0Kl<10f&#nzLZ}wh40OS@cW8S>Q5%vVFsHE$UQIS7Aw_Vu)ukkODXJQ z32Nyf#rj~ih6N9=rK+l#KOJCt0!YjLzJB;aSu79b(SI<6&H^6{yhIzRS1Qkmo$A`! zUqse-ypBP@5^Nn3^7O@|H8I(bK6*nXK0|vnKVWoXor{=!#`@T~*YStz3)*9)d z(WC%b0icuoK%NcBN<;%zv}b@OKzqLlc7kdE9XdK;`+gJ~R8bPDaAu_>`~tPKtUdsL zwV6Vs#mly|b*^ZFHTG?f?Uc)Rmks&FTyUGi9G@A&Y2K@|A*-Tfw|p_1B{tIt5gwBY zz{1brGv=ia^x>20N=U6lp_fBcw;j3{c2b$x@#%m?!+RvS{Z!^2l%Su>YBQvA$}=T? z5Ar-u1m=qRPB%MqBq8AzEq6~3y&^B1^A{Tg*wqX+6-o-SY8tryGE*&1>ZGp(5+0_W zEc{YoHXw^El9i?^dlOn%V(=FJ<8>+I&Et`a(%PjXX#fiKdlrA(me%%jHSy;1--Eu# zW(+!8@Q54#UUT*o3Y7542R~>ZB<<96RXJyaXRN048(_JVm#I1xyyrgL#BO%br#s$K( zq4+NYRU|id zg2v#()*#lyi~t2h03e9;1FD=Z{G$eRs00(+h<>7EzaY+_T$meu${~P%TA^%kV9=6YID6@j>PNS~J>W7k*TXX}>%eNA9mgl!+M+27B zR@|~*S@&J31&0$S;^7*q*HtQ2;4avCdi-pM{7`OF?8KE6@{hG$LEdHsII@1bE#U7= zvG6?h8z$|U5;i|i*1I>p!TCemC)|e%E~G9n&0O>%kjrWHoo=k4n278|+aG#4;|bA4 zWXt=|(c_~x@MTD6af#IKkUKPb_v)8=4cuxfR3r{Ybvs0+{n^;MPX5&AC1ny1GuWHk zs<5IB=@#hWZM1#>h%oK6ZmT%mm-1Ywmhu~W{5NYv-;P>#T=Aw~Y34zi%;QFvJsNRc zGO%X!CU9(YiSABZFpmxB6t?E}g?ZrCtValtZ*~AB_en@x?@Uul$UnGJ`wv_xEMvSY z=+WL7pw!8|(A(0BT*W*m@En64rV2>$8PiOr(vB(OdnCsBCq0@0C`~K@APE5=3!pR^ z0J{Oui_YSqj+g~1hetr!@W5^+r}D(2r>yr1E1IL>Xu)wGYkDLe%UU76VCR^`lrxak z{x7_$ea6zi^LOL3g0O z!VFWhE;pg*`Bk}m%-DD^VxO(#S&aoT2P6f|qCl?4&2p~tteBZ{;kC56$Z779@cdoH#_n>z85HF(!R+7zA;EIz| zMa>zmt;YD>^E~6mx}`-C zqQvIIU2&RF8+|-g=ijmo-@`(K>(Cn4%%x2@+s@s-LFel~Yoe^fnnye1H;J=5hQr(i z<{}}BBPD?&=Y26pP5O(;6_z27sk%Nlf31Y>R+i0hS@j-{pEFrgPi2?j{sHe_7okmY z0s8kA(k5{DISu5bPzlm}Yi2yT?p*ry>szq4T|g5UPD~&GiwJSP_H1)gp+8qc_L@SgL(&e2?HK~>!aSg(0MvsjEnmonicACC0XX!xvekW=|AiLJxQI(j zv$OEx&yLMJ?sJbHq{-U4{nbc=e>}^%Adr8q5?w{r=)#>+i9u|!^`aDwHehF!T6GHa zz_H|Tr$E;k92_`?#H55y4{j~k3I7_z9Vi@x3BYO}eF{oS`=jj4e?~@L{LJvy zXyP20yDqY`tDa1zRxWjp4IOLf#NUJXlT+poF=EQDR6>8iO`KLhCo>?%a>JGwvPn?B0Kwc%ita-@LmYFobdNTuR66@mxCe_l9^ zD<}`Finkq8v;ZUE>3E~qrJSqanOUUslr>p?IM=9+XHLo6AuW90U`KDRwy3hrREgI` zR@R?WVqrV`1#QhO;?}$0w!pRNNi5Yy)_}x=lm}DsLJN%x&_-q79)pHvZREkL+q+ac zW{QtbA0OUkjwl{8g&)oQ5-on@uG%l~QdK^HXF5WZ84VuuQY`EVmkiwyCcp$A7$HzG zGQ@EFk{)~l2%)<%D4TSWOdcUMMEZBh`jCFBrZFm0l<5lnx|&6XljZ-YAc!BOU7kAE zuDGh?x1K;s;qhySw=>{2<1iFIz9+GOhYWzLnONDg*tF3=-_HVz6b(I!-+}<9tdW(i z7eIacb0AosRUov9r&F=u_4y`$X=h#k2-+1cd`P=RdvB+;$k`Pz@64IgzTNl6yi1P6 z{ix8wh>Vn#E-q44s?3hA4``;8H2V|lxNHOVU#ps;l@@i`M|fQ){az;~Kwu55seTeX z58ErSsRx{9N+M?+C<#vp77$wf+esD2`ny`lwXPG#xl=N>o(YR>p#Yvi(I)mV`BJm1 zpLNrXLlQl4X;A^YHkFrmF`us^jtW~8v#ZPgl)%n#^P_0%`UIM%u0}q5FtloNO}u-m z1UEo@2p&fA`|8mb#V<#m8aTq(tZa7*%I@T8Wi>D6%L)}My(O*>ha#Tw%+Af(#zoB| zJSSnIuP}4?K4)(@Fc2cfm60 z0*L+!ipwFct+7e>plk{VyOiw7W-RY`R?SG)fF9cJJ4>OdKa1(?)0ab}Iu+F~vAu95 zKanIh&!*@tbtK_gz=>J~EMXZtb4RswZaRa`+qu;n8c|XdMyvAYk$O-C6s;HWir=HTfpGpVL$7_8Fj~ zYxew!e=tznK5AESPk8o#z2crN&xw*Bp!eYH7}#9FoU;&%sZQ-od6Gqb6; z@SDfc0DE-9rFJ1|`Ht_2@dJS&9>9cRDcQXa<@1@(`0L6=KEg9}J%a7Je0 zC8qLQZthlm7bG+5wpR3I=t`t16M@@f#A{=J^B*+Fw>z{=-tIvf9y7t~shEd_$>RWws= z8JTd42_Xt;kv(%B8ZLHq51rwjN(niO|IAmJHE!m^lPdTJSSm;xURZK2N=i47@J5}V z(!3oKpBB|O?>yEVIVI!)j{quxx7b_vd;U$M<=;ktL~ zP=$MtvZ(X?7Q5BZntA7#!T|y+i3h+2^-xFO+BaR}WrK(S|9MXcTi#buZE(+7t3pz% zAxs-tl`{c3DcuoOmAmZhFI?CkznCTa>n(#8St<0gH+z$EvIiTi=AjkV=IpN8r-O_L zIb5(}hJZRaOH-503<1tN-5)Htia}SWtDn@Gy)XEsw4x<)d($+U)j?U-g||#YtU7Fe znh<+>1cm#%T9u}`s;M*F5d+^NVXtDYLK4&tklm;UF7RN{K$s|1jujz^jRK5mwEyPB30_*Nlb*bNdMz^E--g zDmV7vyBvgKn!&co)P*!2T?;8Pm)}**QL;!R@W?;rwv*+8TnuS*>)O5CW#W59b zQ}!u+p=^-z_H&t+>fV~*r`<8{_{}<{eMFVFYiJENV!A)Qh~>=T$_#nsEnFfx@X`|I z0)Hvf95n$&GO63u+B&QeH}5;EPa~N**o`K%hwu*V4n@qW&W2lT_$-t_(7IX80G(Z> zJNW+3liM_QS;bi%G&{+pfGefxC0#jvhk`%TspZk3E}Hz8N+DBlWqLqyr#b6o#Q}Mx z*S%H62GQl>i!~rVC}zTZ7G6CY+fPy0xu~%`Kz-uH=Q!zFqH^xLw;P5x~_Kb&2kJiWOP1$3!dm&hz&)opneJxwtGNk zk^~fn4P#rOLaLHmr678;N11@E`JpydUU!Q)n00K_W4fB%ZFA8CiO{WQSxMSR)tuLi zVKi=@*3{Xwo;Ih+_I<3)i8wL(G{nT;6l6cP?OY2-xQ0|CaGh;dFWl7;jP1&b~=6{&{mh&5!ha`ti4N&cf z18a1_IY2khVHX)lD&RfmC=J}v*Lqs_SouFQX%WZW8dvya59;EY;cYA$U5hX<&p4YC z?0bF7zh8HLRxR*mEE|8pZQ9ADXA!*ib|9{fj!Zdcbn&eZ(X6PzcSP`;+z5<4;c{|V zB-GYM_gr?Z-xV59b`;>o zYB=MXELL!=>BF3!_4iSl_tx_9nwr9%1%;H~mMYfGqe< z=n?bdn0wY!E2elN>I*FsKf}?WZ$KVT9KJ5ms|&8`bmBcJSJZrvA$EspRt(CMZ?6D5 zB*4x}#R%;lWRLJ&lXg0xe=2h2{TUJIdN5SuJTcZr6rSEJ6(;XAv&e&Hy3n80#%d&u z*yyW&jztrDxvbmJ8MQ=jl?J27_u; zlXi{9CowHn4t3QYjp-@X*3otzUbw&WBoTfA`zd92Ql;LFBR9ToD}8qtHyR6kU#6@h zdyKXfixJnGkaNB|(y7tZt52z^osHq?ov!A97^o5-$5=)}PdRwv*fzNZ}`SyAwhKIlJXlTQ3U?#g(=lw~OLk~JkJ90v+xy>?C zGGc1p4{bPGrn#Vq9y!G2A=zwQ;6)>PJ6wuves)#{s}iwZg=bg0&i-H&|H)rh?K{KH zR2Ak1l?h{b`VJ*h?T^KByWwAQZvWqb97fdkfAg@Zvl5AlOPj2D>icVt@t05cOZ!VC z*vF02uWb}Xdry6420e9H4O?XDPYx9qHGIGwjvGA`{8KvBoemO~q{=$7FBnM8s_n;F z8AwePO6VBR@xF569GPg2T=-5DL$zAwYA7RCw05ZXWOu1{bni4`S-gZJTP>SPf6XcJ z=xJ}mcG68_wfKr~mDk>aKYLhDs=f`+&y#Svpq$G+Ak`R$zhrVP!u8M%V8Owen&;8M z7C&#@oB>x!7YY{ZgVIA--t>%S%W-D_(v8Q2y}2fai>AK!pjCaW*DneuTzb!*y9M-i zq>g_1OqCJ7d>ZxC)^Jh1^&Ye$L@eGY<~Q@mu>E)AKX8s#J0{z}iNHKwrN;NLi{cO! zdtQvA$YSTWSo$2tofu;ZSR5I|exS+=N-sq}`w@hf^J%!Ijs*@cG-Vh&0E3}fH~Z&A zOMXk3dSd{8Ua)__=;24BIG#(^>6L0+9B5I$obUmZez>7qoH#{>F!AF|CeSnV5T0uy z)pl-FKdq@n#vUmj^S$DseF2^GvfBBeYwa=HRJ-7@sQ9Y)iF5R{+>Gg+w>~yZV zB}zP{#uQFG5@U@4iIB!8xiPwKEjqd4=&&rgak+W`{Gn2cdWmM>adp{4K}Ukm?z=(_ z;4QlvSk(6VlTY8+FI}ogL?vu%?b%l@pgxgSAtH zfLwpxSTJDNq6XX=Xtu%h&Tib&mbfve3MqqC3F|>S7nyy+L#w1nni{`1OxFx|@8MY} zQV-KCVrzT6T`JOYs`}Htxkb~g8E8$P={N5f2f+pDnzO*&uyaaSIBeEOA@Gi)Nwh^D ztAVlRkDH0^cg6!EIL4iRcJ9c8Rm^#xyG&IofZ)FlRbdOQz%9~=VxEz3E_V2^<|qYy zWAlKsPdAjOj-f9yL92(;X6@TP~A?p$buBwhj?az~ixF=qRM_ChU2kCou9 zY;^v?Vr)UxgN%HM|K!3x^@>OMbD72I(kA8Kp>KMU6_;P=ZzLjT-YwmfQsGZ2-ugm# zB`{nLinA|$M>iN3%rZl8>jv8qxG&0-o9r?>T-8&uIF2CT zTOmd=L*-AFOvR8qwQK#=&o1N@INxko7u;!%FV^eN=&T#+=6@+4!E3|U?!KUBQ>`S` z<)LDNdnf;{s@8Gb;~e_HJDlN`)VI`cJh&^!4mrHK2f0<1?f=pb&4@IXWN z1NKEM34wPiF;5j%;_eQH&RNX^ySxL z0e1N~&5KC1caCe}$Lo8V2|b@OJcuMbNR{=CyCcfp;E+oG(n$OxssuRUuF|P5U)YWp z7ikH$S<$otul)2!E;f76pvrfy_Y1J%)O(0D}@^!3+ML6kV@fD4Q-+wu%t$F zdH*=Ww)ntLptb&~?k?gJp9Vm2hsT?~`FqyxFEFsoarL7j%zY0~L08l91YTBcTXLgOs#%cXxMpH;8N+DXH^4n{)1W?--0-3|`>JeCJ$q&9xqI7bZ>= zWs~^|>*Pqrtaw#qhjae$XdDvgUeDUJ1Ciny#-*R~%+~aFTXjD#le-8sfRYG(7c* zV=3x(7)052hvEgj4`y1c7SY^X%Wa6DQyRW`Q+(2F=R0%0c8VfP`;!zMOpu_$C0%Pa zCpO{+Ye$oxi8x{7Z-&iKfqBZFA8i5t)i=OWB>>6JH@%1ptp&;h`4bjp$RinK{4!xf z400Z|pV~5z*##Pbw;8{Ul|SM^#Z!7H(EsG6T0&WuC&Fd$r;NyVn%PzdG8dkx|G-(; z6Xx|zg;(k3%lfDscIHj%_y+Y=qx7n|M^8GjxQ}%ifE^+SslTRsV>D0$JMxq^ma=`o z00w^*+t8d3;nwJu_b?Qp7bk=oWEvo99kR1L3VXr}On2{eEn*mG<_waP@h+iABj~&Ow)9AR>H59! zLWH1bIeg*F<~W`1Qs{^)W)5Uip=+#yp>SHmCt34hP5IPEGTChJ_eGIsobiOC&snPh z<)iv^Kbuo&?&ZvE4#{jD2^YuRu23K~@68N(0FgoD?*+k#*slJa;_d=-wN}+PJx4A1 zU+41oDyu3uP=uzc{(NGf)w*nA@|toJU`ka`9zQn}JMdh#(|C!;!Pvr4X_g}vnJX?< zZ{d7%$dbEJ<;i^&SN|L#ver#NB1VbN&QS<#5}JZ?Yqi}e8`G_7B8P=jm%Yv>73a1< zU6BFe^9pEBA-Nw6>QE@Yw;*z_oGNcgsDF9*&r>Aaf);-djRS}J6XRhiUWCr{ViUU= za`jJ~L@Vn)zj4j`s<}G9EX;NhW#d3Mxla7Vc00aOhr*LqAiUab`ik)jtp3AngZg>4 z6O7KI{es+$b7>*?=03UDwVdY>UNJr7t4BdSVo5oQrCpe*K3XS7qhAWRs=pRxEl2QK zrBV(R4xjsqPo#BQMEjze{Gwqb=)iAy9X-a6D^Yn^YuV9NjSDNZdyu%A0!;?HIfGz> zRMGjUL=}TE?$d}_8Wbi>zfOlO$|HSd9~?9BXiVl@aR9n>gNCx;TQ^LX3i#SjS)9*W zxp0ERv(0|o_-%r{n@f?YdGbZayw!8o<8!&i7Z%m>4LrIQo4a35z{JFrSAMY0dFc_) zBDf(cG0@`FC&BK>46rbf=wxLwf4RMz;I2Z*&tbF`U#58sSUCFtL`Fs>~nNCYi@tQk|UeffQ)d-!apL^`6ij37Q_ za22@i|CjoG6ydNQz6A;hy#M>%XUYRbGda&QYL)4(z%J=B$Y@S;WP3 zzDX`PfkF-Qhw{T01$V+;N)&i#wNUB%k4#^V@O`|FSR5GHvx&?XDPuh9SbzwQl*pb{ z2%ZKrl^O=-@x2scxofl^X^Ytzb4XtgNU zac6I>$2o1`Hj;G&GmNV)yE1TByy0Gx;PxXOIB!FUY)}7P?SnY!jpPAe>UqR7PZq-x z*~m&oQq?*-p`yyGn1_(uy5tb?!JO#CGtoT5ZA_7{{EG84ppIGsswkt@Moo&LMfHH@K#E=IKn{4o1!Nu{cNnED?Ei8n-QQp^Z}U*a-_L;OwwlHYyA*#M{oE*T^@H>^4&xR4e zoJy^F^Wgn)cXQuf46f&~rom5F?}ixoat7GFrBLF;SSM8kdRDSvwCv9O>&>hE0sNac zs)6_&i`?zWda4WW7Wg8UP1O;w;SIea!%!K1hMlcqJ;M#%wU~eZgdW+}USbRy{a$HwST{XrpYQ)`1Bc{Z3%UbwqtX8-`tYD820+BGmC?X=(w4*B~ z!f_mmEk%fb_36$NKfn5$;e0W3^h`IaFL21!heyR3Rw~&|X+@ZSh9*$V%c4hA*0y$VheyZDA`*sBz|7?|`z9`D)r(E;iN?~6kq~;9~ zQ`JHy>~^!xomk565}{Y|XXnDM&`jc$Td3qA1WcF6YcIp`dthact^g7CU{GdvcwtdU z9i}~hp=$y$H))PxgV~h4vLDP;&0{G*I0)7#drS?1$dFt$Xlw_^$5OKA$M8Rk2T@97 z#xjjqDur1=sMAA1!Hc;UnX^QopN;SJK6Q}WSFQ2eTQ@hffOrIhq^el4HvX|+Amo$F z_k6D~llncpnhl&>KASLXl_^LI@!=91Pjh7>plsLG{!YIa^dEWl;`cAxC98*Bwf%mf z>bKKQ`q^{Qp>%mFtzl%f`lQ}BBzO}(0eg1?DL%mtuJw!u-kDnm`r{s2S#y;p2}R-8 zwq87vYe+#ak^DNcL9-m$uVbCt9i3EI{L3S^qm$w^hR{q;&*;EwAi|&>nL4%RI|NDw zto)(Nk3v;dmb{LNOE4876liCdQ1O8?wJl_FqsTZxq(1!bORwUl^P8mOVqTIUV{kZI z*hsicy(K~rXvt%e!eC8`fDFU~CMnPi;B}DSzG;a48L}?oj|?ky7xN}0wa3(y9@eh9 zW04@E;jP!`E*XORh}*}isYz>%3my`@(jhv&j{BDhjNJQl`P_+?BBn!i0 zYo!VqzL*s#&_~NpXB!LWIZeeBxTyDwB&W@e0m`<&ZNED<#YJKvkehqA$d(_SUrXi6&eWbQ zL^cZd{HZ2>-WQaK!#}=y)XD9Wh=7(rmh6E2a+puTh>SzsyCjW&{oM~~D8&E7|EgWU z+h7j!37oYb0Ut}NQrbslsF3LW3GVTm^U{ZRvH6q^HLSP_;v*!;F+e~ZM?nj*YzJESxgZ;eZrPhBs;y8brTPDghy&m(; z5GChUM`4Mg%M4?g4u9dkfQ~-JvVTB4CZjv%%RFZ4UTWuB*q zQjJk3R;tMtV^ht_P|ZFQ<@oaa^`=tT$(zx)?-$k|an4htQ=P-Q1ccY9mAtH;5h6y> zOgSR@;c}*iQVAo_5Rj+r7b$bvYiW?bZC!f_6_k_k%A)z5;q7wl8kV9}!lFhLmP$E4 zDOkTUz=QB;FnBGoBAB$cs#dZ`IG5&|z=mZ}G_~8Ae0x{sb+9}q#)R3@Vr|=_T z0Y-eKEYF)H?+Q04LL}kVU0;?y1-1R_bDGP0trvp{v;Pq*unI3PZY5>xv?oS z9vCb$4RJ6HPj!Ke`45Taz40VZ|rW6 zzS4IU_~_1-x)t$#KgTA~VsjuqGt~4)A=(@8GFrq2T<}L86sGB0W**!}*%kGEj zOsi`x$$K#`83_9+%TA1ze`}r$JO>qfLI1kGGW|rhDsA12OH!3edp?Z z>a*fi&a6le-5=3Phxem5wuBfC_x1NP&Gcls^zxqjHsRC^(F*i_n+q(em0jAL8m{0F z;eX)te$a?#^l9-B3$W5AIBV6LeBms@Snqv?VGUeZJeIQ;3jo)`X8R0hN1n6=TQws z0yjz&qA{gsd@OBz+dWupf-^xV0uw`1aG|nfb{{FO+DF{=vyZk$^+Y`aPIiq*p=YNo zpLLa_e=GW)l0MOUsz<%h78&*dw-`P9W3O`W&6Z|)>r`r|nyv!st*vJXWH;e!#!-zL z-aAyTAMf#cn*+V$!V6RG^HB z)@nH}DSOU&7RB~%#5Vjq@|VU3G-?LX<)Z%l`H3D%ffJ0cZO$^lDR|+glT@>VN$W@Y zi!HBd3;#AIyDAH>_9bp-1t)Fw>HT%=`(iW0Spv=JS(zOd3YmVu;Qd6)a|Xr{TG-CF zFPy#Gq;s-0LZ==>xX4PyX{u5vFus6a@{Hqq2I0W_#SWCj zN@dPU#Gyd|*Wj9{=V^$G1EL&JJT5xj8LX}iSDJ}QAhJ-34H66O&+BY=NQ1Q{YMScx z7^-omGDcid|6WHvGOt0e0Lx?{t^^KXUUrpn>}o{%x2QT#@ceReL}3poa!(oHWx?r| zxJGBJM&tPGNLcXx?Zz;);PX@Xw;RDKWBU^lJt<=TkTf8RIS5OX06txh5C^DR;9EbQKS4 z3g3E8*A)CdRgZasn+z>MDP&7N#lSa+2_@likn5@R$Xq#Ph?TQT!KjNQd&>IdF-}(mEW9`R1)mHcZ?n-j!#E7x`u_N&G>RY!H z)TOhT7Sd4rl(gZ!IDOWLIkftaN=>EY!+BbjU(>)>>_ZRCt=x*5m+8T=q^;i_%8z5Y zQlk@r(bQYCfQRP(-{%y`>)Tm`93J@9>x>2Fj2yd>fI zP{|RyCAHVFPe_c%rXn2j3lPL{k5ex?;?0@eSIwZ~ncUO0C?@N@I}kEmGbgP#Q~q2p zg_~scIi#@Y7ZkD}kKl32AM3#O$sL5F zv`%EL(lyQ0gc6qz`%XQF&8Q7f{nIJV6Q^>0QdVpIB^5#yXo^1)X^+mD^DRW2$&EBF z|M>mqjY=|%9)UohvhfQXQ06QbPUg>-C>MT&r!uFzC|kSerZVeEgttP8rCw^W_ss6S zstR6xc|MVPkqr!)FQAkvx@Gmc7BqRqzZysH?&M+Q8POdnhpUd7g$iPxG!`g2N&)Mz zrzi2iXnhj@A^?CA1cm*;YhX!<1u+NWiT(g2`5K=q>=B_xzhL4P)QvbB>)e$R{hGKh`roUo_Bu3%U9DK&g1BvDRE{ z``WIF5z4`_qUFqk?91#ykVH=^{-|Nm_>Gv$`>AV%0cC5$P}$W_%#Va8Rft9*M<2yq zDUKH3R0R65>BXcU6b3i2@^g1IV8|?9u4U?6WsOvoE!K^pTyUBH?dH!jzg!wnYnFqz zfGb`ri?i9q7LvJynz;z}DU=U{*fBqkK>qZDKh-r^8RWa_FAwX|*Y^H_!x-dwaA@xo zuw7blUc6^+4P0m#KQJ|J(Q*PybM!j_u<1|3)HoV-Tw?#a+8Ec+|A)+77&1#1-0xRX z=!x%HzLx3fSMe-R(V-1owr1S(41^YDMR6Vj0%NH+>1EO5(rfjg7AWg(CL;UvgO6^8 zQUgPh{1mX?E1hY)pU`*3USV9ngsZIy(g*7UDkL7zd5S+YV*G7K__$%<^R81Iuly>!eJ+8DD?6^U_}EJ8!32Be0)KT=uF7HJY>(vMll~K<=JWVYB$nUXUXy zz29&NwsH2N>~Ri##;DAS(Ou4;RJvNd=g1>{a{}i;rTt3tF(Km&5w@44;p#Q-8f+YIrM zL;L@wQW#_aqXOFp096sDZ<7E<%PDOq{0aFXg1M_h_LI!ycy z^nX1S%5r@LKPQbHW7~Gmx$0L#Ri-h6$nOD5e<%dP7L=Lj^nRV7Km#C!@n=9(9-gpE zr8svb0w5uV?^=0yQW;j7E@t!u$PSxWEU)XkR@B>BdbX}y?JGRU2y7&C@@7hgqALP> zRhtP$dv~0Hk_GkZ&nlo}b*UWG@I+H|sgUtL$f;gDVQCfj;9a50lPnMzszYD)Jz@ug zb30_a#ORc>hbwc6rBe*&T$Qe@sbQcUhv{gd(xkD#qJ}pRvO8yKIjcH;iw`O7Xi;P# z-yL@&5v`xtuhq$W_Hm<%lz;1`L5ao%X(__WJu7>8qxiH7VTH~szAJj;QvIjBL!rkn zv?S%jW*QnRq7>`2?zA?+PEVZ@8J#pEn~YVT<4ie~wOf1S#x97~D!*dT*AN`*Z%*=A z4?lhCe^KH(SPsB}S&EnT2vN~;v(q(EtGmRfQR22{W?V574{7f1Tw%x`dYUIHg4X#Z zBf~<-dYEK+`U!fucVjUQoBodY4IRBhcfW4e<-jm;R&g-8-})p-`U9t+2=}~n*sJ|` zEG!?xocYIeBOXF_q9`6K{FSM6Ub(=qJv+`aSt{7~QV zYyURqTbFe9sbjQsqNd>Wt$#sn?q>{t*~(C5&qCaNY%@pXlR$dd6J!}%W>1PgJ?kop+Ti7B zfsn?BzeSU$MCFR9j_C&bFP2LB3*1o+p1g{sa2MtH{?(dXt~ozh8y+nY2-)BS@F{T8 zf)ki=nllN*Ra6@IV1?%!NvdvuO->YorE=;x>=MSgMaFu<-(pG7|A1+BP$uPE7@!QB zkD&RV%fl4yR~k#vc%W#(>-euU7Ao=Ks5)>AaKP2wMkf}<=SKo(`?w=MqEQrvO;B&* zYXhxo1dfSvM<u>*^m^ zy4F5Br^f>546jLFeHZj~4WM&1p4^!SNkkbGmBL16;KA4ws9OgkK$8feln7{VFzExB zYlSx#aA02pacJM0_Ni~{LDTsIZf~u=dWY8L>54mJRol(-_MfI46Q(8BB@KXY01mWWjGinJpr2UCZ8R}6zfqvW0~O^uc{ zi)O8XgQ;P8CN!JHfbr-mY-4Z|ta<)fl*80-Zv^P!DY1VAEhOgG7yVJVv{k}$WQ83Y)B0O0*gIqh4V1D01 zap{$PCx~qMt)e8$sXGDggh6Gl@JyYq;KXn`sa6aw-M(%F@3(s5P|1yx7e>6^zQXKl z2YSivcVbC5ruy0tp_V3df$5zaIhw{Ee@=`bM^e&s0%nRCLhn#awS$r|vcXR#aDRd& zOxlXvX2{oilCk2HyRcS;x;FL#rXpgMcWfvR&)boX${?KF^CA}n?>Pke@N;vZ(}JV^ z*PrC55)@Tt(pefyy>r({Ro1hh6VIEsrl#tO(!V7omj8ef;;nrbt;Mp3^B%kwQ8w>MVGZ=35xMvB@;~Wb4HG9P%_&u=ka!>qb zU>$B#u0FmwYsnfbiu zqC5woj5vFlO!(cvrefGg<8(+eIYlL)PEjI$BZ^uWhuXwaR3eUi&%lVnUZ76aMiDd3 zKxN=Q<}6a1CpX=73|1zbU2*AL5|P3FPt&#-BzobWi>NEX zHlMNPFu}{Vi=G9*o>We-o1ZdKtBeCzNLGeR?I}Gu6L_EyuJ!{qZ3b+nDI6U*r+#9> z6rcekh7`cxC ziKb@oD{{u*{CWs`?WMuF?0sN@J2-kiKWll`{cs1z>|6EstAAmO{_E%uACa2xBgRLt53Y}bKK=FQlKOJO{BNzo@jlGxxwk_X#$`lW+k{!d_ zoh&3K)pzoeh+8w-JV&}u4WEgxX(|<@j$*?Yl}3`5ZF%2pyD)N@qNC&2T9TUc-+O~D z8;81^?)q1wMoafu7hD&eug3Hau5{hECv%$(ewXN{O4kudaD(A)iP5V8S9(L#?X4p-l&Uapm^`vwtg23 z>Ol5Bx1yY>iR=u^3{Pcu?_aVy(PE}F7~eDG1D_B9jH*4t6vYPS+F~y}q7qyl9^?C0 zPT`0wwKzstBj%K~KWQ6LgGjy52xY0xG5Ec;Y|U(_?Ne&8q@u0++`H8>IaijwC%7=H zwo^D~oyJ4-l^+nWF!qf11BIuDXaabTnGaWu$bkA3C|kH{IDC7abLo5mB^XsA0rtc~ zvCT&=RDxlY+XDv5$HvNIze5$g+kTdxn<_4^UPz#2$x$X^1q?VQD=RWRfwX%Z8p zgCWFBvL$O(Lnh;y$1~jFRWo!B0rKsg-=zGSf24Q|nho%deyVy~abbZ! zAwh@E({rJ@u53|O;>5QU7lX8-q%BYV0IKALo9a)7eH!JgUFfAZCEZTMP?z9$8io>t z`~2FqEaETj`)Lk2+VUNR!2^C@n$yoCrE@iIsOMQ_8e5AZ)$k)fHAUm*41W-nE^#gx zuPV|g-Gs}igge-#crDx+kftf|#EeXHoif6i2~}mE^!5C0QOUf3s;uVpVr_~wdzzun z!Us5d`eLMroW>yzJ>)srGmY%#ue)moCU?^`jcza}G4-o8?RUgPPm{U0!OW3}?wT^OikH_L-yae$AcQ>HE9Yf?R{v_;A7afZTv* zI^q7uf~>TG{VGInQEa{f6y^es1P&1JXc0j_rT8n(iJOZB^b=>n3hB+PJ$Yx+#7axzY{RJE;=Lr`82OI9ifzfLKphfWWG=L<>ahhRH ztguSwlla&tXHOZZ0T3;5(1caSd7MWIs_^vYkynas$mE9U^4ar^#!)QAV9bb42#*2Z zxQ-3d1poR%puOVv$ZVCufZ0y6r&TpFa|?UWiHg= zS<^8D@ubaSPHf5NsJ~=wOIPE$r?FhxFbV~)Ny7_!Tr2B%lJb+Gon>w&$RbI**dy0xUMlM^sMcLVJ&HX)U_p2%%$zJ zJ`XO{`PRMfQh_4o%!|aM6w!YSi zY$Kmc)oJRkqv{%vS}rs=KX0zG(&`*orCQ~0LhsACeXuZ6w%fgYntc~_GE2n0=KQg~ zi5A!S^zp2kc3^HSv-O9}qTUTiUUygwfM3t$pgcr3^2eX0`UK$w0 zmq@e$S8iic^NP?17oo4`UL|u+{q^mq9#Rjb__kMI@t-$QPPemVjeJaA`LAvQjq8NZ z=Mk)-L~jvB{Bi+)7et9DP;KIfJx4r>Lki(9Fa@GP$YQep5x0c^w{)0b4#lu++db#w z=7l`#MRlVmdo=?)wak<~_T(c}VGlslV*mT>j$-g6Ar3q|7NdaucCg#jY9871&sQg4 z2Ng`0BSHq2GnHv4S0I`H>Dqtb4#`HK=k4e4kFs|C4Is>fSQ>Y@W<(%t0W#q&K@){H zLk4Ek@&ew3Rh+0QlW;ohG?q^SzhX~y=^V(0|yK7iWjkS{*12b|DKg^REB`U3(-@x<{n)EJt`tDDvLfY%1&fj zeTbVg3xX0-R|6o=_H&CFhN9`#Kwt*N$K&5?;73h&#{5{8RZv;`G!g_m;EZ0xZb zjW{UPsPSqY$ob$BEi${PPUsuIvX55VM>IN$Hb81Dk?>bpJX*VM^UYh|`ay;hkFr-& zRP=gUK*lxAW82942}@~!_*F#59^defBDDBeRDmWU`%T5)FW9%{eyeJwzHNiz?2Zw1 zrlG#+AYEH6&8`jA3c60}rRyDS)rvL7)yRZc1-{GJSr8J7Xd7E_X(-C$u7PxU)gCUaJvTC@jUrn|t&PNh5nbl4(%KG~ZrXeq>6;6!4&nK*z29B$|v47p>%KwleCnYNXvc4V7oFgP5{0DA^ zb4ZK05Yr=8S0twsQpX!?&L@Wk!26L2u{>|T2Oz&Pxp4t1nit@Nj1rEURKgY)}XC0hk0VtFZ-eNo_3phb7_CIydA0Y{i z7OsBEfCO*(3WZeTJv+W_J|a85(YXH{2qU1lV-ial1;t{I6BP=>icuxcZAAVIf8gRE z%%K{AbRI<`%(n&BP!pV)@fUO~A;p3!5u-_~NR7l6AZ+VLw|(me<|}4bJk9qNt+I~a z(PX=5I>L%hg)R7-ZFI8UN45OOqoDv)pt*uhA1z1E3i1a(fU%=ZZgfWL88Ul;B8^BK zMASk2(`nATW@WM)Lo`x!zAYCyOQL|mAZOkU7wkYXg|$t4zCVL<_-LUf+g6!b@4su8 zDhPcM5+Q9%zpNd(7i%a-;CShCaarfLo;5-K`;V!TS3Cab6#3b0T62L;>=vKyQGmzO zgDC@!MYDl-T*@8ooBZbX-bgV`dl%{@=ihf)V#`il?8wi$>2m9QGI^^k?|1wiBLhs; zb(QsTw-1!d;j6!UI8lk)UtthJ^R4ad7*B6gd|q~Zl8!+ZvOcnLp;Ronbdh2%Ui*e= z_$lPlZtg8L{!U`VbEHdKQE|pp!?LmFz~*p2TalBpRa3P!wVOKj@g58P_*L!)wcFv4 zgMy-xC*++Ne$SBKmYGL%d6U;*)Iue(hAU}xM)$-+LS+NFnWF2_g?B1}xoa(XC+;^E zXiAb~yC=_HxqR)ii2MR`o#zK`-f&|_{xtgY+a!1LUmn$TnZ01VJFH+8J%3kUb$qjE zsj!y2aO(l@^fZ>}rt9xCv5vqFUy7q3e^@?;waPYq_7_fGk^n_YT7JR3m6eNk(ixW* zM4pF4Q6#rUF0S`)Jt5pyL|{tpLc6YF6N{$c`Fvy2k=VuKa#*RDc}Lu2Od&VBWiy$r z8Mh>MOA{;acp_1ZoF50BPQ#P~;}&)^Yj@^(D6UD?t8`<3b2FdU2pVKVmYpsLw7qe4 z0xtCx)Pv^DdJKm@_c@%EK#_6hT^}@ee_JXA{sTuf#_yG9w*O$4spj(cXPAGK>lbpG zs$QksF?>nVGQIxJB<~V2TVk9~@{E*yOs=Iv>`8q1>NDZC&35lXD0YWW;#i=2`C0NZ zQ!_f}(RU;!}yt zVz`)5cy<~#rOHxqwZ1)#4DpQe?kV8R&uh~^jcgE{9}$W+2!IJAOjv0NC=v>aP1un$ zG~knL*!ysV!dGZBaCp%&I_QdpYS>`%^9dm~;LFKCD9jal^oab#Is!4C`Og4Cg#j1| z3l0|4hl$fzW_P*&Ad16GNn~VidBJH>Oen9+kY{HenrzF~KztK6W>&Q`y`tmxA9F6a zybT#7P*6K!1(XR);1hfvzs`P4Qg}e1kE%A{I}#QupiKYkeiV0A1plX9YL9g8AX1m2%domVCX z?wRRw1zo;u-Dcm9|8lSU9j*Um3?F#}f7BJ@j4tU=N!=QML(TLC(SO%&mgDM`$(KH( zlPJ$doRaFDl#hbPe#FKGK=a`KY^h1&kKoex2xCy%GuwKSE6kc_YD5dk!9TVwTl!|k>vm+Rz&>kl?A@tOx{M_Z9!VueY1 z^%dKla+YD-Y~gtp=VmJ@mAIRBp*JL4oL*BQ@0Fg=^Xpf~teA^~8X@1FWQIL`LDRf| z+fjU^QPbA3Cr~ujdPhep$g12|G^w2_;_`m+>xZ4K^k7r9gXywchWEr@?l}K^p3n#! z+W)h1*L3MYZYyUy7KYjK$`PzYoW^2OO9m=9*vQqR@@sj{H|2KNZ8m>LUv*DQ-3u?L zR^4Iaui+7EBvF%_W}B9COEunfl*YcME06o;^OZ&CMhIujrDVz4RXoY|=}VQj&Ox?u zH3E0W3I6b1Q-hW$m#^+ykT3mBXclH7J6D;%S$nlcgj4D}EFAqc46EykaLgK*+`Awg zn$urqg@Z6Z`@5FM2g6oISfwhGd`pYRg0x zsYIqK((4yzk0@G#Di4F8(w56Yam{(7EJ`-9wM&*4DRt1SF==aBVf6(Ad%n!Lv6^k1 zf(ByOifp=!ODK3I__(3}6tIh|BBy{eOfW0E9wwT9O#;PK1_C4{AR({-{m8nSw~Jg7X)l zvIx|)j+k4Zwgr|j8hIBotd9dap8cw5Z_r7_LBadTouJPW0Fp|dnF^bx06O!#Jkx-0 zOO-nap`CvPU-xA`>)YvP@n)#)pW>&W1S=eUD5dw=!xcSrX%#&nITfn-U2PIr;7gV50>H= zgpK=qjP^*A+%fIX;POiQUaeKMO_hC#oO)e)Hvm)CHKF56`B0($Y?T|cFzEVf zXNluAuPvwAuNx%Ao0?BzKklZaAe;p@`K-jH3W5#FBg;(zyo3=s$>^@A*KK~pcV?1_ z*^_H!)3tS4qAQW}GtC;@HoGt0dY(h!k#Y?}vAxt!`dEhLU%#qSh1haVVo8&s*fm-b z3tUJ)`xqoGm{0oAX3m2!&YX{Ja@GGuu3&DHpS@H0LDH)~Mov~Usp4@DH!X!c5p?H+ z-_Tw_{SX5n`R)Z|p6!}P8tazRzB5PfNc+J|rA#E-aFwpf9(#mD3faww(dupp#YG}t zq(MkQW=>(wGaYo=h?gRF0CE6q-~ny$Rq2xiY@B%tR9Far=CPs#umh^qcACK?nasr) z8>%x?Ll_7LW5l;Q+C}C1_H;5SbDFE4yp{MG{qTv9X@r^JJvU&W3+RMZj8DelL6`tm zGoJi-`m-}3fJx0CKn-vsHJ%@uFo_D#vp?mYLSN8&Bxo~RjEji`V$fo#Js||6rsVAu zIp~DgD@w5U0Cvcw*q%R`J;abc`}Y$SKekfP3DrpR(TUsBGLvd>lMa+b@RtxGfqa!U znuJEG%O6ZRf%fv&JF|*OS<9sY*J-yh8f|BWj96SAWCy>Eb#O7{s7GfB*3<+=B#a27 zbyaR-*GX^M-nJ(=Wd=DGaYKJ=w)dK_W49Ug{UB>w*MtgmX= zeb{PietfTRQsp^k#p01$MZ!}KLg??Zl2NA$HBfwtYvK->sG8>~->$}t`#U1EyI&6% z%5AGDZtNlK4GHIST12Kw7%E(IPICL0eO}WjU?{OEX^gJ@^7cJPHB|=EYN#s2H5}^u z-sr?d;7`5P=~DIlpI|zdephTBQc_l{t=U6QRCadfvKkYgv(YyXV2N32k*Kb=GNx9Hp@J_hBpuw>cA#|29%Lfs{?s;|FdPCi z)?elep)f!qAVYYVdWDJA41ZDBch#6JRIF%9Z$@0vzp&IIlMp7e*Mf-Ng@$*MEsO-s z-Oxx7Yf~E&s4`v4Xq3lm>8OnW2U6Pu-w0d{2vsSVRYXp)AqO&gk6oAz$>At5%_8R~ zg|%zuJ$G55WbfnjW^>T;*jpE4U33)56hoyj)5UiSS`V^n`J*^JtOS-NXo^~)N95}U zS&RBZA0l2OXDQ?`2>*6dccRYhdk!y?VIQppEqB2Xv>yPyBwjRMOCIZ)<}(rAiWa3K-0u6n-V0 zaeS-=;jEFGo+*cKxqo4`)g%`$klthEy6oM(p>sycKa6S(GQT-h-QK5?Z{tnm@A*wN zyL1*%Sc zxGlLNd!|f;mB#f~C#e<$`tPB}FD9V$oJ;yebWJY%Kf9vM^7a1+B%%xn>4L!TJq}>MgGh=83X6yQV{&6k^A<-vVML>|D^vvaH@q{ z#+%8GdUvvWl2P5?#kut zR491{p^O}M&{P~;HT(>`Cy=7d|8^ijQAnZ$Zz0S8@0lT74G;9EFq$yp4**NvEaCka zVFtpC88{ayBRs&BNiPf4Ixye@!^MzdJD~oE>{R&dKm9@EM@+^aKojP;PUaGo;&?vl zQ=m!(?6K64FyJmkQQR@+;DSKm`2HBoj8Ly*OK^4&S6h)OY{?b~sMiicgf{F*B|bXX z=v^qS$kt}Hc*s*`*q|dIM7iN(%z=WD0?1NCevrDu(hIT8SAFD3pdJr(rnFr*>K)!i zg_tB|?$4Md+ts;mb5oy7Jr%o7E_a2kw2ydGmlWgS@ooQ^6sGSO?(8(t@*N zH*HI2^)^qB^RH}_yXBx8F5Z*XKjZ8cnLEp{KY70}cpnKjuU(OPyDI=WxHN@J{x*aW z7fDKG7s@fY7{J?FDI0sKEV*fig)%WGMG;<0TBI=clo$+D%;eBaFGevZTgc!J z{k=M@J1GNhQ`nD!wIXj3tKYUsF;{h1C&eRLrtf*3%ZOOgb8&wya*$N1xe(e}<=!9a z!8kPa$DEtTF9s{PXHzpS0H zO2nMfnUq_LeTZ$5z?Ru2Ll4J);5zob!$rXvA_%^E-%ABBApX}MZv-5ahmTVQ9}teC z_2YE-W8Z8okQPY#FW>eo?)&-UTL}i}EYfIwA6`_=;adi@zE%{s1MviShrQv)e!jwvBW3gOS?y?0D5X_`|{eR&4 ztZN(Y7wtv*-Ma%kkCdY_;4<*{Hi9P-aCIU#7_8E%zDUXk*(tb_p?s^&z%Ot7j&}hj zR!5#aW`j*9lCxJ|CS~0K$+u>cib>r`RXyB7n00&WC5xfRj7Fr4=rO_` z1Mj8jBCkf=KBTt%^2f=^3n?1c5*j6iS;#kk5B{$@NU6ka={^{FE5z82FN|b4unL{z z-{nSEE=iINR=Qd0^3vs46+3?s{k(w_5{N+h0+YcYUvI5znm3(K5zgFNxm_Z!&WisA zStWgSnu~c;5*(K`=T>FtGNqkM_|>Lhxh+%(lV_+PT*`~s(6{9w^%IUyBJRX5;Xk*f zpE=Yon5sMvB}ogC@ia-3o0g|*Lp4xZ>~SB+L5Cz&&lAJ`fsAKcz%i0efBAy9GYNxA z)QF)}=sAML`LkqA(sam#dR7qvBxudD;6>A?b_vWq<=){%E>5Zyw*Obtm4HLNe{YOX z)+k|yWY3nR#xnL~SA(&yV;TEy6kTPD>{}*7MD~5(CZfo`6h`*Q){G?;>Z;rQf5!d& zACCv~9m`|h^Pcy-=X^g0HWzbH;EaIO?l1UCKeMx~>Diz0cabVn8HXpC*EF^g%18}q z^ViO7HVN^b*ay?`cn{thZ3se-85@i?k8ya!H07OGx%rqfs07kz%}&Yas@h-_brJ8r zsj(m5B#UDN$gIX>I3JT5XYx(Yqokm$)Tj11i@TM%Px@a*#}~d*CHzyW5_(Hl9ou5P zc+%J|9>JYz|M=i=#@aWQIq7Y=5>F_v`CY~7;_PXTB;R%P25a99LeBAL*9x(kGq>ib zHkAkL3ov5|CMoHPt^BAz{wMxT??%I{_i^Uk~2uQ(Ia zcaMOSJdH6b(7W$-=s4#K9t)e>XZLt&I$O4rx*~KCrMweyGs%}%tmkF@(}b@_ z`b(j%)KMMASHjl5r3IlxJ;r~ep=t_}Am}x^AcJ`nP@tu8 zrBHz)QNcBCibunxNtU7LO4=`FFRQ^~qVI`~<2ps8z_OWVmGkE1X`BAs`ETAP_##|= zE55)=c^RGf*?<}qhl1Y&a_N;4`l<`z8}Gu`bn7&SvE?S{(mT6mKWY?#bFpj%x2x#< zEzyVy^n-j(GIG?nt~Kl&uWy}PmgJ>g1y#X~_9OT`=4gX@)=n?NJ_(xTK0Oe$X`8`g zs6^#ntu~<$BV_5OFmFD{&lq|96x>zpg&IVHF#%-Z;T3XYnrw%$Uvb%<%}lYoc}k-M zbT~<$CUH)d@QG*rNNhtW+V?&==Yt7pIt6E?&>lTZsH+;Wh++!?G+J@f-J+0%LH-ag z-iZz0;hS7*S+v{5z(l01FHOD64e3>K`Jy1tF5x9vbLCn);sW!=PkjrOGQ&d!>9UrQ z{5JExDHV+5K*36$twmXBTN&l{7acF`t*&7zxL&=WLxOwm?E&U&bQc@#xK;iNdRpc? zgLCDK#vo^g#a^|2XoYd)m7~Xx!V6rd6!4Hd$EC_CQ=3W8JZDi(S&y%W1aEv?+sR3! zl1==YBehV>O0|i7c3jOS%kJ%rC#}~@NpW+1UL7k;PN~mrz{o@&8E*aaa?Dvb!%KuQ zRo~&pqj7=c*H5aMD(8SRDZa3v!?2Mr@1v_8`CGK_NnRw`E9lJ$h$FSQ%V%*J)kNvC zc*y);7ef%lPVT#Au*n+MvJ30Sks;Rkz07gOc42LZdHstt*9+HbpvsfiwBPajZ=qiPHnrN+ebN2=dn?IShZQd+rtYSp7Dca#={WUPGsQGKhKY~c=H8w) zZsqeHal5rE-e=-4rTTT;2`lw_M($Zm3wN!~4(Q#nbUpq!P|;~cc~BH3 zh#y|$B^hcDNEH~N0fJHvJciL=)T!VE%?4vg)pe%fD(*<-5^%lqDKc2PaEqD_)NxzL zUt!2Bs1-G8?{^2H~6hRd8~7)HZgMsu4AlwZ&O^Ev$vNLMq+-=q{y2(am@Ux z0Sb1BssUHP2!cTFLPhF)v3$5tZ!dez8ZmFR_kz2kp-+eBfPt0;N{L#&R3Klj?hYa zW&xM`r8B`l8eU>hd#hE6mf8bq2_j2BFz`d^XOcoQc5dZYe$D|bGB-hEVWD}dq%PIG(t8yHJ1V^;&sK1nF2mP3ze%jGUldH1 zA~dWx?qBkj{fPdg${}BEUy$N!pX(#O#z1o2RK7jd#n_EgdELKm8xp!_nH@m8=7>H# z$Xz!b?06c|fJVsde5dB7M`vdq^~O~-JJXpZad>fy_e*riu)ygQ(ZfA;`j&Lne}I$*ErVMy$C135GlihZ}6bB-#~hCsH8g0J*7y>2io2PqeBNMgBejs z#Spbj5hWvaMm5vXqmm*)120R1oML)p5X}V1(Hvu9DvaS_aY2Tcz6&qp1My)-%cVI+ znR@{t!*ykq?Ol$lNfCi^l`;?mCS$@2o!%gCg1a)rKxKBCk*Z#%S2Jy0g&lhFmGMMq z4k08OzW%OVmzNF!yS`hQGun!~f}S>fwxyp5vIPY)cVhtPVJGnMW1h)^RKopuVr<7u|QHmspe=Gpmj|Ca`e3IN3!acFPw>k z8TCYLkH!zP4@yCG&s=hQJi8HP&fOyyJxioN(OLbRm@dxO_dnNdMQ)nTb|k$qw(}O- zxn1tR@MUM?FM-z+PqFt|d-w^E$kjkRaj?{WXz1Miu1;ez`uC7g0J(K+*Q4ZLD&Ils zHQBHmg2no#W>&p@@L3hNtaGIcrIlcV%znj+5iU~@8T1Fc2oA3}FcGN#0KvY=TzP5= zO&;lL`rzRYC$_cyv-uapmdG`om$eVNTQ!80zD<1ZA0Q=gJQ5saXIZ}aFVz%l@r)Zx zRpbqoqM}fQvzvv(myM}gy?K_-sTg}Bk+eI0FFt;1)s>7OuF}WqshVKu==RM#R$K+c zvTo+~9w`wDDAAc7VqR&8ROWrw5i>Mykg#)Jsw57Ia=XK(ZNe+k+9dYUC2Cjpx0bLW zZ-MKgG+2FY&}v1SvF9GZZqxYMiYM<(7^(QdJ#fwk2J7A2NN6dqYs|g#DklDM-tJ`J zwB0M;#B%YUA%cT{8Cb3DV?!2a71Zloo>{G0zRpQet>vs9FLC|l-7xXnuhE5&^e@%f z6Om%Ydb=svd$90G@rDKUyO>ekkFw!n>@{U=N*fV65K^mfv)P}oYVRkk4LPq}KNV+h z!JIRDJCe=GH+a9srb%?BwX$t`FHk)sKiZ-`ILVjGWMA~!WuvSLGP!?20TfN3Jq?@& zDSluvqPQqpOgx@a=}=4w5DMgUmI@2XGmy$9?6#3z}XA?gsJ$IhL;iT4hEr19aM0;SulxPp80CO+TxefKkp`qBw&mHTg*&-D%ka znrjSlAOW$WJgyYcs?hK;-9E|O5bu-4WSqOfYRjxvxWSt}ckhqcX*eXhRrsW|g4MHr zj7g`_U|7a#$4rDkX`=N(%`@zo>K5$s_hbWecKwwJmzPGzZEs%Mw^^wDY#B6W5Z5RU zTNuRSge~h#2&+238kDI&_Phs+qCU-#RS3iMo^!A8spge@H)TZvKj=C{zpB3Z;KJhJ zLEf5j^YC(2D}m-(*Du*M<)E4&FQi3j&gRf@UT?smc7mSWN|>oy+n-8AJ%&(<se2)t z5)!~p7m@1EP&P^W`vYtaESVF^Fux|I8U(y>h;3w0s8)wx*V6LUj=-FD^Rd6igR=T^jbA3+orp5JRxjNtZ{W_81o3La0%JCUs*>v4@IUJIdHuNH!HN@PgDfF^E z968%3J%jGz8c)=owPTxI2V1uvaBT~1IGY#E6bM9y7DzwTzFqF_J)35A=WhA3VAMgL zYpcVu12`xLnnnlfH|W@I>si~oWD$Tr&ccQ1W3c9}{Ep@PzMo!YNbRtzSPH==ZnU<9 zr%AsH-px7_DwHSW<| z1E=M$x69xl6o$|B$ToiT;Jpn@=`?Lu1uv4`?gen?Ksa>hdzGD=VQzcwosiXFL);Ja zEk38(zxhv~$PurqmM0W|oe~M;6lk3WqX9iK3#D8HnpJ?wK|1hS#cEQR|5QRzktw@c zZuNrdMJI~l&J~?z6Fu;>Mo;h@Mm+^oF@`Nz3`i@U6g(=JVLtNo3$Vy^jDPF8&uHP+ zbv97LAcLv4*ucO?>3>1f@xK&7Uv>R8IUAH4H#Jm|qFDW)i)i6oZO`tEt|ZWJfqgwt zlb8E#-se{7^QGos^BUS|6->l{1XLJo?Vsnaq26@o-gkM<9aBat`1X?H{li;DhrLRl_JHv}FSkaoW2>aap?6rnOh8Kz;roh2C@2kO?;xD=UWUr7}c>$kGoIU+TcF zS)Al8zo8wd{FhYSXA?Oq?%D1+ssnTD8Qaj9@*3XG{PRF`FP?-l*WEoUC96{F<0Ik0kk-;a5Ph+}|H2LF4P3i5Y{HJw-CCEum*8pNedRZI+ARriokhU{08qtcT0>(3u&>DtV3x%%bJ0E=zs5yS~1w5pS8=zo84 zwB9*TKA-Txt;)PMKrKu9$_eOn*I}IOSh*9ct$Js5#$)`6Qre`4cVR+_pLcRK$x#wj zwwJP)2MlT6SBkILzZ_VXEKRNJETKfjs=?^j^m2cW-dkl#jGR=5&-rj=-MmWmOX;;ug@SbdVs*AVq z>Z`ua$4k0O`6IKJ&8$OI5x0Nqis?RE6cwK*wal)?PpJq$WgjeQqeE)WxrbSWnENAN zBeZ8~rjHC#h!EVrRP#L)9Dc$adQqWUZ@<&&8`Ft_~-Sn;*_6~s!v09p?3Qm z7A23)c$@AAEg9uUzsR#4YX-+51!ZE*PhuCP07+`aqnKy-DPW{XZorVtME*0SpfY8t zcuy!sQA$%PDIl=9c#!~?mH};u^yyVf(HSEY6M15YVya+X0MxCNv4O(4biT?EKFY7t{I63v;|FvK z6JMo~Uxh59%GQ$B7vF4w^6Gx_w}LO&N(*k|!9Nh6lYG&n2W7oXxOVG`#7-SG;7n&7s)2vRq%u6s&--yxvwEx=JZJZ zVWHf@wy=d3(u1PT?qFE4$t3;})>C@0AwnQz&AM^6?V=J#S<`1uS6ALRUmW>~L`YLM zBDIfyleY3(&M(7Ora@Af=$M@!y5lPyA~Cx4>Rlz3JKS|c47J{2I3JV!noNJJW0h|@ zV7!{)Vk{RBu6_V_fcz*5mN-C;p)g`0OQi-GEd7;-fCQcckx@WV1Kt~`pzM>Nd{T`8 zfP=e2Wa!Yga@2ULG5WD-LA*|6FeQsK<8{U$U|VKP4pc4$pzwd%SB{y2N+5>cusFeb z=bylORgr)&m4IG2(sIG-oXT8+0xDPD>Y^b>qymtu&{~Ih!WV3tK;Xf%za8>yvkoHE ziYv_}7r5@T+)LFRQ2h2A2fKWA)Zb#|Uc!Aw`k|o(k#ryoOp0-%;W-5`QG`v#Xl2KG zN#IANZyPhIrta|U>2kBZB{=?-tVC_ivHsdlUTa3Z^WI8m&Lag>Ma;r%LF`;lLfKu* zOBxl0%+n@}Zp#R|SwyUj6F+J6)dv;V#2fkeZ8q>+LpHVdjdAP3NgRfHLcA$Ip8}yt zd^7K2v&`6d4=+W0>wPXM>W08&5Ta2Czt6D6NPJ8Gj@Dr9ah6bGsM^8^cf#9vJYPl8 zr889NA~tPg`z7uC?02|$yM#(JW+IsFIcskf2oB{~=adw8_~#6`o3v0f@8s?in9m57d_xfg_ky^OUH_yj?WIilDCVU96aVON~`G+?S-T z4YF}PYDxjcKn_?|RGV8)HG|<4OlM2y_MQgly@X5oT%%huBo6gkBodT8fn2(e{#|?mnxrp%jtQBFV zQYZO19~0`r@qF%;gmBfmAc-RwR|b^>Id@C~V+@h=;Ep21igBi^OiKZ@(U~+;TsjDb zZp=doU~2veptvaTSX47`?m&WFMzWxxGAwTNvK8}@;iW{tglJtEO795(Z;Or$u+0_I zllv1K$Ei?&abEV8m0)vNRp`jO^8zz&9WYWGrXmi#pc~v!T2nsK{&3Cj;Rp8LX0%E* zt9v((4LhVS3krtJHs#N*hNNsieBqvL4cq-mn?KFjnyL^qroXOaGq0UUECjf?+S->`)I{VSILDHV9s{qGWV@kqK}chfQo_ zaGY5@G#SSx(O!+7>$`_DJ999ijjZ^`Fs3_HU%c~(DsEEsI}9g?&vv|nVbx!{8;Mi9Ce;u)do|>Pnk+k{U$>@`q-63nsY4O2OQu*^fl>N~Q0h^+2jp^NOp<+Y?qWbz z@(5V+)mckm?TDBj@v_5I6X7ZU`MU}xQG^nR4BW|QAPVF`{`p6gTbL=B(>Mj!1$qAY z6v}l8MX(YQSEsn&)p@Wg%3{~rc|ONu7){T=`W=TFG!9P>h4)QhpUpQqRF<$*=#U>V z4Z)q5K&RynzD-vKj;5oFY8C_Ff`A$Zzy}bW&Z++Mn5O^^u-<><##dnka2TlxY8z1B z0Gu*Iu$nPM8cQ4fZy#0=lUL+NeoGoZrV;?1ehi95|3ZD~*z@9JlARbh1?+w1vJDW_ z8_gD$ilJtk^F0UcN|O&HtR%cGGrI5TtUZ#-@A1j4_=uUvI2;SA7U0hDGB&1&$g%f|TqEovP)Qbpu3&?8p+>^6Es9Sfn2E6!SZa*sr% z>94BYJTk~R6Ui-GCSYHq2)&e$v+Q|`is@{{#Toc=KVT4=x!`se=1;~Z_amY3tPVrZ zD<-$Y^E@*(jYd*(&fRGfGE+LXo&I5ntcb`EGQ%LtJ<<&qYMT@S*+b2l3sdqs@K|ok zYR|difNeHY&rEAai}#JO<4F?cp%J*bH`W$!mCMp$o6gC#=}cZMP9nzcf?m9z5Lf%6 z<=_d}%(-q`odEzbN!n%v6#N;&k~GV3_Za`Q>`S}`x0HgbV6##0K;UggiB)2Xv+h>g0#O&IHIhO$y5apA_gb05&OHi1gjY zC874S?DQq<5$i4Zf{`{}4n6;Lr9rNIz3b)``xDkihB9LiaXje=3oRi$hN-Ql2IhEZezsHn*WF zXi>LCAwi&)m_HpJg$I0X_sdyhA_8|fs%MU%)c^rR4g8E9Ih&FR8NK5$J?T1zd4eD1 zA9F=gV^L>--KxmGeAzcnSkg>h4}};M1Ccl%87~$DuUrw@g~?EexX4~}0WP!TTBWsY zVBRK!e>XIb#FQGO^f85TPiC1&4ozjhgfu5NH9Pk{;zn$}JGy3zRc9W(G2mr++g-=D zipHiiPPa?JXs(fc{&-;WvC*FyeFSgB+A9F z3&OmWzn%i9qll*2C>6~^_r&AB7yca+#VMhrHj12rqv?U10^7(LP8kIWwvq!L5>rZn z%A^o^;7-nKnxX+IvTSeDY#+W6QTK&wj$RJ&KOEvIwC)->q3yyPiFf9?hL=FAXzVfc zdMkIwzSZh&VVPu=W?y*yOZDhgjC_?Xho5Vslfcns7CAj-`KZtN+}c5{Y828&wEA|LvPO_#`Ma@1TjeNHhm*1t(xdCZ`RE$LWKrU{P<}py>p>w`IRDTmR@D?6w-y}FVWH= zv^x@_ksE%WMDB}MttKawz}=uS309qI@^DG7JtdOww-GC!wSVM_zKc;{!-Cqp3y6k^ z>wJdvBP^5B`Hr`-Qm)acFZd*#w`9lj1Y3qkT729SF3lUta$?~*nW3rdubui~3Ej71 zTrvLEFrZKb-J6yjA9a(G-d7+E+7ts0_2<}DY~2s8H?7uTj?zKky>F&S-qRO+2<`@w z40xT-{qG&3N9)1V%as4#W3y>$5Tc)KG4QUr*mYdl`Dw z24J8jx1sQ$Amap(Gmud*kX>~G*hyEuM)p7Z-)W=`894>zH7X$Wb($Nb3ib2=axw}E za!QJ8*Z#WvjskvTOw=?RD>~V`&dqrNSxqFX^ zndRXlp2xg=&qc*vh)YPyD<~={tEj5!>ggL88X23|*xK1UI667Qy?uQB`~w1`-oA^D zdH*3cIptI8=d|>U%&!H7Ma3nhW#u)sb@ksHel-64-O<_Ajqd5~8yy>;n4FrPnfSENS%*8({? zCFy&e>KfJmbL{_h;c9`@Eni&C0%$47NS%p-0RROMHC8u!MMJrwlDZtasYK57>)QYb zmrGiYM#AdAAa~mes!H!2TLz&#-VNS{Gc2Hp&-rDbCdN=iZNQ`vjWbDl{6+xUyA@FR z_Y;a;SF<7iWxB ziKpyl$5kM`;oYO4-JJ#M?F`^9{pA$f+c2)lT91b2+ddCv9yV^@rA)nvn2$<4;CFk_ zz&ynNZV&ar`wBomcQ5J`{-Cq^#iBeef^;eKcl6r*-ssR{=hvDhY4P=fZ3U5m#Maa| zFUh2RfKauecVuhud0(Wz)?Y_Xw4|oc#CyQF zkZV|2KgK%|85oBpmY0mar@P8=wJhRgDs;-t|gft$Wl(Jh+alb zCbe&Nc$TH_2_Kln+pz?`#yT+*P%Kx2JG=Q}eF1Bb>N31NPwCDFYNkzM=%<=~%ExXF z4;TX;{sfujNb12kY@>~=5{i=|`Dl}26yR3@$mAu0%`X?zmnVx%4I#A}g)z-OI97+! z_iW5D=8@&5vlhYTEsj3)>W#qa|M&QqV7se2O1vu{VHZYaD zfo>><;wMs4W7V*xwo#64I|N+aSlr`N9A=9jQO#xnM64zb{hZVDk+A6BG)qa7cSPqe z&h!9if9=oxIIh}#HIU2iC6tv2gLRZvfnfaW*SY?{JfN5&-&vb&zB>d0eUMFcm0F5e z{F^}g)EA$_RflO=Jn+S!(p$}OJ$n!31M zDYi=V*RKfUL<&Yc^My2V=yUFM*TQ{=xQDM{U9-uc`h^^wYpe9KpasQ~^+cYWl+eM} zT7&F8U5${iP91@gl|e<|oFGgktuzt<|1JuRV}r>+au2?U9*7fq^-g(%p}7RmW=;!; z66>6L@9U+-d6*g?YBY=Mh|$XW&EZkm=rkSNT(>lc^&R_@W5}mBn)#=@Q;Jn{N`Z!bgy`y@8i*L?<^ z&Yx~h?G@K?vyvq`hYmA}*{A8)NCwHL(XB_tr;$z^M%yLpV1z*V%n$$VKiW zz&9rssUUYp$?h>DWC `N4D0sN2zY+v#vVvZ|{zgUS<;>gT@3+hU9nHQRn7#~S+S z7-pU-TqQZ4V@zIz`B54B;F?Ntls~IZ`HZDu@+l+QR0sQ)Tj z;b^^H9yV;8V6FfrzvfmPI-0{y^e1vVTkarCcVkX#(tb3^n!n;xBHaU^H#}KA@1ivz zD0cGaJ~+DC3ViZKc<|cq>$g;<>3cdjB0(Goe^l8!>bi0rzc^wg0mD1)w*NW)k0|bA zS3he?vi~*|Png0GAAFRm?`6`Sn*!eqg0w=Wr^CV!FhwwM#icV?W#)2PO7-Xz+)9Ig za_3FJamLE*dIzt=6A5uM{KZtt7TnGKsb=62Apm7G#qe4sIJj8`*HvH4CEmRuezZAt zfGX}N=q()*I8SesSPq4n{6QhE09kuL3f$(Ip<$_79}P&erJ&w3E#9;JJP72ux!D!y zVgGb`9TmsXJ2bn#L5pmi3WrKhz4FzE$plSa>)~Erqu88nP~tT^xB}d9yba@WkrXFi zS02i~Ybi;QLxDi=iS`;fkC?Y(6+h~K>*=5^$)}Z~51jfokjF~awwk+-dcJQFEy(@D zoxxH5@~QH!_21gk9mJ3n+vQCQ$(hdut}6Y}5bLBvha~-nJ*%km)&0uXJcjk-uATcS z?X!IywDFSBU^!qZ@;lFGU3{odR(1n_k_eyv%~bKtInJ8(mnxv8xv{y)?>t^cg0g{u zei&y=Dm4=qFb^NNrg!KBS7}2hJ^N+DRb=-wRZ0S%Ih&ybv5AB^=M4uhcu@sfQ$!h>~{%P5#56&B=UGrHdR{)lwoF}U}VLAL(y*Hz- z0J!7I84s9-H{o)N_2Yo5jYOLa&}1-G>AK2F}z4Z z6e6(0bQ_gt1)bGSo^eKD0X{qn@oZ5SgMWcIGlA^Fd5d|`opV9{%MEBA#kV6y4ByWg zut!3@9sg6YUELLjW6{|T$8S|*3DX-WQ`3-ai2jXT#H%MIGX6Wn z=gHs7hc1}^6_O=dm``Z8E&H4tpH|d-RDxzZsB_q$Efr1ugcANa^hfWE#TG6v`x0BR zj9zBsFX%nbCnO*?7#vP(-KMm7mD^QDZcxiIXiXp6yBy@RQrgq$0BptS4uxM06JOot zY1K@1y*FCUS*84P37h#d7IeP4C4oAEC?5v+()(uNuK+pxFIj2bHcC6MpU1Ex9Tn){ zh?@@lW*NwvMsil|()-7Z6>enWJh(0g1v1x;R&nUqAyQoT37rJknK{Z(^bZa7=GkN+ z)O(o%jUzIqkr9twUJ7B%!!Gp&e-zzMrhfY#w&B@x$|z+T{ThV`QFceF-ii+P-Z7cn zEBkYP1RSeAsd%H4Jbmyg=y#f!p*qSxP@ZwXY(1doAN9YI9|T3eMbLgoaWivmF1^J| zvd^~yuK;x=KXb>LNgT`JC3)j{%!3%#i(He#E5KcUHuYi_Y|Mw~19~&+Gw##JlD4Os z33Hj)Pj7Y^%6J6~f)vZw8!<4=g=iPAJJPO0*LSD(P;7hbh#&H@%UrBzLD1LXm9`l zQZF+&Sf5a^VD>|0#P63f{8=Mc*Ig#f%YU>pP>i4c<;#BeyMl}_JC!R&`R^DR=v}o6!U5ZWa`!X^n^0E)`5_h8ZrIC3VOHh1M8LCAS zx(P;ao*9H>1%-1QlmP3!>B&0-BjUr}$)82u6oX92S~lVxTARI3s<+KT)JQ${IPvBW z-ESA{B`qQR1vQCY=gKix0FeA*anP48quJW0lJOpGcyGL+Q%RXE^D?T$hD4^Tbb5{1 z2Pi&z%+p8nr}TottG2w`Z?Fn zYwL1knp?6f%0}v%gF5j$iBZ4qIpPuZrLAe#%7c88<)glf4jCs7d%46GC2zdhj2|_0 zFtqgzV>AOqk|n}!NtJB!VpAdtU_p&?f3$CAr?A-7i?>OP@iC}F#gN1 zH1EQ7pH)dp4j?hd;=P(OerR|Fuy377lRLYSUw?T~T(pv)NY*+|bF}*23ale44UjyR z5IrXE7K*X}W^NE?4&?t3t^mscY$q0<#U@NDMnX}T26vs(cm#Y?)+Oxs7r&33?4f;P=Ei98Y^7;{b3uDDsk8^-}=1SQTN-q8Yk3Q z{%#8V#l{wXpwj)NVM3BeKg%l;+i6?4rK2Tz=hzYy>Yp8cs`k! z9Qr9o^{m}sEK>pkfJk_=X8iui(z2s zxJ*XcIy~ZR^tl9MxwWpwGt}5(qBGk-w`29kYYNuAJxDmsMida<#Wt-;#ht`3oA+35 zh~IT(C-(hsAh&+`CjBO}TH~^gwDDhlg-)`zJCnK%iNA9jnuc@jZSKPtQ=f(eAm!+x z#PYyS&}5xY*LG6Q)6<~PJMBzhe*J=DrqW-izT`@%eS8O->aOxkn`l@+O+cB3i~f#6 zS;osJHnEh-`REmX!#=Z(bSvhSidoQ1Mz=_2Tp!Q;WP8N>-kn#^80L_$dajuaDvHUR zZ*0vKsw-|k2+ktR()OrXGnoun-|FaBTd<7ti4fW(V%*^lFHM)!0%T0LHcfNFx- z0{L6i^sRcL(r!#tJUJ*}xG?F*d{s#)XY-p{v7EbpCSCuUt^n=gp6QJGuN|i>4iBKW z9!x zSm-f#y!`~P7q9vR$lV6hf?&0~W%r~OOm5)xf7JP;KGgc#Cr8Ql))(@%RjW@i#Yw#mLje0j=WXc+;fb^!Jg zbKp8t1{_~PF^osz0c<`hIToe2Kc|5uDTt!zc}DgZa#smNtgXcpimCtDeSPZ`T*s4Y2E-=@5Lv3 zefG=o^QI_5gZ4ro83!1&?=3y5FDay0r|}o4Vbf5rl>{FS!(aH7XDXpwDot+m8$J|? z1T7l;qu!#HW-xJYpe$)6k>`|O501395O%Yrakkm##-nFDG__)ntO|g`wIKhQSU_(i|{Dqa| zDu*|I;`$vgac0~lzoxzG?a#WT3Jf}_{1Dx}oY*hzd&zHi zn37v6UK#gJAh!gmP&9o@xFmQ_=!lrQLFC_;bSl}tEBnfS^+6B^v~y|LuY!$lUsq1> zL@e5G(Stc=fIbI3k!W>3c{lM-Q4Pdr(e8(}@dsSWc*+((UrI}i;^T+ADjg#P39i<; zV@`8px()mF4_5#gp!1G`P7wP>Iv=6%)A!>eQ#tjAF^~WV7ps27SgO|Pt*$NeLyq6Hp z;%@|D(F7reKG@A1i;%OVlh_h5{(CPn#6^jF&6f1%GW&A6%NslkB(iH56mq04hc;GD ze~OseBQfF0EaPQQLb;})RA$mLJa?%60cC@X2+sIfq%aKW+^PT5XZ5&nA%>ad5F^WZ07mILw3Cw&kYl7dSAQgWyi^m}r8L^p|?6TQ8q+ zb4`5<_Wc`V7<9*3j$#8CA13*GU+~=U z_2us(i9H5uLKUoeEJydiNsZ*m5gT1AhpRn5Z@3;c@O zH@gZnmmJxQuK*P1ljGD)LAkKN!RV)Gci<0E)U8x$#B@)om-Vq|eu6Tvp@a!};U&qi zdj;64{NimXaRqpU!i2b#n5YJXu88OBY!9~SQ*fsol{N-9YX_d3jA_&dRm|KKFX$H$ zngxJWAN@*Et7$nK@fZ9zu|wd!9sFK%s?|pZPtr0^mqu%kkdV{WR|i`xnbK@`BMxbm z`A!Ew24Dr*E5MS48a}jdk*Pq%b)1ufrnKN4MIKw!_iGA8t{p65ir72{>u9nUhXgEdH04tHD|eYo?Y}CCAY8X~KSs*#AjnP`4eu9yLfjJF zf-MXCSE)@DFg5VlCg|xHCKdb%1Nj$pEppZE!6M(xX-(DxXKvQ)0l>B&k5tAatV5%c zuZ8Y~4z$+n#)LWKf_iv%#@ zRj~3(PH#&xg;s>s^NxISlAtUZwyYOb(noQG8a#~OUt#BlfG|X$-KAhj-$6o!fq7iR zm&1e2ExYs3s3I~MV7=pWOBQW5Nt(UO{39CL(xh8$`l$^}*n_f28~k{Lmw2hq4ee?` z+?_uxvAI^=yto?;aylEa)ij-rn>y!aw)&smMPM0Uq@khM2jXwf+TOvZ1{AnPydr4>7De0LL>igx6a7=P7Y0ieX6_P_ahUIvby+h)p? z1_@U!ioB|@7sIJ=%J53W)GBg@XN_)SCQ$)lSVE?BwfgLX11|ASbgVo*XWg&*(u_MS zGI^JoA|}s3feBw9)p>sI=G}PaoT_!Ar1cJ_J19GxwedaP2uCPyOw4qy&e~*tO2+y1 zS+0gbZ`{;Dm+~4MHg|hF-ZvurxQITKf~j0T zxL6w&If9P+2Zr9Z@Ccn+s&PYING$cQqR6`*E`|SF zd-}vFEkr;`Itrmdc|^osG((u0gnGUdglxt~vqt@uJK}70=&v5%zcXPXu$g<)JS(4v zx#GEp!Rt9ujDfJGRXfXzz{HgvULfnjAGHNp?6=PPV+y`VP33lZT`piRcow9{@ zTr`+i|5nKPdm`Lk%TJc;YZ7&ejI)F2Z6Zv2q>en zYhZi>92FUa&zULzSCQM9*k+(xn*QAXG@ig4R`R+vj_~N+hV+67f)cloHYy9pYG+!h zRIkf=yxLlQN8$_8SIBPOe|ed$bztJI(o7Vl*=3L=;vM81cRm3$SF>rTf|?BJh^&QZ z7{*sXXG z@8x6|w8+0CR@yG8)J!bmk8gjZfiYU)_{LTU%-KDTVC;$Pe-!s;iu2(^yNsZmt(dWK zqIrGMpRnu74sWVDEYZW6?SsuX3tm0+)!xHI7mQ8?%bzySAIQmQ!r=2n{n6%1=jl~( z%wz-0gIlhex!4qALntRlnm_ob55#HMV@1}NKr*%3jJYGzA$1$E>ez8rt@f0Byz=@S<;=U0m`D_{vWYeWdspW}%syE4)1f zWe;o=As5MggU3($wD%7AcR$`39{pTd@t_B{6kCYRkqpb3uxi>U`_>(%k-7eV9ta`*y<*{?>4u#aTzT$xQ^y?6k0$a$6= zL>l+5016w48wcC|JnZi*-idvL?{sM=G_WEvkm3On7AVG)gc(L~QW5?6huzqb_a7xT z$4EZEarH-PaFf9&V|Jd_BHJNjrS7a-Hh>_XioddJIhXum(zm2MiHhbrG^a=ZDK0XK z_sWnA6ilR134}HM+;)u_JvDzKI@H!lhytGGrV(GbC-j;+^6?w!{SNe&F8+L zLnEzRi>cN>rdlt+n(#5kTaTV?dmG@|D2{QvCVQQQo`_cSmMjCA$~;RS{N&n`JG7VL zOvjZ+ycNuu*mv8<{bIF0WM{yhV+5CU62W_a%no>69J3NRx;fz6;WeM$1i=0bWUCmS zDwCz=a9~==E!(^+*;QaNU)n(n$4udL1^)h!%Fccp=lQ|fa?3;i(;9ssy^<1tL4q8R zhx7`Nt!N*>-I)$^`syquMTiw(j)c{i>Ex^99id8}UwB6-sFc%t zl#2uC02Fx?#e8PTw^HmU5`HS(z3;(5e~kvB1+=6R@A5twsRD9=o zf8Mw4xsGVXGL?Qhda5uP$q>JfR$GXK#0rgxX1lWaV*n?}Ie(*X&>Uz765f|@@N_m` zsh_T7??kkfQUk!-^G|4OUSGVxY|V!i!S6ftD296#3_6?C=NV@ldlU&;(bSam!Hj;- zZ=fSj7K)FAqDJ38y$&dG^CyOq-sYJ|vaFppH%*xk<>SipnXfUP&(AVIpDv|rqLTiG zvGJGHe^=D%bcp{3Mzba&4Wj#<00|2q_I$?8Q1ZPOaS+b4s{S?$(DvX-eK4Gbb~{=+ zzF&kCKO0irf>C5*JFU6ytn=84jT+j9-q>@G3l3ZPA{es>sF6fehss8a4s|7-6{S`m zC^Yu+lr7s%9X-7eBKGIpy8QC%$>hm^C_DWYO^NpSg2%xN$5mVn_usq_P1Q$rPiCIxs5fz4_q$y!8N5 z@wj)k-Wf-tL8#pIEnVL3Yx3W!F(wWDp0PY4$2A@!l&!W^PMD-ycSV<^t*(X*LPEK*)8@s&vEW@eu)x=HuoA zWwi|^m3yC=SPi~#nCVK_n6ek?l*4Kdc%Miq3gyuT8bs(wIe<5##lVjGZ#Of3vzzUs zCyQeRiS@4!VoZ`AX!kOj&nMc)3M;@gCxFR8_{qtx0!wj>vnR^BISKPzS(+vx-;y-w zk33gBD);Kl+c#CJ38ddlcV!!k*9*0n{BHgbI$0nT{)}HyYj8}6g;rP1k|EyUOSiJQ zbL&S{EaA}PLjHwD-Uv~YJ=w*wD*~swz803H&o{s*a;LLx{I@XBWb^eT3K$b`u-Wlv!1Rr@}GTc$-1R{ zgc@<5Q$Kk&-fF*~bu`0o&wYF+L<}LOZUzNy+w~zd9VzyJOuYnXcjLv6j21;8_?mAT?|OLDXK_pe zi9db&#{o!wiy)k^wI;BQBylJ8o5`==N}pfYN_nZWD2q8jqadlRkIiaI#K_F2Dv7MSR$KRZE#x8CM*hR8VI z6fyobS(%J)?@a0urp6_WGmJCL>xYf8YB3sfIsj3PO7Y5+QMAN+VSb0`chIL$x`ZIbLG8#Y;5mU3( z8}{5O?a)6%E(Ydw%N~Kgm1X+~iPdJ#`e()b!>sVBe3EofuIBY61c)_QlZDxkNO4t} z8hqF@D=gPp|B<%bP@87pzVRVl0nnFkdq#qda9VzwYONGAg`d>+rI6IHnK~-h`RYeH z&jh8O>`$2!cv3DPMILgft5aTG#NDUES-y4<=rCH|L>`t`p~JdnBXP9Nmx6U4J|$6D zL#|SvLivcvGJ0VTsIEa_UsV`V&z{3(3Q1%8gZ*lZ2uq1(!sbpQi($*oH6+n;iQqio z4@?xCBCws$==B?V?TwFI&xK&u}A1GV=jB25L&JEHvH1%p+GTw zz8L_qR6_s3?U+syZX%~PFI}j(daQ6mA(#9ntZR>Vb`^@e=pygwqc>Ab#SW-8cjg-E zEnmVTa({n!-Gl6H&U@<2{?*a=`@mW#D(M(`VN3c-8KDa2`7f&zI;zgC(Zw;F#_LY0n*sf7glQV10mk+1v|%UVW-mgCeALulrwSoEAZh_U`R{xo+gn!;MZxLv>S6@a`~8ZMBUhHw z?o%h!8Iop3Nq%IQuq?}^CfA9ektQsBt%M=vEuXc{*4|1lnevVH&YKsj0{vXjenuDiFr-S~2)BUL#VN+db=Ge_qj)7J?v(Ns&Bp^0Bhc>WtA1|f`BTT)03*m#U(m$ zhzm1@$^b1j$N`d%!*!5dF%Kjr0?_ak@%>MzjS36OV)xx7fJ;n&BQO;+NGvf45lJ%@(lnWvgN9c`A%y z4xRP<@Y~S1g=VF{2{E?SK5-_leW}*)EnP+tLs*r?wGf!DhjectdI9#YvzbvD5Xz0Y z5DFcD+`P<`X7P5tcPVAuO#TX{`w=9zp}EZdCn1mz0YDWS+;t0)Kn?y!X)?UfDuU=i z;(PqSmq*SM705t=MR&}>G5@2L5&|EL$D>1kEr!X;;H~(^uj_i-Auo$mspJzHGqYyP;6mZBifI9`hreP$5dHoo*E)Q4@jNjNESHq{yfjBQ%?-PP0sd$yIP z>U^TvN|y!=6*7!3n!`jT(OtG%0jb*~#x`8_(p@BdWfP@_K%y| ztB7N^8qN8ZwQu~h=&|49a|OiXgEpKAo5f_*-5>+ET3%g|0hh5mBX{YP|JzF%OCnR* zhFk6JRATZ=#oVxrH6sq9`YAbq!xbDS_I{s$&pQ|vVn;}mIP9^`NynNUNRWc$+9bT_ z7e|7gWWof8^?r7oyearLra`NWG-vp(a$LgH%Z|O%{9~Nf1CN0&!NEJF3 zM=Q=FDxZ;NPihqQ#mU%ZoDX!SRxb@r@)!REp~%d8Ocbgw{IZ1 zzlRkZ5L%(DeE13Sj5{$)Q6Igiw}i}&JNaS*9hiB>rh}&bVt2|e?mCCnDpd$3N?)f< z%OU^usTObplFF6)bK(DxE(ogfv?M)d&E})B#F4}i*BAB z3nG8SWKZMbFX$#B0`AvRkMAi%eub%RqpYcEP&{Q^s5SoVWRdYKw#C%V?y`Y}Aved^ z2Qndt_^<@4c}0T72N{vvp`VRW&!$_J-dWEpkagNb5dLm345&ppK$@=rMYeshFK8`2 zG5@)5sZ!r$q)tQ=Jekd9u_Ueb=(K#p{$pz0vtlMJ6B^ZQqgiYD2+2F>-!&k75 z-ZX>7NvnT7gK31Q8>CncF&L)VZLy6TnDkre?&{)-8RB|oBS*KJ_X_2a;n6IcR5{uv^Wz$ zF`pxhZDPy5_Vgs8bTb+3BCpNWE%flm-@lSOGU>j@m1c7fAF}J_j~uzE-_WN9v~|nK zgtlxT`@WhTqyN*uSTw8MD@}?fDu}yhF+Nnv8B(vLH?P_JV`A~MXdQR8*qUVL= z)tAsq{SW+<+#ubldKdM14z!z;f%HJRj12C@BmMZ^Shm2-?i_<|Lm3xMCvak)CRCTm znBp;gF1vO(mFfJt)8SRtK02@RoSK4SA4`ZZw4?PhWn~l5dqg7vO;sqGrxAF0bK<3@ z91a6r)1Ud`*}lq(pSWkII~0b2t7njD%8DHNt{J#wCBvAH!ThQ-D(w<&l~e1!xkxJ$ z=kD<&CH;27RxR5Vpbyz9f4oZI`*JDe&DcMH_!R3V%T!(|(G5HowLE~G4;qBQFsz|^ z65JwJ<3uejdf_lkz4_a~%*v=N+KK5J$-|ro%TgtWC(Ru***G3wyF7*RN&}Wl$c8~A= z0a)H9Jx_TPhGSp@V>Zi9I~VRu|L-1v@k^RlqjtrO+hZkv+L6?@9N{5>lN#6ji54cq z@drT7OXoZI6cIOI`#h}V{1ln~P{&Iul>A%17D#&+(RhN4bKLU_l@1X)n{@LP(WxFb z74t_QA=A0#qM>qsU1+#^(SI-&Md|?+CYxdyAOB^}!2P4urP-nh(fFTWnSb?m1+y{> z1X4W5b`5VRmA~oNBG?L}_x~*X{qG#o)uK2^mE-sy(5)o1bF^*_MgO|09#zKhVBuPm zuS||?V6NO8&b;EyB?yw5^2PFac>C!c57Ol?py{+htCNkUPPWT*s}1$uCzU(B0Jd|+ zTd5yvpKpwDG;8WnwXek!vxUrcJquiNXvWz)&A||3CX&YU9AjDMhGi$DDS3@JD;Z7?RicQ}+)Z3CpI+Q|~*m9(KmhO~g!VkfH? z$QsJ#lB4s_v1s}P_c&H8BnVGrtDl+fd<%>@*qlPGnk{^C*7MU{0*kzMjTbig*`w^% z(rOkaIpk#^rioQ{a8wxx@yw!Yedm3`5|-Y7jG5X$Dsh}_b?Qt?>=-9z9h#5q;r^7w zhw_~bP5qhbxDTs$xo0FS1zIra7{>5+11QA7MhF>~q0W_jO#vNW6?kw(#wQ3HL2AFX z%Ywz2Aa>^B>~;dOK6bhdW(Fb^)1%Kn4o4V@@_Yu77b1jW>#A3gaJ8~ZOYMWq2qyLfivzU# zA%0vgaHTfY>oP;5r09XU$Fz~s(|7Ej`$>9 zmgTbaNTD2wN_P6QMA^M&)LcETs6jr#`rwFDM0aG`hUhcHFu{H@|$z->s0MGbm+Sh9`v8CIIf{f`( zpwBF|e_;%vBl*{(et(u~3Yd}(RVjhKG~GjiCt3u96(&9$ir$NWDTY(;AMsIyx|-+z zfz9;49#0Y=Xp2|JFQ2Q%q_MrdoWM*ZmZCgIAwYuU=pFl>1#u#OwBR}FI^NK%dYVsC z@%1HE__uY13y*Cu^NSC^UU^^q^SO}$lCG-?JYGwA_1e!|_lJd?a zW<3T>(PIW`KLw38i@dzdmo~KSXKSQ196=O8E-jU%dObxNy!XLG;Gdg3>`=EbqQp@ew>5j@Li}ow}2^T8}q; za~RH0%S-oGCTHDi7T73n|1ru{g!;6EV`rPC`rB4oC8YJ2EpDHQt!~dAS146_B!e@W2BwV?tAzW1wwIxGhR3MItlekF!cAxrM86Q^Vg6RMK16)|COrr zvo$?ab+`%NqV0iExi#fR0WSi6RMF(sa?Fre#cwoWD``iiqjXK7gNr6m{~!yl{RzX_ zkYMxTZmcE6_)39Y@1VKuDtW~xnF_}V1yQ&}!F^5ViafB(OIb3G2?Mh!J-&eSUZcD= z%h-rdw~s0|gy&hul{lpg75FmLr~=|hbTa?1^A+H;3?FBVXq_|D55LDB{X7@LJMt?8 z(o4VZ_aG&bSj*h(aV(mtD5o@*yNzyXzJ89@nar}b-d2%?tRz~wfjybIjIB?cNhAd& zb0}ifmtsy6n{K3~s3j%NyKT&;v=iwF-o(`LWl~Ox^G~I;6|lhS%PH4_rkbXNum5Yw zQjU@#l3H|oZDz-e(cItpXB9RvYi+-?dw*2j0S^`Iho6-+HPA-etqXnZ$j1l9u2-eL zj;y+Vw25gB{Y0D(s}?|!QqFY!acxPxL3<~79S>nlkqY+GG^cnzrGve3cz^70XlvlP z1St#Cfh!3Ue93>Z-6TR%(#l5zMGgb&95mf-n-sinR9v@0m;AvQ-(%p+=kwppI^BHz zaN);G!0Hq!p|bwdzJt_HA3$iUu6a~W48MT{fBFo(j&T8zHF>AnT|Ue5_82~M>)%%= z)BB-jYosv7J}HBMe}yV-xq{&?WF+WuCp~Yw`w3~xrlA-oQe?UnM2`$MyRzmRmw_w~4BF4vg;NIKTUtEGr!)oUqGconB z_XN^lAE}Idu_sSSma_k8nj8<&&O!tbeWE;KHDSxw9MxOp`+jMET`-!@y>;dZ$_&UM zYs*m90m`m|gU0HRZc~Qe?|nudv{JH_ca)Qa1>8@&HyP|XAhy;^D|6G8*LVN@J}1ck zslUX*Wqw@LfV3om6o;i>zL#pH9yusKSt|kNb=mdlWwC2Uolm^t(W{$qy|$j;BmGQ< z6yZcXQw|KSq&^Qom#);l85OQp@_NB`dA{ZH$SNfYeRdf}Gm?_k5(eEgt|ez;192Oa z8KppEMRGU%%WowIVoSJ0eRbe?eP)mA;ykQDG*}-1<|E!07hAZtmUuXYbQFqbE146& z0&tc#ts|&HT6;*VbmlQh9@NsIVCTX{b4{5c_$ab(z-)~UxUOdp#a;m>%qDnzeRQYG zc*J|qjpd-zR=TiDA3KCFP}(N5iqHV|Csjfj-~ak034_$<2=#H34RNk0#x#*uV+pRy zvR_RQb&|p`lU3+jD6Zqu0x(QtqNjZx(ux%&zLgLQ6B+;V*XYK<5t>APOFQmzWx=PA z3Q;m%!a)-~X-|jX#6SZxtc0Wo)z;`+R?j7zmO^}Mz^m5^b8YyrcW_O`vgz780qu|s zynZKzG|^!+KdvMUXQ<0f>v?8ytCa4|>!v_>7Iw1kDQ2*Nd8O>F&b&v+`QYofV#|dN ztYZm^*1P%Dx2wc=a3;eo9&q$wrGJzI&%s|v9j;k(NuwdCDU!T&%@11)EZZ^C{3@~} z@3pJ{eRL;baLiR7jK3h;HO9YA7(#hxE`BfM%W9|aqWAR$-w32zGU*}RnH$cZUON?u}B{Sx6U07Hpz=HwN<34FBR;}uj=byPd6O> zNBe~@FS=~jr1z(^?YGS%bl~QjbhlXo#V~&L+)&W2F7Xors)l=FDn4@<#3n3LA?WCG z2l4Ltg-hvowQ$xzlF}t)ZnNSZbNcy(rwjf@-97DF+GC|BkUT`*6msU%M@!oXG+5Ec zSG$5E)(wj)t#p7C9Uw;%_NG?!OiuAs#gR)|3GnC8Mf9~*;=%24A9G^;(a_s#qX!Uu z93ou?T_21_1wVhSQdOJZ*wEY{HC#f;FwbtG<&x=tXqO;aU2L{4y@>J`Bgf zpZOnCE|2}*d4tz~8=KZ|L0ScYD=g=1bj@c5GUt)|mqlVrH(^HAMACu`fj6quc_&-E zI0hMK1z2FV5*0rwWh!1OwNsz3YbP^ZK;^XLE!c%eME`D2XXyBGykD764)2nn#b{0H z%jOJvxmR2ih+_v}9^tYqy&G;M8Qqt`2C{HgT!^ zdluoxt>CRF*yt1kN<^b=I|1eulrl{R8{-a{T1Le{z)-Pz>Q!#2S4~|RTEBX(WZC;2-^7^ zKE+IXp33$7NlYx!NjBvsGKc~i7;O|S;sv=(`$~)WSc@Yn$6Szmdzf&T%DOmNOr9GV0c4ZwcVA6B z)555rRkyo+B9$iRcNKb8397A~PRj4bnJAKNz9LDK=S6y_mtRC8*^b8OchLD2yWp2S zq4myXbPuT#$1)u?1Fcc6IPG){$rYJQD(4~3U}h>c5q92}rQ-#Ai6c|ZJ0(>Hc{jD6 zhfX8OqoiX$6dWOK^m<1h-)ZZCVh>Bz;%z6R3cRJq>F9)B)0a*E)*C1*7@{sOq7uuQ zDBS{d^VNPmIV183+hHUqRfNfS5LBeVKVaE z{g%@`2>brcI={~^s?$p%wOC##F>yq-_nyS{;O_9kga^6T8&jEA|RitrFA- zr8Xf(>^*9Wy*IV@sJ$coJ@4=5|KA_ELav9)c;&gzeeQG4-H0K*HwtsFO0!Dg9(q;( zW=UUX&+c`Gl_l`KgsGZI?t2Q~Y)Fb1&HtP`a4%)M5l`LT54KuL@4NTB(hr{+zcR2S zr!msX=UEd;KP#Go6F-`+@%cHAA}4c#N5dx|m-<(>{%x0gJGt1#Q2Y~y+Hb8r7jT+X zzvCK%1Dc%NFEL->XWmS_wueua_S($$cf!-oEvdJ_clnpOZpy*L`$b+a*`5~E@#lQc z&Kv%}!D@E}y(}4u-J@cO_aa<_X|~o|JzC8K{toFiiM9) z_GM1Xyyu=DXb23?GVTn!A(WxPWX3#Y`x60-&+R?h*n6D0j_5i)`1uIWp(AO9)2rsq zY5_IZqLw+UhC^nU$=2#a(~x#M!8E$dD@vQ@Bv4(ktS1g(H=*FPmASsMUgX$PvyEnn z7v^BF#1piNAfa`eB~U1Jj&~(*mC$26=Zt1$VToH}URzP>PPRx*dLoB$Gy(^Y=oo zS+|wy{SZ<{$z|(JB8t%Z%(BSw0_$m1M7~9pdo}m$eea-Isu?EKsAyE@-UM{Genw~5 zQDA0#!u4sivgH>5_@nG!57Yeq!zgv&V#LnviIV!1 z!;2Z0sD6>pBA>-&bbewOB7ZTfohL^41fP_|bH{yDpodCnS|BMu$|+a)eSZO;d7dYz z_=E3w`x2HEOdl<)>D#Ds$c@Ykcqj%8nJd^YB%8%Ro&{6CUT*hWgY_(2&p9s7@U~zF zcxq3BwGjQX*or@NW$d~KbCL9L+r7}@0^bD0 zO>3n!!v!$A6EQ$?rRsaOd^uJ_v4}*(XcmbC6Xj1|j*U)#T^C7B=jrGvVLsGGWTQdC5o~xS zx*~DtlbWXvo56AiiQ78|HjOp=3JqO41Y%A+hjGRAHF= z(|f;5&Q(2Cj25*FovZ938a=oqXa(AzmHrW#kg=nKj|kLsRU|Z8Njm;qt|TjJRNTPo zeCFTlgICt0ESTT;o)C}BYOB~!RzX$#m$J2#A_|*B$l>SfDLzz&s9&7i@)wsr?uE~r z?$3;*8mXNy+LjkTmuXr~O5N1yHg+Fp4{89xKEi<#0h!($5@-Wu+V1yE6geAwjla1{ zzrH>GyYc#Gqs4p(w7fAgW1k}+lUM(p)(N9j^P#JkgNUvC$oIn)`xxYbp(tWa>?FBkt z;(fx6+}1yTgnB379?`N}UK=9h*nQ>&qt^MU`Niw1)`4&C8Jwm>g|8Th#YgAcUtmY0 zy(vC7^xpuTwfk!&S<>>kOvq#7w*X3+?eF1>$f+*v!UjUv1!Cb0@hsDRE?jaKCU|g| zSVRvR3)yaRSf6M&jK;i#samG>$)-_^33&Eda!pR4C|bQoKiyN7rQigmpvXU%5h-lK z$f=b14saLO)~sEs!rSk%88T1*w#(BbqEsF7xf@$}I8;Y|6y~YWg4rZJPmxwV=VH%71NQzQ#(EzL(L~ov~2hOOjh)PFxzP2)$4_vfS48un)h|(?WbuEbzOut zq0Uf{i(D>Sg)eHqto6=P5yRwW%&QG8{FKyYDfDO1jy&-}(J=E1Z|#PZr5ZK{F+nlA zU-t&MU{NwLjMfid15B{aiaOYX_Q>FRAZ>+<=7ffn7_H0lhQ`Z(j6yy|Ry!l7WyJS? zBKTJlvNE!Bep^k_BIFM3XjcYg&>eXiqR^5O>)%Gec;R_+dw1{5%pE1!e*HTu4_d)A zuAf?O@JiwD`CH?q_uU3Q1Jdwxg}CqXo(3mYzy797vHkFCE*csBCZ^pBxQpY1$B!f{ z4#e(U^$3gQ-r8eGzI`bKLe$&Nbn!(be^f>u!VN@{UpZiQ2=_fJ>dhBAUpf488_PZ9 z;K(&2zKfV6q25b8KBD_S#r}EEsq@5RTzl1H>Z-qc>FkuctUZ)?*9yNn zte|Id^yU2>K;D%gyXN(FE_1RXb0zV68dPx_@*&A50nO_oBRh14y@?Dh1mxWHHq@LR z{L>H{%mFe=uj3W}aC)?u-(uosutuUQl8aT$B){~a-R}KEz%KWT-L5|6a~;7^)?FSY(-V)6I%#84IAP1#S(Oi+344jQL7Gm zRDxma!MYXc%J7PdGsDj=KFhx)n}ZXpe^zWZ*QGsK?)wlJZBOeP0ptS^VIC^`P@&{E z50{@=RLL>A(=m~8T=;7Z%=+)#pzPb*-r~urQO{H8q=!Zh*W{zR7L4830Um|?nC6n7 zUTJczFl7FS`C~?jg(L-nec?rAMFZq&B=y(@qG6R04!u02wP!a6j z7E>3gH&IRU*&ASp#r$l^5kKAVeuP*>zjnqCT_xddls4T-j5Q2rD`!~SV2ugk9UfL0 z`j&&^^-zP(_=k~V;{w~^uMR5yQ1Pdp3=*H=+|>qouWjEek77^W3)Ga`cgy9loRPS7 zVmF0^yG|}CZ5Aq&1drtF?cs9LZy5$a8-#+)tJX&BCvp1W3YewhVjxEZcT&z>guy86 zad2U-LzR1uOVtI-r61R!pu)7*`hMoLJA3A9Cte=m*eaIwEzxmgSZYI`MwHj`NxD`s zeJRU2^usb%EuO^^>HWBoSNvM&FO+-Whld!!?N?qO7f)w@Jo7lF`ZbOi;ERTfYJW&* zoaBM+x9SN@jl;z*JMP&qbFy^&RwibHdxSA_*8LwyxDRHU6fswB12O$KLC|AU2iS>D zaXx(BArH|HsL_62$>-!ok>8m=ZpdBF;_Mu|RjW8Cu3P{O1U#T+t&EELmL5V!40m zk+0^CV_wHfmwYDU5Wmjd154I@r=u^l?k$`W@V$KQdgaUjbO}RB z#Rd)linYfBA;jVJylWL1vO;r|CCuY7xs$2j6>{g;F07TQiPNp!k(_1C-ND@TA`@Wt z{E>v1UR=e9&|tD<^A0^Y`pwnz9s$u(W&b0p+SoXE{a zLv%;lx<7lh)}DO_bYZle>b-@fcG{50ynvC$+H`|&3gLP3OCuSfl!TH3v=*x0QTN@f z9e{MACMGA~=qAH2c7l~Iezyxvl`1SioE?90=|yEwbE7H5(xY9e<;nU-3)RSnPPBe< zYHrtmvUKU$k1g5$7Q$0hXnVqN(y*j9D#cJ69Yau{Skj=x!!{W25~9>agWtjkS}{1>|(xyDNjhYb+#y zd9VlRAWXEy{lPg@lO%xKBn=6piu7txH z+!7rzbn*o7U%H}rh@jD7i3K64;dhm4V;km37|Bp{+r{Eb&k+-B0cgs1B}PP zd3uIlU+Co0I{$}nxMfuU(L@iDR7R-Xx8h3KsB~&mL_O)7m$_qJu-YzO_IH8SjL~Dl zh)d8CqacM#W$)Z<&3|`5u%iz(bLxuI+V5R5lYyO9bU|WvZUOHaUFH`C#DMGzC&U6V zN4>h~;x8?HepS-z^rE^b2Vb_SyRPBV*1c-3s`y3m7pagOPO+G} zlI!YmeO=1;4;^G`p$^TdHr1+UG#UJ%k{XA&Y^%u%j~>VWxUPl)qqAj z2g4Y4>Z;}E7Ttl7=q{!G$d0O2haX(NQ*^B1o51k5>U{MNVKj=y770jaSnq$nz{s9{ zn?lwSNo6J3POsy9ncI6GSRyJE?e4B4moLU#e(sJ}(2Ir!#z>r$+dNo84u7lAa%;v4 zn~E)^xw5;qJ3js@$glU}IIpz1E{C?DTR!jbsTct@L|!@BqWTwpq`%;-smQQawSrv2 zlV2(ESMAD=ov#pRPm#))O3C| za53TdVtNd@_O)y3a8BVNZcAYR>^Dd})N7IQp>8|II`NAVX&m5}Q9+N@MKA z&|QnW49FFP$aN7>!Z4uMvKFW8-5QBC`wveTHWszplnd4MvN=zTjO-KK0-dR8TNk4F z4Gr6F(?2^%IuXxLsgdA66CHJluA(nThIv<2%Ittj)Ir2R=g40(-drchV&Mz6k)TkfFoWkiw( zW?5Hiix2iL_x>CnB$Bv_l4LN`iGio)N~Dx;u-L{Qt&)LOwJ%c;u^cYXc%sm>{F^_qUyH;j_!amJek>3gCRnwn(FCUy+H_TIEt3tV903qYh7 z%vkZJQAO>|pA?4n6Sp9#CYc=-#nF|o)N1lAAN_Rkl*n>Fqn);n`+)OQmGgClgnzOb zzR!1Ya%na(V^j*=K`-x3r!L(%mun%n7pRlQ=59sQgpRX~No@=lFKQo1;D07*S~vGQ zbkX-=fcg63y!l$sd?{iFdq8=LIl%kh-#4=uQK{sfPRZWB%Gaqw9$U*_+(?_?MC)T&iF>c5Moej*(m4{o`;RLFyGDShCOLw7lL1+NFGEE*i@ zB~wKeF(h-JJIUMhhKqWSO*S*Yz|oePT2ao-tHOA0WBh>@bwnyk2`{ECYSaFF$WET} zc{Z$bWlZKmmU~oA3}#X3*P|9QU5NBp%f)rBALPp`td(GT6jx($bh(v*!)XR?;#=LW zpv2XDwrm01E3yV9wX}7t;v;dM6gZ?xU5mj?tuk50r5h%IbdW2lrHH-N@0E+M{J+jM zicO4KSJ5I=JfzJMt@!jLSJ3@NHr0xmN5M0GBa64I5yyjH3tm{J=LP^UsBuI-_BL3Wy4X+Gu}7IXHIOVjy}4)p;3miA;bFPLYYa@t7V zHua9q_N|($mmM8K8>K}Yn<#)Q(0Go?4Ef%i_%`uNfrWq1Naki@LyqU__W|)_9m;Ex zi80~`p2hj8Ds6q}W0kB? zWQzVBMNbk^qR8Urfg$t6`!c2z=>I;H*9_IZ8CtFtD(L%1IAe)rx+C6HD?D7bBV&gg z?eqAP6l{~Xe3d7hHR0`aX~k6BfNWiTtTW96;Y;plKR=!{PM&Um{;ll{U!hSTd!t6m zF0 zU;D17xb+t}4w4c5G@t%&8iNM8Wi#YGmef&LeEg=W zV)Z(0xedLLjV0I(!f0U5zLxIUysa$m#9+21`2!hf=Sn3-)uCGbdagwxCwkisw=0jVSh*Ff>50E(|CP<*8i1m*QbMG2&66=JeH+QBNC%#)XKbU|JWG4GJS}m*pET@ShQG)db#0JkBW8*z=1w4 z>{#Nhce^GvHfXPiBy;z#E<|e>%16V5YdYpYB!J`DU_BjB1&_D&6yvA*g_sw0HNxi+ zhm5xGroMk;U5qT+)cyN~Z&r@u2+w08zt1a?bXHK8oOx?qcs*k7Jcmoy!9Z_IE#ZEE z2qIOlCqepw5P-vkuw3*5-INZg$*NHvzHO9%SWwn#h}}sqJa$^9)uvXR`ibv|v?#!< zWtK2DVQuv%U)zr_O@2lS2@_1mE3?ALs*Va@5xV_Y7c0d1Jl@T3f1<AP2RwzN-Ga!^{3vHa7fe_V0z9BZz~-j>W1yJ&N;L1fq36 z@7?mM!#vui^Y#YW;^s-gW(Fw0PpDl+dB-^!d7&-twX0=#%iy&?v+i z!{<}yJ*WY4dyJPO8Bz%qDm0!Po97yBzCcdzq6S7ICI$Ev^azuvkGLatv&k3icVl+< zV5UTLuA32*HuC$D&|U<$Yv~KV1T!I{@tQo%znq;VYguY>cAO`~LYVXj>(xip`)PO# zB7y05P}O*P1ee3DI4PWJ11?`c8Mr%hlArs8bA_T6 z^6^>oMTf1r&`ieibeYR=hiC~~2-mC}aSBw~=2&foC~3LMn+-(OG5%jA|Kc1IAnUn1 z!BkyKqY6{|Ime|Ys;Q1?2z(JYmjFy=36MDA()MEv<+zKwV0>%Y6p%iKA1);fM;cqN1Z zg5>vIy!bisf3>=?RrFa|aXF|i>Z)r6*C&7-OO6yfE@%vblKB$tb2I@SBf{fJY)YzC zCI>-JiR0iskDH}w7YEw=n5gw=_%{b*c(NB<2UVP@j6fXAxtgn()QwX94;!u%pj&=lx4Q7?$Skys1>4iEdb|hH}u~sawxNYl{)F@N>+bYsi2tfuo(#uVUo_zX@T;I=E;ADeD=>A+P zl%`}kEA$d&q!M@&EN;{0#U`|=wajpIIhJ)b7GyP~@%-bAO|PMhblvyPd_FF*DBXVd z$#L%0EMxD`WF1$GHd>VAn6^)Nc8*V`x|!n!mW2^IQ1SLb5_u_4qDxHy6|aG7PHuCb zfVXCDN(!or>rC*ALKM6!H-H1pck^LEmhrxA;)kiHc`5ZH2NB%n9~eeP&6Y}H1S=}p z?p$az;b^%Fg(3ej3E6)i@@RcgZb9F=bu&wA;6|BC@i1M<(YA7vxQ)4ipYK^&e_`Al!7M*}HmDvN?HqMs zxY(z+*D}XiF>a#HUWPKr?d&95d%GEhf?S57=XJNHT_2;v9KS9;e8+ZG0ERN_ox_*s z1C3fga@xE1K?hI3Mr;{MW24vp`MNlD_%Onj2!A|=+@eOA25 zFO#OD+f*Z1fjj8F1macR#<(lTHKH|DZ-FAVf>UZP3B<^=5}C=8QLvcHd4n-rDW67_ z2Yi>w+8v@y#Bn1!F5ToVYu_W6~{{zRJ!^y#@a;KLik0Sdl&nJq*}0-?pK}}7+jp;8KtF? zWSZ(JCY0jDH!WKL5$>FP(|wlN+Zxb{p~boC9%GdP<$3_{w=$~4M6^@{_NS#aFn8ko zIe?Z_T@M{LJI3UFx6ogPP`g4h4#r?%WH-t+{=N--hjg+blWI3&W6<&-_usX4At#|y z6G2)OmNIC*2)G+s-Fr9T{yJ+uEz4ipg7cfXrNrZv$X+zXDw(7U_q{+_C987ZW6Vdf z&^gFmG$Z*(on`?2-U|Y_jr|~oQM)wPUBml80uV*k<02LY@*%6*r8KKZGDe;ZS}N+v z0a0(0MAPNxg|Q_2eE(CG=;wVE-18O?iWRE;YMikU-E@|*sZ?vB zJcpGNA?&i+WEcZ34F6;?lKI@^tT~0hG)!&ygfsC;m{%-Vgtz&>G(++Ha{%Oj4grAv zf7P4y9E~?zIF47{zlr7&oM3tA^T;%c1eY40#KWAvUUaH@2vuCh+XEWYJNS3|6=$D) z?ad#e(KdVnZyp|jy0=iNu zoyp_R@P1G~ZRE#q^M_^XBP;68gTPVTDw-;$4;MKeQ&iqe{Z&5VoLHt`I6tvmJEGB7 zXy3mV&k@>O{oTd6a}Re|IDGmX^cO_YHUV*oHVZjAVLL7yu>HgzUrpo%@)`e7yjt?v ztIu_Kx`fPQB&9-H|5H#(%K9ZNDi2;^Phr11X?Aw$M5-1C4&pf3j8y#dlX-Cgk>ae| zAKuxau(_#Qvt>&*i}Q357V`jU39}g(1Icl)wvxM+Sj#SYP%vXPaf2rJz1c;_9m}D@ zCu$=Tt}4AH6mx}{6Qf$^uU_u4=!d~;ZY@NtRhc7AV+hRQ&Q)<5R%c3n#&7g%dWQmm zNE;)r zHD>c%3A&Wl;BkGIkLK$=6v@@;ohkCSXOZ0fB{TB zf%`qCq;(2#(~NayIPp&6ebz$Q*m9~g#w$z${hBEr+`zl>~6{r1q-GDr875VKfOWTL{8|GQvoh!a>y zQ16=8lc?_sl=)4-hhrA;OKThN_elPKUAxl9ShMI`yVDgf!%AA+j|(uo6wdl_tN#1A z;recrN`4Ln(BeKKhNM&Ti6NpiS!Fm_E9@_Dj(W?<8kIa!OAlYLuWxFz!eqO;23WJh zDV#UeLnf<+OHig(ILzp)VawsFmmv#}(KK`{K+NRuR~Gp`Q<23P?a} z!62#)8^eTECF51NYk`2Jm{!Qhc(j1fT8`F@(%9OEnJzltY%23eWuuT5SQfegEL>T( zi$qa@Q1MBFA<;_xR(=rOQVqwe?90!xM8FMy8FnMUg)5|nKA$`j0~z3Y)O|+UMR#qz zKs20^Uz>G{hhA~5RSOKZ(K6WQ>dp~{yfo!&p+w64vor^?mrMUZw>MM3gB*hpsYAg0aZ^#~s^Iqm!IUk% zs1Fc^dBP3$X4>?Pj7z7w%KQ-ia|Vm@#FhH`5i3Hhr$YT6*2;$F}q^+TP)S zc2x2w2l2DpJARsH%pq$HzL^kBBX+{0bEc1$@mJ=3l;0WNv`~gs{^l!Jx?}i5E?<`S z_JT6#s%MgyIO-gboY#M0+&iHk+!_ws6CCpx);ozvcHmN^7fS)kfkQbicTB z2#HV@(?RowZ+hq7+UNKV9!0nr?J~M+u$hG{t9?N-FUoY`CZc^}KF%4%Xy#qyWU25x zNo#+G2dx7<}!a~ga28dY$7?kM{=t}|jUzuT~{mHNi z-K23l{g(XB?tC?a2Wv5b!k5a2i}k=LoR!I{b!NJ8-&-tb)a}kp?t0*fq3c==Qd6Sn zt>gBk1-(1D^2fQtm5=&}{|+ z3#VAw({(c~W_6tw7<9aP!!1N6yo6B%D+}jGKHo~`0V1!*hfuwW(Tt7jXf@PDF534r z&xIkv*0ZzQxuolSxp|KEJZw>akK}y3`=#9b(G07?m#eDXTeBV;a;kEyjXx;QIhl8e zmLjKKx8Ex|cQYRqyO*mdgIc=-$$Wz^PP%fH758sIluWTR+J+v?2Z?bVaI|>Lksb6Q z^&(K1wjl#4&hFBb1%`!)v{T6LDt*I;XUbOgWBfQqLrk?8#m1@d1CR>S3J^$uvv_I0fRj{p(0#98`HM zTBYMr za*nIIa9K(^F*hKNzcO6f4qi$MBO?S-l$v&z6{(QfGDLmcP#+=WQbC^-~hC?B1QqV_wwes&YC=K|FSd!L8Zs{p0QWj zD%B-Lit(N+Sh|{hg4xURc^Fq+1t~T);XZ;gpOat`{EX52VLZ4>{WvN@XuDlC4lGC9 zsMtV_9<>GE@02q#7zQIv=?QLSi9Qc9hJYj&OS9Ow^wA$Ew~zM{^?7t(89MCU6wP3o zTc5ws;*n3(zS0^TfU>3p%|_~NKJ8deHB#oeJWJ?-A^5}vWP-yJoP%bMMvn6b)1@ib z{H#mN1BjuK09)Vi;E*;~F`XR~urD_vo_Fj-6&T>ji0BB(kX@d1p{%fZYp1Y~+EIgk z$`0mno9Rw+y^Q(G1LJ|&(c--|e>69BvK)6}J74npFc3`y=?EV~RQZ=H8JvSggaK6r ze%oezHs_;H3Jy?WXusU~SxEu*q0*1i@ok`F`gSp{j{26XH$J88+=>v{61e8=mX%`~ zy}Bn*O@4Fd$jF}1*;x7-*=RjLk1)3mJr%hZ7L;pa=39cH4jZ#;i_`tExrvc~1Dq;x`5ccDul{i}VzA}-Y3oigEYmJlz(YOz#2Hcp7WOM00RM<`AtdM#cl{$%vBAoZE+d{xoGu_0@H{Z(W1h>v?gchlqffCuiO zeV-xh2*tV5$Ti_2a3RZOsOzuS%~X4OT@Pg!Be;G9vqe0UhmXmtC zY>9;-(xx_Y@Dc`2HFXV_k5qBsUgF)>{mwGWr@{UWLfRo);6kZawPw6R-i16!?Js|7 z=T@-Rqdwm8#lD`r@&2q(9@P&%ZMGkrv`Dn6=PPvQ#CXnOcTysz(ED*^4o@Fk({A%? z+eRy0zB3o2P3e8l+}8Eb^^}gND)lXlLxq?PcY#@ojNXSE6t;18V|Ge_PO^xmDd0F4 zMR~I(>jd((Ex?_YS5o9i9>dp}s|DAs9I~Q$;F&AgF0KvXRILc-iZ|fGMl|Q5QU}>T zT^sy~xZPwK#4NA6|43a^O5Z9%*2DM7+CM(_s2`LXdvQtFMR;cp#YFq(r#kWMCGw0m zTR=FiALW=1v@fLV`pld`c?2Bqdwy$~uonz-gCwObety6oG!&nXOQ+qf<=B0;%tK4H zb$WW%whT%RKE(b$Q``a>&5qPU(KAR4=3<@WOjycMCTLG z+80_~jR1t8c;!EkJzK@x)>(h)oFcxBNKYkfO4I-sZj zrBSJox~MJYAB%cX2kb)uH)M-jJ9bv&5=I|qey$Zn(QuS0u_>G{N}Fyb9yC6{YaOhI zj-`+8{dwwtmpAeyulMIi(GoR9h>?FF^Bw`at=hV3!j2lrKM*eLjib#8loC&I?y;~A{URyD`lu*Y^dH#NJJxt7&Q;A|I@x@|} zbLF#>o)ikvz?fYlOT5TA$KoCd&FEfH07iKuw)A*Qd?+&L<9-X-KgY8Uo^jmhmL?Q%-`ZFQ~+lOF-H_drrI z@}@wu48`((78xWVy_G!{YOU&(c8fen^#{=sHue~!3m*>P5n6`arl-pX0$DOSMaDW{ zH)6OpRZE#{4v5k3wj}_gK^UzX@m};G_PcfaCe(E%=YzR@5W-{6M z&l>N9!v|g%I(+>}enb%DPR^>5LZ)ygUo(dgrjmNRTu-EMd#(amXtoR&pI{h+(btfn6Ty#o6k~2kx^oP_sf@f}W*Y^1s7u{bW=!&-H z^G}@E?vZ=->&)Y2=CLbBFtmxX0-i_Y?Qvm9!(9V4lE_HCtl=Nxh|A*(3I#^)%m#<- z0+XS3U#WfOFTXj@rT>ANBqWN%)Q8wGyF*2{StC4%35aAD zZKod;2Yc=QXu==n;`uOy*+0;u^6`xK|3J5F9#H4lkodKDO9}5Rr*Z62dgG@@kI%v* z6Ztxz*KeWyjatpi))Sv|l{S1CQ*r@dA(#68;Vc0vr5hv3znwzrPOT^CuNL9SQM4M0 ziyJ*LMW)oOhwi8pCkns$LL7v<0MdPdJyQ#mN8`0#*is58SO^-d7B>k9RS%o6nnS;W zHe3!ndH}(mNhvy#VL8FjD#u)pi+L^RHxv(SgW~%F&k!oBiIC~5jJOT^6DZU8HL%vj^BJdjf4YPEaoQe z>Y|C0UwxfZ*QGbs)>nuBvQ^V>P_&4LII3X5_7a3PAeX1<;H-;|IdJoG;>4rU7JiX4 zm1*&aelv1g|9<5nPV98oprStDGH8YjYcIw2TIC2>%=dBaRl=x#aKFx7*Goi<{&=(d z0Wz|Px#wa+*k<8G2tZE5lShGpo4BK_ynEOe;WJj6`>m-*!T4(4T|n6P=Jfr6 z$1cxOWAWr(+5Yvf+)+0Mr_6darmxaM1N#K6W_@ZpxfCB-F3zdFDL2Owl~aZ5D7+~k z1#G>NXmyMKR*;M+cVn$*J@}ac5DZXKhLn~@%-&b%z4}M{-X zl?NOcC9o%2w!Z%AfB#%~>ZhcI5*$Vpspy8y9;B}wFXsgUnG+AWmsE0d zK0RkYc6yN3&q3mL_#0qKQS-^)K&zY{a$jl=+je6g zLB8%-Q)2SsET8Kvua*H~Fr88IYjpS)N<-YnRc$y!Qe{#5zGaSLhs%x?3*A!e4P{cr z`x+$?+%Nd@(%{M&N%^(e9lxHI?`9p6%HP+>b$P1z&i{WVfMRktQBw`I60u%;S{4;O zPgM~$7x_wv{Cx`RQ4ONHhv8w$8F6XPAI61p1*pl;fc|^@)KdapMg6>wV*Lf~K2ri~E@W2>2rz%#ql7!|hf4-+lM{ATrtCP+VTD%2M{G<`#GrWEy^SKf)E~-zt zr!t?91FLD+6+M{GO?fn(`<|YdHj||*Z{#jk-4ChGNsH6anj|l8GNr%N)ah)_aVk-k zY3_poQ7k`*_O$3CzU828vdtE{kqQvCj`>a4&y^%CVHa5uSQN%$th>K031(2k5p63C z(*m-tQSm&c5~zBP$#t7mYZ{QUO;~Zqbop*npK9zbZre~b0Z556oQ!K?!=@sQo0G&~;xdv>s;GPq__yHY;+Z zJMwUyc8F|n-IDYGDE&eHFFe6OiD8l`i&P!1pqmypaUNt?jE(xyba-p65ugNT;HT^d zMmxF7uV3)Yd#b3yuYX|zlWSJq@^uhL1f({c6zx2Ru`FLqB>BES_gR<^^S|?ZpDc1G z`XA_hqjYq~a!w}K7M&Z3c3rGRS*!BFn44Umr5CjFdiUk?M%pPtWIFz_jfibq8*j&d zTKl!^a&q3ubznfhNw%AMMekX4s(ny2#X*T!OqS{zfjqcPoD}j*oEWpAGRJfR*b-BQ zYC2a|;FsE4LLan5M#tnuGnX8P@*!uL0dbS0qEY~OWwL#|bZ_delQ1xeziG}Av~?Sx z)BTt3*UV2$*D;hoom{mDmg^SvhlGn52TUH50bG$GWTGeaV0+u(&j`g^O5AiFc9(|<5P@?U^R(3 zAOEms^d8g$@nGlNGtNWEGr#aWkIgQk1 zNzE$;tZrEA;~3eY$+-lwvsa)51Q-kzS&20ZAB~x{Naht1{u48g_NIt;T(c)9Tb!$| z7<9`w`l(AMd^O$|iFZDP>RsJAmAy^@{yEdsOG-IGd+2!ip(g91qG!R)I+-1&;a@d; z)`{7T%}xt#s)K1(Uws)Z*BUUmj)MM&HvC5pLm-GYht8poXk9fN#0@e=>R+(V>`C^iq^<8*KM$s?lCsm+6Ta|>?5QA-lC^9%FHzw~E`_V?@}>9+uM_$yWe&+w zkODAC1|J33raa(t$cgl>dt^AZOdDits_E#3_JUY&c|@pqxAgGalZ>6W5=ESR$(gNg z`=dY$V!Jra=XvT&r4x0N-J-J#u?4?4NE}95k{zRW$raa- z#uQ{W4Rp&MIcO;d{&8%^?&fgj^p;(Q{@c_#JvB}{e_Cm(6eX*7Xl3}@Jn*Hg$k@+- z8yI>Y@)COgQ7%Ip(Z>h8Goj_^kmIw04IL(1SzaIt%x>xt>j14kt7M)t1$4mXcPJ12 z`;r1yOeqed&HdS@a{v3fE>O@&^C9YZfT2NWwF9Q47y zd$ww23E6b(KZ(KgXkpHm(zRyPc}&WX1tg=ZhNII7+E$pCA8rthC(F=K=aZ}6-c->f zu}A?iav8h=8JhrAA%rs{6!iaj(2>giuk%ol0cmHkPz9-1@2L%vyr@$W%mF@AMe#`9 z1D@5uyScfyNQ?);nGq*gOUOAA;}D7z*d@RgEN8y%uxB z>1F=~7S6h`SMXGeBNWrQ)`Lc-vE3{C+?mlz3@a6b*>isoD2;e-TWQ&r_3^T7hia_J zPOn)g|0VOG?JE~q8LJwOB4DL!4f}F~BfY>U0X5&4K8;xTg+Ii+t4p|D^9MdF0#(m` z#uqC}vtlO*EMJO2Mz!lltMzHPcdpf@vvKh_!2G{K5_pM|w5C*k!*xqjkESb;C*WwG zgwh4K-F6G5*~sqlReG`I#GWVxf1X0>8f1ore43yN+I-e~!Os?^CA1AJaxchTHui)} zD5no_GU*@4EmnOd@OpAzE$+45p=li68_Wt>ex|Uo;hoR5LS@voz8ieS0vPSI4>GN5 zqbv5ly`BX6*)5$5U9UFvl+RiW@UwtEgmHA6!sSF9Ui(~YAr<-i*6(w#qt z^H8WoDzJ%bjUL`ALh$rG`<5!;?vuH8l=N%H|G(ZOGUl2d&u8QQlim1W_TZd+sVMgO z`;}DhtG&~n>)3khD-O@ujp>ayDa?)TA~1|B)kHZsC5$^l`09_0zrXFHAL))SgAV%V zoN@5sM)}sIWf-}Whg|!g?QG1t!!P=#lilq-gTB_FWF&mK@Hbda$Dsevr7?&KwB=894FE@;DkGmV-F z*PvLLqKcqrBW9!a8P?6;Q~7_3l)UmhUB7^J@2NXP+>ncSyPE%Zx02WB2*-?-w0q6I z_!L(kKC%B1p?3_oEpeui^5e&Cj$_`FWX2hbPhjvWjxEXITJK$<|HkpG@6Fs=iH?Yq zkOW%VdO3v)qvwN3HxR1{XVBSW@!zP5yLbKf=m7hV%M;Bg(2tvR9hB0Pb{<7LXZ|!ZKIMOlNrj?fwC&5U|RTj^v2I5K_YjFka$FP4OV<0l#n@PkQg2vdHrVw2c z0P&0q>RknEW$6n^;zkB-t(*g~N9n>kcY7kj1^N6rQ98OP4@mEczDg9^{W zqGdjvr=(Ng)HcKw3KdU7*P@&->(A(t)_2ygIBXl~D=NV8rNd8!Q&z%f5pMirkq%Bg zXGVY>dB~sEQ+lRZ;%?=4JNs{rf9fOu%q|A;i7Vi$Xww%d?`-(r9yH!R4I*zQxr2NS zpG}1uQVVZEAD{c;7`EzOMiw+JXhC|h#vCpLMF z2d{rWB5!PIH{0Bv^>^zlCc^`U3Ozl8s!L6Ur)0Sd1TqYM8<+d6WLqOPuJ_dT_4fy+ zJ)>Bue;}LZKtrStP?UvvxDGwishM>z_S0DVe;}&MiT<8X?7q_m@0m;Nw=X1AR%CRI zc6DkCw23Ew&K!yc;@iE(9&C6El*B}=PY9~x1bh~aw&-WwO|r z(i>4ggu6arTD(|lxFdH!C_=t;M0cYEjgv zsx4Yd(PhLYM(v{ZmReP#_FkzfN)fv?WA9OW)gCcw)C#rt-a!!Q@4i3hd(Q8VdyXT= zy*G06dOe@d#{$#kDE>KOwU?EeT=TW*wimkeAoKcGFvKti&8map_toj*FKMBnU#Ka1;bh5Bsktir}>9)nUG3l${E zG)p{ai|FjK7=NxpeE9`NeAV*?HC5ddp4}HIIgX6fbN6>M;&b&WZ5$eF^prBDb!8JN zE-n_OwdR*DO)EFCv?+3t-qxpDbJMjv)GjdUsn+QqKh*8foXR95q~&Mj)BGJ3|Ljp; z!Gw~ti#A9@r9UhCL$3m$A0!PCh_UmPGuPtr{R8%m3#$J}1#}?yA85*h{{NvuAo-Nw zY0>S#w#~DgcNdu?TSY>YzG`8dpBUstvY5x-Z9V`c{Qtk;Wh1qG;q%~%JIE};jT|EM z>5*d#pIVWjTVG+}Z9cTb1UWwtpEX!BdPkO@@9nD{o?R}Nx3Bv00vzsenYg?azNfc% zFsaYH@hwOhzps_xhFUdpCCz(!E9F)w-&9H8435Xg7^0=n&Zcw9#@k59-dK8RTzJ6K z9fruW8JOGn4mIcJ^4}%E%08gbI4c` zxB@qdR5^W$ILyzADWo~judU~j$`!c}L`t`FX(g&CHmcXZgOKVsP@}1rm1);h&8#xT zam=SZR*T->6sn-xbaxxzr0J*=6Es7izjPJin~0gLcI2 z`C;BseD4?;6N_|~>JKde4oW5>L#n|TN_wfxSlFP`KJ_)t4jA;y{AE}zLRk0b@W+=w zHyGjz_iIEBh~;2Y>8C8v{tdHn@-o;RdAyXDK4DEQGHJv@tn6@&(y92KO*Mm zWo$ElMz^1SOTq?BFR^t{f*kciw?Yd_w*ja3lA^k%;`=-Mb;6k+bVFoM6hLY{tl@tI zEvgth{0lw*fW}i`|Ex zpY$Ra!O32J8Gszerkc-M$L|=mZB`jj5Yh)3Fqt8epb%IbYtBxL(AKaV-mJ4|WFuT; zP5kye%l{S>Xf=#5+zwv%0Os*R<8_IH6&yK`h59*G`45fLs7FW~Pc`u>(MFT(4%y7g z#f~FSfncGBrAq|JJh+vZ%?ViCA?5E7r)h{BFFBQh%!q{~%BVhXT5Y-U59ghl-bZ?J zBQyQ@htSjC8DDM|!Xl~Xwpdvkez`EdP(HX5uzUnvVzeJqd{IH-O>aKgE2BL@1%$n2 zqB$S)MQqrZ(!o6#z}1U;$6l)+6?li_NoTpq)x|JN`uiF|IPP3;0r_vLV=L6zkz*{KRs29dvG*WC0mPtQjo8$#p)fy!fA6KK{+TQpFT!F>lTWBA11CZHy^xZqCcXUHr}q)MXM{ewo%R| zDN`YqBW9tVxyCs9CHQ30z;(`|Od$)-xKubC@u8t)G{Vim(6ny%hvsZG?PVL`M4&si zI;x=7M5%AH#d#uC(aO@b#*;?Y&DMp-k7k3i|HK7jZbU6rLUpqv?+l&cWO9(4qjqFjAcH%Ih11<&}TjoY88bc_UP9@N%WOg=Qr>pI+Yg=X~@C!))x9 zbl+`Xi(ltpmm#Goq3Tz*Ia)J)4z7H2teJ>1*NJtTk79{*og+DdZC_K!v2?Pko|0ZK z6!GGw2gu^>l+PQz%TNA+Jc4j2O&D0-Uc!pR2CjkJBt8}a@HBbOEV3}ZlGs17b#(#3 zE>~#gtrwApq2`cd_Pt4tB~~7c+VpuvqWdDNz0rp*6IFWHa=O>c%~ML8ZwtE$Hf`(^ z`YlJve3sLeE7WK`{qA$k84U)t13!Pb5Gfv#MYn50k-7?}G&6slf8S3@2>%N))ogE= z-5~Sq1&fAk0sAQfZ9@KPj=1efzhC)Aw+WSWnG(S1=HbGW{E>nWbMy4%+Eu8FPZmbM zvKJEOBGb=tfWT@-pG7^L_F5_L1=zK*pBPGF>xk|^bjc^8!iZ@L82b7k2%1gWK+Z0m zrqD`+wkZ=<4HjO-H$GOC`$am|L>3`*j1GWDQJ)7lsuR+IhAh@jQ|Wy z#@-UhKltB4Xy~QGVHr`W*>EULJx&_urjZ?#ub*Fa@L-3BIeoxhHF1Y`vG~X8XuG`W-eO#T}&rssZOp}tmS+U(C->Hv5}4bYDMz zY0b^>#0rTA($xc0s+muC`Sm0z*NyJ8lHAyRNmcmZ5G)3ZanqTqEL2x3r~I8e=i$pVsrEoeMH*<^G-U{6c79Bcypu+7k=87WVd55V|4%H|#G~BrFAHd0_mxBFFP>1H^n|SJ% z<7<~~{PsEVpx6wl#ANRMvF4%)QRX+^HADP=aD8mj|3C}uZpad54`06`R-RpKg#I$k3*VKC0SE%gXkp=*b&K z6V(>VU9-E#_R9z1t7R0%ELu;X+-$L<=&`lr;OxsMl}j59Pc+?7ZkKM8?o$fuen9d} zQscO;;*Xn43{EXz_1JQ$W`TaP{7D4=AEJ-R%mMam0d8vEEcKM*L4(4bf%xM%2M%TnS! zz#{dA;M=UC~%sW#eiX_Duu64M~tvvwqLC?6wP`s`vtgj|`2E`RLywZ1t~TlSf^ zsB5$(luFxk{`p3^zn<%sDCJXU#L2$-4&(bg+aiT0W1G?IBz+%Dt+X*bN_mrlQ3Cq) zaf61{5gQCTB`68IodMs^fO!nEtfXa&#F;@N7W^iX2meZAP9AV{C$!?wGuYA34u&)A`94#35k+ z3r;*xcu6x!Bgd)6txh8rUn+IG6PB(rAoV+*t!FZ7z^}M8_#cSb0hgdoZ0R4D%XvJ;$ryZ; z#6oQO8?@kz+0g_*_JW8@Xz3Gns{^y}RFNTLV_s#Fm|lS$qVdaUyWH2Iq;s2Dd+@8X z+^`SKQ?BVXKu%lby6M4%T5| z!W+2Jj$nYF$(RdO%--;W&_32rp{rYN2C9^k0#)>F8;aw$r!IPy!#))pKac0T*~qrK zz}hE)zakEv`RnGHaT@#>VNp=r;LXsCo7)dDP}khyZkSR(!{tV`BeAyYT<};e zyE(#ly)5J|1I_Q95L zp{zJqM_Z(%&!mti7pH6cR2s3_slS$CSU8M;0htjtqo|X`D8Bbx_?rpo-i~a5- z`#@wm;@A!%;E0n3xvIIgQeab;DOoh0z4&reRk~1kYQJht{@V6=^2N;qO*5J8I}bFa|2s$& z6nO3fwq%$o(}_=^5l?e6f#1FXZYPt3Qd?Oa-U5JR$TI$n)wFS521&KY8<4l|Hdwo9*umwuA9wxf;)@wH|gjLGQmN{$bqENo&jFB%ErcsCyN5N%^EF0H!dbahv79p zCidJOvBX%}?6%+7hc-w1F!#S8I1_cdTB+o$zV{CVzTZqKJ*&9ZfcF?zPpKpbwyxINhQ*6QWNkdqS=_5F|w!mG2=>#z|* zN&BWWtu0rb63+Tp?*r65PdP|34ti!Wz-5JumBBau!}G1$KjEtl&@#t2E+a-G{uB)( zc6*^H@;@1N0pf4~J4?{_y!88OFCRnIuzbI)BU5Ul5x((!M- zu}e7lsP(X{Kd7&CMngj1M0eQ7>?&ctVWs-LKRgPS3dG>L@|nI0ip<^9O5Wu+dd+J@DLA;M~|^LTw79d8O6Vh}wtWLNrMu-ENZY&D6c4$re48%Y4Q2WM-=vu+W; z(#yF(Ry;W<@G zZKHzO`UV=|KV*W^l3BDbV`19#ye3BpDV~ae_!Kg>c3u)YpB9T8Yn-mwGd>s~hH7l< zTO<+wL7&oIEAj_u^vw(8MB^~GQ~pHYKHn8BSMqO|MOcW^`aYH((I_ah*=Io{b&3|Hgmt2{faO21So zP)xjF`26XvNJY0eB$jEPrf%D~?VThsi)4Vk9dCiGf}KvR6cupU4ea}m zC96(hC%y3Sy_a2{sTqQK%`Q()ovHoOKdc$?Tv&4-7oC z^%d^P@#mtW?-7^)4fY_X0K)ixAOcF{Slg#rQ&(#qIWWG(U2lP-ArcoU2iF`05VRus zGupL!=%{XusnliQ=v3?*%152tI62DWqU=9q*(*dDi!)E0p^uerc(Ia41t>)L0(C6M z(a6_Y7KtMIYskc(ch`5Ed3WG<;T=kC4wR%kWe9`^_v#zacZcun2u-oZ$BjJ8sWaah zi`=1AxiypQn&*BOBKth-h#^_;k~=rr=eO z5aL)jD{2Iel<3=~{&?$u|I-D#MIJ1wy-u5zf6B|X3u$uqz9#m4L-D(U>FsDvDH{yS z!-_(#Avbfj)lv=S;G;VU_{2Q$SHV9+s8r&LRGNz2dT?2wG*%H$#(OQklcnGNm#8|g za_L7Toyy&RprBqCtp2#v1K>(YfxQbH?@Cr01vexsK5`)#&aCt`FVT12Fi-s|c*DmB z|8R{*>x?@#)HO!SZI!kS0$8@A9V|*5?l1rH}_OTuD*3v;gT`RF({E-%*G?~pO-3JV6u^gh*js1H8@GE?6 zUs>WF;awLocq?ri<_XtX8AK58<+#L&`(z9wGWs19r4|9^B7cpspybXc13GoUsaW=ZQ)}49wOsFF|>L&I~ zaPgdOqiKPmP4x643k^^We632GcD6XMEpZW!or-rc@*4iTKz8-muP*90I zxAfzfBX2DYb^yDQGoCsslzbJS2p;(P7y-ZSv2W~IEog1=J+@s>GVsgQ6=SDU)+9;l z)W(NYe=V>B0P+(xHG`?_>XvR@AMcKwZl0B^Kb9%;{+tFjT8$UC?d`)bX*?)G{mtq1 zi$nk{yD0bbrrOAYb?3&tE^vj$)UP_$PvFxly)Pi*KAcNODT^u#b>nVjA3f1+uq=f< zEUFR^M2#6*Tu1BYxj+1y_}7x-)kOhg;l!b3e5CHy?Bho9027g$oz-n)p^KPSkkfFj zmb62OWw3UR<#DlHN2nr1BJhSgiud~}rsUn)`=Z`eCx|trT|sTP5~YiFaBRxwj4))G zh&W}|^9P!59nyg+D3ha{)*@TI_PI`;8z?)1yJH%tHp--rM*ec)l}i`T7G7?`MDfFI zCt8*O^W3K`rXmOW0eQ(;4M%&orTcGQ1BBatWx%X!125Z(B)~62k!uJ-Cj2F3?0>Zl z?3Lg0{|zMm8%*3*f93Y3$i(V>cIJOY&HoCUIWJn4H>;1ca+96)>2G+59CWH$iSFpU zKbZXf;`7&e}LCj#^%x>b-xY@IcQb+H);s zBVm5P$(TW()0Se}`1G6Ft=1Set^hN!Owx_zoH>02n&Xiznvk(#H@&MEzr#dvz zdW4tnBnJqm^P6O-EwP<_D89a%6s1bAcej0HRp-gCUu0jO(|cad(^bHlOz??|>ai%T zY(aXSBGe_mR{f1d^^=Av=662S!T4+BO^lw-pPd(QKkqKd?ANdx629^VP0_TWa6^}n z(%o?O5VAM2FSQJo0&Qqh{%WRv7Z!lGu&*AI1zqVwN=&c z{ISs+u79Ayal?R(6v2_D4D%b_$37DJPuZBn0|PjI0B#u} zfjZs=crxAVXWO4D!Y~LbyGVjw^ZI&igjZr8u4EHR3-9m{6iIAbrp9{jDJry1_+BSQ zfNxS-A`FEd-5}cV%%?jW3Gg2`L#b-$Jn*(yb-AAmxhA5$AqHQY=(4=4?ER~`rGdE6 zFZn^BW&$`5E+q97ScTVc{%sTzkmWYY?cg*z)os`TArISu-~%1V5~|+rtm3t|o_}nXndcPgWl6@{wD|&WU$(&((`GDywf% zvh(!5M^+=-FdFYRJgL|9gKY=v)ZRZk)V+ZQr60?==DM1xg1p&-(kNPd;Y?^>TpUgO zsXnhyp$2pQ$|47{H8|^nrCP6OtYAZTM2m}*r`Q=X^Dd{y(}Pb2%8uI!F%A2|AB0iCzPUM;FO)kYTlb7lFgH) zZ}hwFTPvvTjGzJH(Em2ydzP*r9{O^|QOdDY|L!_YQMiq#J*kg`FXh1Mh$H3lE}~wP zC5DpD^xSK>0HNriW&SUpcR0G~SS3WR9dGZd7|h(n8@yYcWJRtxMZ#$O4SCg8G^loj zOBcO|JlJiHo=2SWmMJJlZ>Kd%ti`zkVMW6}WWj0YD2U-Vii}#6HjSvi`liX#PH}cX z#muGu=AD$LHW`uG-HIGk*K=~r)UE$)kbJ(+B9n6efkKSm>93)mDeayfYK*u>+?<$j z!>X>)m&mW>PjcpOMsSFcazzT6&O<}c9nLRfB$FhzG*Emb%BE*xh zi2d?Zxk+8YyB)}`N!-aFLIG(>)b(5ta>`EzWnE~1ijHTr|CycXOD>WLn4xWeK64gJYt#tgo z=qWvofsPd^F56B}&R^?RF8hTrP-iS|mf1X$xMuKE!n{v2^Rn<`9FN#oa&^1hEHm%P zG-W3zX7((5T4TSTW9zaV7f?c3GFa#*KQ~`LS^lR=Sp&;+JsV4!IK98bhX+ zleBQd%_~45eNEQ^JJLghFqWlp^|CTe2wq3!{Jwtn$3%gt!E`~B%`XCPe8}YeBO*v7+}L-;I$|ZK2Sm%zvP&&2SyE zD7}sD476vtG|qB?cfnusS_VIy@nrVq+e+C>KlghtXQuHKROsXNyq%N;>o@9m39I2e zXZM)Qrf7&cGJY{GWvJb$w#iZyLFyp(QWYm_?is#L;VhvYWyc$spoF)R%3DP|=+VC^ z6M@AA+65kHi_xIO?iy7lsFL+F*@%(@%!`1RfMVva_Db}(`fI3JTNwS41{)|q*y7ht zqqeaUW@{t-kmky#zM+{gLE-8?RF?9z?8m`3a#b2cK7C*qG%t|UTkd=Ti?TXKxs*wE zUYw4JLizQfWdY*L$l33xX9EykKi)k2MbcZmxB=zZui|NjoXMQ%{E;bDQ(2K2^YpLt zok_QCrqd__D1EotQn;=oDaVQ0q;Qhg*0$)r$CK_g9lfi}xq)9;kw)i-l!0SXv_C-$^iFVc$8;Ant^ene7yDwjWtp6j%1WvbmldXGZqCZNQKH~DSk z=~<}~3`qOKQ({2>x_l6U79CT(FJK=Ht(c!?e>LVP7WN@VLor`e*p?M3M;2q7-a zaZhjWnPz7z>}yT-&lSD`0I_?@?1x&~+6Uu>qW@K{lmb(&FR)}X=(c5+i3-^{!aCVv zLw2rAPeRbul~<3iikQ-8r9NvmDw$Q5ujduRBfwTe2|*HjN33cg1q@+tPUJ;4lb%F~ z?sa9fdAo`S&HB@0N4P@Q5S^_&33VAt2Jan^TwI?tE}$52fks|gyn>Fd3Sd5g);N*y zHH_Ca6&pa+;r~ES)ZPP*X~+K?_IdmR#l?ef{DyEL0W{aLP0B~Z%9f(q5**aq86;An zt)4gO@U>h(#c2i%1WgSnFYW@~w;bk?0KyQ~ca3iV)8SN);6WP^Xjmh+VAo?otv$Ny zZjiIUxTK#A(a%60f1UAG*6oGYOg0mnTIOGXw{-0^_f(QtPl962pXMKkmM#h>kMsH) za(bf*9tDBUNr7aSuxA4S#pj9c;gg8pEvajvr8jcp5b=BOJ6W_<6W`aTd*xKHAy6@X zR6fMP`nw@mw`FAk<65H=RsVy6e?w9_zTrzIFw@oK~Andf9*#`*qdkqE8 zfsdl_>3M?-Lc!uN)k$5u6MCF^U1{xcWDcu{7GGr<#8M1t>G zseS5?mCL+Dnq9<>{r&jni3l4>drn!U*1@_VBLD%v)IWz?{&!?{bSik)t`Nx9R zXD-M@ARI6AKHphsOR9rwilU33*FzO2QsUd2;7@?;y(Cg z!x&{_ZwvI-xO{m%f|t)_#09FfO*L)5+c;Nz^5!+2_C8a| zB|ZLt&hjt>Zv)M<81gFYzp#+Mc%iXHcZJ^Iihw&E(kU28KJM+jv#0VajI~X`5>t^X zVSerF?~rIF&Z7C;t^MRtlnX{&`Nn=cCt=bCY5Xc5F)JQhtlHUEg5UFN(*jtDt~U>7 zB<59)S2X)y>{8*8!)>Wf%z;yFjJ1Wc`x#slbHdi?6K;FC1Tc2*oR!6hTF;koFBg~Q z7^~Q{;}P*FziE@tPCkLe-@Xn%u2VeIUIB-<-Ns4LV-ej=Z^UIdGy<5A{^ch?S#H1b z68C`STn20FawiJ?HSWYXdmvc7&PRuK(>9(Y=<61lTQKbRaK%cQx}rFl+u`otUw%Cw zy~>T0Eq(Kq)|rFR)6q-8ee5y5`fVZ04bTX+j3@qA@b_GpfE75F_j~)jCzR(8zm>o; zKJ}T`Yhw>$B5!y%UNXWv>^SNHdg2%34!tb}XS5gKSo`MdAL3ou@Xh`|&{vFj-WX)? z^B>iomaa6Xe<1S_kO&K<0`u9*Pbcffcdx7Pq7_-4N9QbdlX#mbm_+%x4Ip}p05-;I zWDNw%E?4tMFmF$5GT&*~mfi+W2;;{Bb#D5#$!^Fb&PFmWEvn8%#tD(7)B#QpbdaoD ze-duJ3GBY4?JeOh^~432m-RXXV^_hz$H)2Ao@Eot zeo|7Ya;rx@{_CZ8aL@r-=M_fV61NSB)9P#X6x-fv1`>adwpV7%NLU%S&q zk#&?aa()1(fjIfYoYnWcZ^Ymk_VLYt1;>|FAYUtcg`xhPd^GM1uZwtIw%vb%T7&my ztGwCD&z5&7HDfK1++|$VZ1&`GK~pEW?y1m1^NlY{Q|pE*8v4z_uWf9ngXuM zSryG4ZNKD^7mMof5r~Rna<6NE;#j#_?v6Km%HVg^2^CyV(^ZB&oox0zi`f(lgW;4G z$`j5ysq)T~;0jZ6FU$1RTH5ug&a7O6mJE<$ZZx1%P|sal1pJ6z&`QiQt9rQs?X6yK ztcR_DgN9%M6w842y|cLP8<%(jVq1G}6PH&UbKr&+=yJsSD~ew45Nyu*{R4@WdiW_2 zpk0Uy=*uof*HNI;OVSM|4EMf?vSZ`oBmr)uzQskiKuavwLn~1@hj*w{mXbtW!)@fG zbQ_{QNCKRpq3LzGL@$a97oj(nDiJ$gXU}RhqFpSI8)*wM{CcUQd)I@hQ_95ec&rJw z7ln!r{2Y`uJXh+t_?ojS>0$GZEh8rO-}pB?16NmhAdCujJSriifgC2Sc)914WfBQ@ zY^GEe+$9DUZFk;Xk~OwyHzVpcH`uHPAE18tf#->4jPnE2^z2JJ3K+yi@8})i&jaPnfa|`@jb-G0iuv`5{lYi8fWmDS4Dr^8gqwe~Sz_76m*1owg$F2P5PSy=sVTprWt z6af9ZqkR<{k@TiSvb*^E?ZbQ1(8R#e+_KThzC0e0ipTjc3V;up!uP0i97^E`UrI?? zg%64of%iY4D>MA!X}b^ujedt%&ipnKPF_E5zKMWT-7l8YmstR@3103Iu6~$hS8tN)cgr6{ zjqj6c7!^SGxK;+ef5#c@*nU!_ws(38zSvn0$CX_DFr+=+cw9fJh-Iv*^R)`TZzSEG z7GoiYELVh}Bs%_q9@V@8FG7>(q2_Q#!F`A4kf&=phNS(u^EasLvL9V*%*@oWs=|AU ztGpiF#eme-)B!@$#{aQ$ajLBVLF=tDsQX#G!BTDNHwWS=y+T)miFr&ki+HpGNtqLc z+_I#rP-p=E!ooR7Vhgb7#<;UH#WsW6mjDk0^AD%4DP1qUs$+3KO#^!a`3+{?2}Po^ zoBOH%f%+=*c_g{cg^uS#ZPFdeIoJ=M?>Drw(8?(R6h;Qg-K#M~C!UF&Xq588OdhYM zr}6n0uk#N-FZObYOF*i%=z)@$hjWiJS81qQUaEzi8z0Y+GH-``V)*SU&*_3b5FJ@I zN`hCnMg6$fq&7n?bH~Dha)pTZDjOEYN*sSnRdV{a>w)*-L`H3J362a4E97oAy+5XW zLMHJuH(Gj+jJq8rGh6FAA{0F(mZbaS9I;{d@{<%#*!p+XCRwoq;5(ban>&ubw=*@s zXzcU&Yygn#g}{}Y;CmNGap#ZRY~RJY-&SZfCY+;YdI2R}(3sh6zlVJGCha_9%?)#U zY?3HoAQgHvP%wvgtwDzT&HmWC=LZ<2nuX=zgr**>D?Ld&i2lF)o>HH`T7di+5k=Z98;Nu9|2Lz8ki4`yDV^D6X5 z&c2=0NQS}Y8is3ju{N-w=UUK~np>!zI%$VC>r=EC;!G7?U^F%k#Ei}JYSytoEU@kB z;b3?Dx!0jWxIc|fg)tEM>NpE%XrKCZEznFjJy0eEzl6So{qVh!8R^Zs; zAJOm?BdOx;^L*roV7j+=Ee1!e1EEOK+ zsu;8us1CTPpyYifc{zQlvj40z>Xnss)hKCH+gzbbw*vXmoa2>qR8Wn#MSiTo$$GIn~M;EiK$DdT`HOsA;m= zlMU>TzDM+9$Me%G-!p&>k@fSPH2p?>h%#y4Vb(<1S1{k^RIPdA*TSyPP@a`Xbq?;^ zhf}p|h6&D;D}MTK?5Y?|hsT8Hh$z?OO%zAUTx0M0W=v+0S6xTUC?%A;f9;B>qEN7> z5M84mw%ajzwTmkbN_n88%=5E|fH+UU>OlR~!*osFcNWMNTl$9R?3h=Q+#jeDOSk^o zd=>1k39z7+{IzPI1N5Ak|J8Ipw3o-na?5%pM<>@qZ$|QecgsNwvXy%Y2}UvIeFwx_ z>o#^xda32M{upfJ0xMzkk*z7S`}y_9&u%V}>&3@b3wa>|@6 z*K0Yx*S;k^0t{Zx(BMMv?{CRY`WC}zTUGHA}VSyPiL%HNf-# zKzqfjmZC!b%_T!651jZA%Vwe#wkfp>OT(ALfbqqid_Z%+l3!RzhQW-kf-+Ag!EX9A zNT0d&Zfh%IsJ13?8S0TN8_E)Kvsbi3>0+9&20$FCP!W$^@vYRotI(tFhqo;$#AAHc zyjV&$+aB2JdyU_Zl^Ra>z4F|Km8WcW*q-%C4S88yyJdiFB)>{&yZ`rw(|6#vSQk#1 z?mj1vAHMtgw2$MZo=7l=Qp@*lld86dNu*I+cT=`0r%wK>+(N9vf1qFetJqNEMF` z{j~suM@R0}LihZdc}ofnz}0gc_i3JjJFzCjtSw9xg%x{m@dHv1Ob%KaH^)w}E*RC2 zQooTIuJ-TX<1@i3%!+E6a+_QLVys0)^z6>)>CRfM#@eJ52)m+pDX1pjL2qKLio%QW zlmWE<)hFUenKl6JmhA%npuI6`+p|9kM+@uy90DqiI}^w&{{528f1vPxplVb{nXoSG z4whYEtODX{X z+MEbO+wW-#Y%JJnVnjYF%w7@?X*qqmU}4f4V>e3{2I4oaNF4CAH{Rfx-R1qlp6U@+ z=w_M_H{yC@Lg(8Ntn)*j(W&P7tb{Ehzb~oj5poO<+dbeke6Fzpjkzmz+rJ!UG)}b8 zEOE)Veep=}<=zPwxOwuv9MDF)UtdBK2q8B<8b?kY{4Zu4A^M=;;KDbed(OG8JgGS5 zBhL9M7Ilq_TJhiD0ZmibEGFZK{hG1(TJc04yjNeSem6o*0d}>Xz4-H7l#eu|&B}>- z*o7i>g}V`dk7CURf7Jswto8?E-&L%)Bz9MzDdFA#GiXRBb!oFR5_k2?>EL8|4p<2D zAO+`>T<6e=Ux>Y?Z~JhV3oc9fn$dd(&4+dB;SUh(0OP}+mR`aw;VfB~zqnTTU2vLz zQIP@GtH%{PE4xdm4v%>+ujRp8R1e=LJbat!s=mPntnBFSMQZ=&OE16voe)#(LXaEG zPWSMg96SnQ&p3F!qx)$thRf^llJua%!gkX0?d3M!<^^ZM_H*lsv$a6dEqGOER)7GgeeRlO##sQHFt3vBftOaZTVe)pK}IY8}rJRlV?$Y#LPO!$ASq zaosTCB(QGQOJ$Nq4ywL8*@hHK^jlv^E;W4#uo?EF`Hk;{*6{wC+DytSqo3hkm!u-T zNmDTN0-XQeHQ}tn^r?fu_$^62v)0Z@H%-cEy890!XV)UF1p|z8*|5QQOaRfs%?_2Z!;KYz(;7adt`1xu<)3c5czZDD&FQa7Q9F3j<~LmaRlnk zK&D@k(B0e;J@|4^trflAq{!~Nw}&?3<0%@$;=wK9Xc@6t{-i^6SlrF@!7*7boQ7M$ z)G81VRd(I7%e1NwXSx~U9Dv@Cs<;JqG*z7+o1b<2I>7p|6?5N;h#k;S_e;_8LY)&F z?DEIJ%N!itCHUXOl?CU>ZA=+S^4A{o-1gILBdXtki(+k>BVq+JRJgXCQJX`rw#cs^mR7FUO`mKQJr9=GV#Krq_R#y49&cqF1W+=RYuZHf62kkV6@fw zj;#W2leR}Id{(7eA-;!pLXEtbg_%lbOVL@;*?#q&n{2~P@{7$02ezcs*?KSzTKmutMeJ}ABnFdz?q)u6?us=_W+IqCZ*G)j%?JKQ zR}DIm*CWZD^7!XulYQLp&W8)M6aRJ?^dD0ovJmyS^m-l;vT1~IGlzU?pQaxbJ1IUwnM_4eW+aA? z#T)(nxq6#)sYGGZS}YXDPieFPX?gfM(ZiHGl15gQ_vvt_FRraS3TKOrmj5XCf@0i= zPwAfXaO$@vv4nA^G64OC|XQ4Z^J8BwFeA}W~gP43<443AzyoZs&jpHis_8F%QonyB!rJE-m``+G^LB3 z^EUk2`mZQG>nIPrt9W^({i~oZet$|59xnb0Jk?OFwdL8XH;o}-4vM_ii&NrfqAzz- zZwWo1ex^9f3IG^c0VptH-Rz@*VfxR+KW&6dll66QL6~8BHNi*@rQ8jr-S2uy5x{+s zK}yqv_OVw72D10kvPo?)X25yCw}=ISfz)NOym18$w11|Q+aZyZcSSgE$ap!pyjsnO zl%&K?ou_+#SB`nrzMODI42*B&OlU2OX4Oqqld6OwUTam_Ye_3`C2(a|VkE<_z=6FF zS4GPMWUG9DGb)fsQWoaVs{B>ifd>Q_G-RC@tZ~dt3_S3r@Pq>!b`%nt3Iakq>2-c66 z%moDn<9};ao^-!srPO7wJTJ>)xhrh>Zk0HC=}H$n7h9zPY_H~jf4e?TCAbL)KwMI!lhc>a3AxX05ZKc9)5oReH%Fpy2dwB!_uXTriC>}F@#I?^X4X(XR-u1mYL z6P`+>9JmF?Y7qneTa4q8CNzKIwtM=O%idl+&93|p)bIio;@VE}YOFRu`TiIo0L=Yj z)%kxC|920WsBIwD5ytmlUQRLM)qlpjx^(aOKJBYXXl+`|-AMx7)Mtx#byO zXd{no*mI!QgoWUqiQ|s3Br8dJ@EhIB+&+8({FHkxlDV{@8f^9udM$%ZXqhi<5K zL#BVb2JWHwj(5E4&(4TYi<(1(&=fye=p^JmN3#on&yi9LZ7aluvKayh zxEXv}J+k1ywmH$cY_e|U;~g=;vsZEqUU{;gw|oTq{6ngA+5h@etA#<%%@i-rt>M4N z%I#E$>b{*fVf(`j%IfRa14i5PYd}jG=M;a~&w)e%XJuLi`A6LP#4FbkNK|=L_A^7) zZ2g<)i`hlLn@g5|plE$)z%hPcS(!bcc(wkZ+5%fb&yrLxRU5+2R%pt@5cOJ)>rOH*=WQ1E-V zSLhQ5d9Wm*(!+aBUh>xip*ViWq%N6Ts*lEuG@kKTTeZ4O*hKw&simPgl35{lWb=6s z$NO>f;XSX%pZ17orMDR=vWU$yG`LbyJI&})Wy1D-<9aXRqVnR!Ej7nPI+y_l7Yf1I z6n;Rm+Z#|aS)%#$n#Ye>aJix;WA#1q!>+;j+>+JU+(>M2kEI5mq-aqHjk3;tzc}yb zS5qwW?VuCN(TQrcdf>Zjpf6xW-QyukvY9sEC2*vSE6Hd~b?)`e_*`!KCUH=4Y=$_pClgS`x=%TW)mlpZ5 z@H;K-h&an#rEN}_N&`)krf3{Z1F+_7jR$u&Y|sovmpIBlF0L4qBh=;6vWOgwxMu5Z z;8ATD&l_uE4l67k8%X4g71WPYlA8V^w3h4gCuQPp-uFVHNp+$@QVy4z#IGCd$8sdW zU>7LEo}_(SmC0TRa~+hdJa=*LzExV+X~RGgyO4T<7=QMSveb8bE^y_qWO0ejyd--5 zWj~`_Dn)kQ?fKx+Ny_N^a($wSVuSnBi0MVE2^H)76)1HYoJW1qN_kd?%5Z^`fMxRa zM+1H42fd^n>#lrb<1fkm2?}jo@gsHI<7Us0U3Lv#8)71htSNu|`}>EOI5d=)JAK%i z`q@me(C%K(DAlP)%8%j*=8P5OVt0jv7?i|$=(#Aeu*88mNZZ*H>M2XWI9^Xw52ij6gbt4rg zZY5>jcFSI)BTE>K1I`WrVomL=IIEXg6Z6R$m{Ei~Cr#P4!s_~IU774rdSCiD!X2{+ z{zOStWd7GHH3rLu5jQ=~B?;;)^}Z<29gMXZcMb#~u+SMH& zHc?bi8qf_kM6uc%{2|>QghenFaF(MYPxn>=CpB=g4{-u+O)>rJ0eprGxAycYWo1Jy zb<>~9)@-11e5;EXr5;r#93;VxMevx3#l}+EE53s6(e&8MUBSQCC<#)+PvxgMGtbfy zjuotF6R4$KzTrZZEeDCeXZn`w7P$^@cye84J@&<1NPkJNT;KN#IWnQqz7>s1G(;%) z(&V~j2Sfjq{m9|xFAX%%vG}i9x?HW`NRXbc7W#n7&}Gq>b(NI5m(vvG%w(X!p!qfc zd?s4Opr_6BA^5r6)?c)7R@fGuXT1SUAejvKOs3ch`L-rbo{Hv-*Ed)a4P4IG9Ey6i z$(odE6eV@z{Bgc?)|qTy#es>XmfMI+nD&GPeIhFJj`XL~9^J6+7ruU%Qc>+o9$`|N zS<>ijw*%utI!TLntobwzY`G>8!!oi*cz|9tT`m&V>#0BUfce@D*HAp_owvJwP!pcn zLWlGDS)7^kLWQLKt)i2&?V0cz#&wzU(qg)KP)1%iR+uaNm4G<&vX}VsvRCP~M^nR_ zI7>oSxtAJ>sPQskf;IySxdFBeL)AIA6Jc;c8E+>kXXc8C9 zZ=}$fG?)WD;^p?u!YzV4opZJo?cNP<>Daz2#@_E2>$kK#RSYIMBBq224! z;#>3)thG4 z=qhXfiaUD00YW^3P{ELfggr8xTo~;u8{KCd683zA%)w~9Bst2Ny(_gxQaW{Pw+xgnSak%c2ef; z(`s~2x#??3c=LHPxKUqSxGNFdEG=FUR zEys_2Rx37>xl)sS0_-?!TvGQ!g-ItLX1)?m-8gqJc)He3v=K;2qJ08_J;^scL6<#s z1>D~NRBG2Iw_kc%y*nSZW17LMn5LCw>O(=gGh6ZTTjsgds_|VkoW*edeH2?hevV^VuGKF5COhV= zH>}D9Yg9S&ng28dha9xtcSVw5>C}%)f7OnoNZhKVoLrA$4i9~7jBhZI!!nv%hOCsw zG4RlmL{2TMM;R%9tBzo;hc~8r(oLBy#5A`|2q!+EYM9=*%Hx^Q>uLU{?CE4|e=0WE z)Bl0ery6qpxZ3d>5W9j^c5{__U8mPwUx*`j3|xoel|)4<*f z^yFc`Z^!HQ*@spn;X^`dU+UTfx})sxxWtBNeZoNRY)4b$8*R?}G-UBWOOrneBH_+Y zUGc0E1bv7Hc1VRhzgb57OV=Q@#yF*nY7_Rx?Z+!z-lwhjm$0e6(Qr9t#M(cQXUkJo z(#hnwE%S=>sNt+Nwg(G1)h0>PxXpi{PFeWxAC+8_meA$si_fh25HanO$TLlHZ>?uU zLNOwsG z@ICPR?CKjRvKJK+J3q}e!Tb-DV8R>mWivEsO?sMqa*Z%G-ml~e1#xr9tUoI&a{uEq z$=;CBI8D@z-5M`3My4-M6AdqaT3T!}BghyocYE^3O<#=q*637JM4MrIeEo@6{Qk#cVfLl-DykSnM8!Se9&n&lr4b`GW+lr}p0ORe+PKTL~0 zNoH`DELiW;uzMwTW0xMgY>{9Xr#h;~yzE|x5qmdB8~8+GVYb3N`7>D5!x)_Fra`e; zk`ide!@+gMcM~*T$@7(!sK#CFW7&o5$OO3?1iXCJ*mY)czZmqkDm%obr;Or7>w`|n(r0tW$*R-PM1e{cT z@(T>XGyWi9F;J#*~xaQ>d*{gGJ34O1dxi8GpF zme*Po5~WJHEPKh+4p70?ck`JD1Z|qzS{sSYml*l?RS{wDZAKA!qkx+$ks6;LXCwWW z8vC=qxr7#Q+p%C%A-g_yZ0?Ey5~pgqiD8BT&<{JXJgOzax#@_4qo)}^34B1`7H&M* zoF4N&r&59b1F@7brubh}ENC(imb-0RZ)l0#-8@$pvQwseKQ=e$9l@(8B|J$v*}c>) z6|hl$8@@Kv^w7Qhx6~)XS17R@z*heu4E+z(TVGBUI8keOyYAwm#Ua;$UeL8qamyY@Ou>%w?zWW%zO%`MVCPopyCr2412))J#j1MSFue#1n%4n5 zeJvik2y(p8UP3?~p8N%Q`~8n~rwIIYb5o-P<~bZNDgFJ#5vh?R(GrIlUSe!z+rH|2 zICvMe6E&2W*DEcs2`*>k4%`Zl7tn5)u zJ?vZ!>9Q4a??bTsk@lZE#LcN#ahcdF@dicRz%RyuW2}_5-)BqbiPe@lhNxv>^D&zV zkmI|dtuoak8-M5K2as${)_q%IGZAbrZSeQ8Z&rvaA~)w1rGy2kG@k;W1u9#jYS_Nn41Le=;r>%HTb~6^YB(ebFm-17aOcOl;t-uU8EmZKhr+nDhz zDlp*sAf<98+ibJ0Zwmh^Uj)2D{rE&6j?{6%DJ|TAyz8eO^S0~e)Kh-uM7@uy#ZtHT zNoiVX`SbM(M%FZPs_0OF1(Zc(|j zq5)#@OTfSRFhW$b(KKtq?!8VZl=-#tseq$2#Dg`tu)6-sM^gA+hz?$!{)58^y26HN&Q#5DC`u+nw z4|tL@v?WO>)yq@>vMRELb9jy zYKUFpzh?WaD7VfPCZM8V?@{EcqIw^JFS-R!vcOmrIsUzw^*9WGT%AcR?`yOm0lu2) z&!;r7Oq-vyDLO6&C^|B5BHa>ResWBv>%qy|^^>Z)2zxQEtWX9^xu`#Fg3gd$;ej)a-%96K^Mi!ox$&9RBM( z>V3%|))@ks;?#OHAgIZQSck7?egQ2-JfmYfrj9&65Pn@X4$wuCZ07vOe=~TUbJBy{ zLCz#94kIz?gW6;b_&t~gBG;pbzn7}bt@k6gJISu;U3kHvz7YI+XG|L~sVJ6&^(=sO zpz~j0-l!3RT{EE|EK0G^Ti{Kj1xIfX5=}F^l>U+22NKarvBQ{RL-r6s_;uKot>83) z^Vs(=|Bi4{PF}54itHn-dd^AU6n%pDW6Sr>ele9aPUG>g2Rn;8@kS9W*(O`A&)>E- z{gxwWC6!G)2A);-$fcJ1LO0Qh5gt2db9cP;*KLM0wsPL~j!08%RetFe(gdM0q5fjn zjA9$ltIaS6mY(#%gwC=EW`xi>15rsWy;(vBnH;8EEB5X)(<|1G#+C`TeTx@?oW~o( zdDiEAKKX9QBR%JfSq;SrTHn=xfd&n^E%wc}XCBb|{>H~uKBh+{!Dev;fRW020P&SY9tlTtHXR$ETL~ZODBSa@Zxm+|s zx*Jg1LDMeUYSnXF`fDaV_{8&gZVMMaE50FQY-tw2`XFL_$$*@iz+xXe=I6QVl*q0n z*r%w_pgS952iz%K78o4|0-k5>9cNEIic&D9@a7DwN<8&y#as^$`}i>5U}SvB9^Y;aI7apfd~Fmd zHTyO6$tTRbp)HarNdS|nbVNut-mvjUS%w&NyCqN{BK6HM$L{Jlo{;m1$ts1U6-yQc z_eYhUKk0eg1M84pDto1wQZ;Io%qC|*tt4!m1Eci6=lu_46{1%|^$$QiUppZ%ma{OG zDL=T3bick*+oE=2pQFMXJ57qU#)|Z!p8Y;`F_P4QRC7{Ls{JV?Pz6c`J`%c@DdcBAed}#11!l{y2IN%4DDFzH-C{+5N@h-+ZieeM7<$z|2oOl1|^O^P#!l zAG(^o)|a3>!TM&5!#RF{)oZa8Hl-NrUjn>$Nuwn&Xay@$t=bemX7&DWc$+89PL0fs zCM*~7YD`;0r?KH}{4a;dN4@>p*FSyZCh-JIx|{26<1Gdv$y_h+ZRJ>!G{PgKOsCJw z0ooXm1-D)q8}0^xukM$4{)^`8?qC1Y&(H1dt}ZigrpUB2-|fp>4@@a5m=H{S$Il}p zsVmyu#jL%RuFKM$9S^&^6T_E&m`$}AC?Sqd407QoF-?5beWO23JBdZg*yYhA4yRSn zcH?W1NC}zUp6>N@U9OWg9?>brfN0|~Ik)G%8bod=YBz*RjR%Bln!I~UVkdTLN+qMl z$~E~l>>ujT{5z%L{efVKGRG$v@|ohX`CuQ}c|A;s33#QxfA=9w!%l-isjr~SiYX`) zyk%JN#|_XMnmxvdNCMrkogo8y;-t)+!PQwZZWi&P+$>)p1t$Ggpd_{cg5KBVPs#Z- zfAA}LE^#u7Ta^>XaoL3K2@FhaH| z&vNa!(3=sykN;euGo386`9!?O`i(g4$zeXa++ZU6)X84t;GrTA1g~VyiJ$4E$1{}k zO|{vM+?|S4Ut{6mCLt0TVoJl1{H9P+!_!RbY557DPU>^v!T7e}8^TzVrRSn9mV!Kh zewz1uU^y^=?_~EM=pw$UEi`8w)pPZS*p247jpx>UKkW~2VL8IzSM z;M&$`E0@g{=PbOI*7_tnXQMMHAzH{Mu-7D?5C49a&jdWIlo8dKHcDyI>=z40M!#zv z(=6+w*@n3AiIGc8fvm+oz5ye>zZQ}Pr&s-N?mi?rE$@~QzNl%Nq=$p%=a-@_K7GLn zaPr^@jTPw$mIB_lU@y^7LpSo?xS~O&opNmaVt?QZPi~*j7d>X@_5!C%6VL(3@V1AG ziG`Dqz(_upt>y~V8zW@IVDH#0TA=DA`Q4=;AoGuyF8#wVC+opr3ByaxP8hvAJj8dM zm2~=3Ofy@7@ujbd;e6V4DXY2IQ=b^2ixSuS{F~vp?8gdA$YOQqnr_*fsc1=xgjjh4 zYfNLpjsJm`k$waQ6nS*EM2H_XeM;)!whE`5&$ht4(0h@p6WBF0@r>JLiAzAC|+4w%@vS8JKCl=~aF(p>baeA91 zT>JFpkI{+;e#=m>$~2w_?ft(VxW2OQm_P`L-9y8r3CN4@7kB@BI25Uu z?2CA>TT*|Yw3}&w{aq7|HaaYq*F-N*?m8ek`?E>5R3jGRVM&d3Q*J`JC2Y=arlg6zlS&9=1Fd<$wAxE)l9yp$I^k>EnEg2*aKZbGGpajHAN>%^O_MLq>rH z$=!?69ACpRGD#J_#E7w9qjp{-F7u`7wgG>*|1tGA-ms( z3hGMNPmt-b%6;t<+Eu-BqOBW$xNRtD+a8`7x1~8_we;?TEXSU*>*c15rcQGkEI%IO zs-XG%GuZY5N{k#CiIm5?+|qy1sAgjqBxhZ@%eY~<{uYJ3Y4Db{yTcux4P z2)519sQ=Mw*9TKhO&RHXQoeU}D&s5e5U}arm5(23WoVe=&i(bM!}$JH#+up^X4rN; zKzeWs{}?||E148R(Xh<)Lt1pzgyWq@o~^H?R<=?9&zJ;GrOnkvwKxuDXIEmoee92b z*@=+2SiYXph(f>2k*CtnD$rv4*K5!RIMYc{Fp#vJ>-c%)Q>L`vlq( zq(DIGgWW0k)trrQG14=Z`tV5ZvAM00&e9m>m078Dd4J>`{*YjkxaR&}(U=&sb zW2tXzqD05BQC*TG(akb$D^RN0+)acJL!>nqgM$2|Ma6#!YyE{EQk2&Yr*mE>AXlI= zh5`VBFv51*`x6wcxv#xiFAZK(jqqUmdX?TJ(xQBV%vb7*^7#WE*!H7PWcqv~Fz%tM z{%TrkPvU`o?%V!B*E^g5W^;%0o1)<O3?Sf|d`|8jSrtAC}5)*99)TUmCszK@^t49SF0DFs{HbXX_3O6n4YGhkw3tzu$Ddaa@A`mj&kgv8AJtwej zIJ;X>Ek?R-(h(%WbpkdAdx-Z#5TawMPEG;#)5+Fciu50R2=!rWus+}Q-#6q}kTj+{FHQeW6!!J-eIPP77el-uQmQ^Q z*U(K}_il$dY|>K(U$Znf5OO1RYFtt~YT7>ct^^qvlLO9bkfW?#YI+UXsUQ6GYHg}yhX zIu8b}r$4_5*d4X^xNhk?FR6CnIb2@}gCslK?z<*kG9AG*4Rg!BhMu`TFL9M({2gXf za_otovK^Ow4qj0Xg0Y|YVra6$w_4uobui$NwsAi)A(C%;b)S;p&y{t$C~k?IxnW1G zb6rOsn^*VPM|#TbycBhP|G_(d%J*$InRWw3ir|M9o055##h*_}Xc^qb6T1?h4WzU$ z!>)=N>|<@BZ{Qro%}rH*1M@-z$5os1HKB$jN6|V??0&Lc&QmPOq7hNfBnBzk%qjaUCPA}s9Va(<|3whQY_lRl{LVOx|5Aek4a~wJpFuku)bb@vg$sFa2@?wYJ#8ty-tJF%k_j&^ZLS%$=y^I-z&AT1Nhrzf(>bj z-x5^C!Z-dl7|}{+o*?A#BX&u#T$H`H3qT-o`U{%zJx2Rz(9aLICSs=s?HIfJ*EA+x z`sFh)Y`lf}wEa8+q8VRreQ*3dUDIIx!zNY#)CtH+JE1R3$99*ai#gHI#R;reX9WVB*y(-TiW>g6R3 zf+VTiVo&>8nU6`r_?zFaHs#h-RjVKF!$2VBcuf$6^0Hn>DmVzIdHojKxwP8Wv*%TP zToZLPdZsKnu;b<`N!9fY>`21qH`%q4fXS`cGIt^O`!;`aM1T`Qw;lMc703b(NI|92 zV%9UGXJR~NaA{@sLoi{y&{j|=NN#vRVxCUch2e~( zZjH+*%rbqK?fLcK#A1mH^$nZQ!A5zQ&DqV$a*PR2)Sw&mtc?r1uA@`|V29eam;f_B zPaQ%$ha?y(2Tg;p21#8B%pi6aY5&^v5n4pv-`5agq$)pdbg2j;2oK{S z^l$Bj-c3kM#tE)l(LTJh*EGY%>%G?v@TC}JIhBuvmtO?k1o`9|^I{RY@zCm-oq{_( zCGU(zxah=O&nV&b5+Ck}FHOPB_sC^A-JS~lHKC~EnCSPq>&?BUcJlWDn;%)t75TC1 za&oXNiMJ54lNDU`V04c7q4MIU;->P)gp#U$4NG7d)>!|}wBhLnm?ZP>YHK9@q2iFb z&1EKGCEof}#}^TeK@iLG&vad|kzykcuNH`>>P%j-$brtTWsAwzKi}$=?zuvxLTwOC zvTO^Nn5&QRFWef=_C~nnkG6Kav>(a>(<8xbn?p?o+w19XJtebpp80q`h04G;UlmtO z1H6u}y9U$TBlyq8P!74>k?Fp@*V&wN4u1N^0}fn1;?cEw7=ug3wrY5{-J=JMBV~oW zt}o;YcV-*?%$M|H2iI>v+@(^JXoEe5^Fy;ds-q1(2yGW{!>;#(yxG8Yvm z$o5Y1#;*V2O=h!C7N7EQC;kNV8ND*%dq5Y9*dEvPyU*GSk|~~wg=(l=s0S=XDH8Nf zM%B#XU;-zQ_acy4*)9_)hf@1t`4jn*hKZZfRX*q{u!8v4U4T;EBMw zS)gzKd0*Lh4GGNx%`YZwly2P!N2Jk5Nejd1>#YvIK?j}?gT zraN*LvPe>#W3%WE?yWui)swRuwHjXSXB|&}aOfTY>3(o0VnS%Al=HrL$72ejkK1k4 zVx18J-HfJ%EAl=QLq<_c6bm6u&NlGFn?Pe5Hb&e#yE{!)@NTqRbi`AEgYzhVPxe|!hUWul z4Z*K)Wc0&GxsE8KajQC~ta!45tIhIjVmtjNU>MZnmS|?0(!T*EtpRDdQ*h}U1s5!8 zz*qBta@FC@#Y{(*T{cQ>%0dsv@q++iyQkPk6NXn1ps>C2D)zbU&UXCx$GTsT@r zBwX9dkp3?4lM2uAAQEtU4_222SDOdfVj$!K$N9Rk3rHr%_gPL^i$4QvMvc7T@>20YGC(;lg5bEkAJ|Rcrz9UllrQdyK`2Esp48kX zn{E_wHTnG!xgglPO*$|D9w_73x(IcmPXLm950lrRjK%KX`X1F(!P--DKmjkyk5U`* zOh}DpxvzP=Fbey4=G=s}dB?&gFWaFbPsRPO#pvvwRClu)qA`(&6E{Ff8g_=wM+-n= zd|C^ym1Y$irH%lsacyX&hV@DxcsZX7-DtWL(WYcbMowm zglw;{!G&a7pMjB8#A-vgn9xxw1Z=%2NZ*I6s&AoW{=`fWdp>-cE;Sw_p$zB&1#X_? zV_En(N?LZOIN37(fzH08Rs$ zS5BeTLd}O$=b{aXE_)1d#t4U+V@oKBzuelB(^U_Y$A#nUVq=Fgrmiw3oOSV|pI0!% zlEqizfeBp~qiiZETXU4Em=+iY(T+DmIRC2CZ??zZ<>mXMi=$FSKhLBlA~~9BI)Roh zt$R)2=NpYH0rji5TQAi1yL;VnZ4}qY&gT)Tkn<(u^6)@0e>pT^pvTfz9Mp#zHsk=) zsvTXH{ZjI0i?yA=^uXr$t_=Uueyb=NK0{gmoaN;!gq)K(r~FxuC;kCe>{zH%CqemZ zfT{n0?;$IJ8y$}Hws&G&s$+RxW=`^*emeN)2F zJVUxJ)wJ*TetJvbjX_tXs3eJPHER;qcD>)$hMB@wB1F zq5_uzx?2B0b){HETo~C$MI56Gln*Ze?Z%}|Kr9`gy;Y>=r5sx(flcR82by{iErMA& zEG{Lacc+YSSGeR4_KC9#*6Vn&dffU*VC$S|nUaW8PAS*e$(I@7zRl_b-xKrCJR5bA7ALuJC#tQ90TckcWiNjRg zAe!$LE72KE^Pr&Y`w{%-0__Y&A8-|>dw`DB|HsEM-+`s8(}tBso{mzjIlDfa zUpA&YWXaA&Sz3myz9xf9N^rPwkN#VobhK$TtXrJOnxt`+`~%am%De_V0f1(RI&u1`}ZW^V&VwM}JhYEm-{zsY0^$e2Ye z>JR-DJk0!Zw(Y&Mn@Nh!ojT|^Mn-gY6~9WWY;)a|9alWsZE4LAM`J}$)%gH(GAwH* zxVMHMxO1VX^TPe(f!P|fz#nC{62D!guBJ&8Jn^G6x&&Y}-lEzKr72N8il4;LGw3eq!v_7@bJ)FErFz;A>}1i-snoj8d;EXFt3= zEB}fY$K7v0TV4c89gA*{Hfv@*2oTeHGZ3C>$k2zYsZP%B4Ln+;-Tn{CIKyTUErm)O zSc^aztUq%X=2lsf-ONR~{R2IFwy_&69KC#sLiVh1prl_&IoBuC4Tx<6rcwE*ZxHeG z5+tp+Vpprw@c}B-U(YrOg-fagUe7EiJJU2f6NLG9>R#;_2>IH%wjOt-kO2$w&q&Zl4K7{{8xviM6Iz zf3Zhe^{EHb~DMnE5JSy<-239LrRghfLq9 zL{XfQ3lclsOm$Jh!ud=15IR=l-lm`k3Rs_by`xo2d;?(P!Y z+I9m|S#z>CT}i@se9?0O$01)y0r&(=BRh3wT-0)sGNe3F+LDx$CsFn%hNObUjznF5 zL9NCN=JLy=EV;13I!8R%ZE1}8Dz>l1YfLq9v*F3Xa$BvPY7Lkv`abLx*j$P+J8x;h zx{fqwx4f0-fA799`->@Qpe%~p5tLxoew#+2{R7NJQJA?lH|bgQZD_HY(*=Rf-5&v> zFRO@>I0yjJNd7r-^#T8v&%HRwHO`5hU9j!uR7?=?Fn_BlTM(dFS8!lh(rQhmps+Id z8?zrESGd9Q=ZghBPL8F>!;I$;5yp(h?Xga;w*epFqsW$#&78{b`V1y?y^}i>@Gj@$ z=tQKsX3`pfCQC)KVQrJ=#!Rgaom+Dj(cMgZ2S@WwQuW?S4CqpUL3^dwH;ss zwBx-p&ZGzXb`qP+y)9DL@57fIIRR#91=5zp;*EwPi_PxL@;N?mN?x2`E+4D2(iMW} z0~YBoxs7yzG{}p>*FVuZ7{C~;4OuEYf@C=fY|9`{-xRj zOhFXr`IFGF2X|jYW{K<@4Mru*U$EW4Y-9btTAi3(FZ`!_XDohNG23f=#umZ#4->jn zz;_Je6Ju^Geg;5`c97Nsr3BlRm-OvxtW$%#jn#`z7lD}s#?J?M5~F<)FuBFr7};K- zWEYPBQ=Q~%DfKSn-vd0~B4H8#VH-udx-R+(FCQ)Z*>c1DxJuBdu8!>Fph>cl@RHHT za7}O}pm6v^)E)X$57J!mJ%a@GzB21nnD0QQ%Y^6zy_ZnJ?<)1!H$F!({&rd3JaP?a zw(!FTv(qzTQWdzblJT0i6uFLhH5stT*T;?#vTfymYA>dD8W!N|pj~BYkOWT<^zk;H z1r;c6HwtK8!U*Q9lgc-3e1WAo14&d=&}ap7(HX({nYCHMv=K9HvFKr+8@1ALdAKYD z8@sd$>7MhdJ-*4lY*c{rps$SQ%U>yN=p2*Ox}EcW33dML-VU;0liSfW=QJsTT>UN5 zQd1;uYJDcj94TF3@Ufk{;X0}_r}AQLPqVoZPlOzAlWi5keL!pWz^F|9NwKuP7cO&R zajR^U?P38@UPgSJn8Z);WswQjy8mCsOC}HeewoAB*<( z)fSoccEBPTlNJfD%CFn>t_W$XE-c1zUQ z+L!rm60L1)Y!S3rv6U~yOpnE%bf!I|b^@ImIV}s) zNT%mKovE0bfLO7f)TF2)TPoW?l1WFA@;f_e@tev#N!H~Htx(=s2~{(>6$1%Z?{*M^ z4ehi)u?mkknZwqpkDmpw(!6|jHk8;9lc;yte{_%NRB2bqp+!ddO0mO~q!ImWp)Shb z#Id%vwu{j-o(|(VG^^~>rKV{5JcC5^(EgX`96bR`Pk?kqX5T`7+c~BUYw3S3%~Opj zf$X+4Fa#K%|gi6#?+)h(T=A&C^HAu&>YL!S{9Z6d&?de)}ORJgV6LmHs`!3-z(n?q<~_JSEczOb=k+8)xaeVYpS%2f5d&P zKK)5DpRRitf==sB)h7OZTviHVu{_ReA-{_Dda$zg&0;hfwU^g+EZ;+s(-V+qM<6j* zVDMCna{FW5tlQxm|D#m^rbDW=S;1($NgaVIXOw5GD5kM0@%5;SqiF|ddczEGzy|Nu57dH2;xgcIbQeP*Y7k3QGqi9=Gd%#&<10)=zi)Yx(~ns)@r*-HsH0t|c9L2t z&`%uYCJsY0Ixu%D9ZB%Fj3krWk4Seam>h(SP|_ljK6DlHT&kHpUea7(j8Zu@T3|nR zk#k8j49988jg)wCf&K$q_UxTDzEKvfjOCRq)5G+kDeOh6G0F1)Hy0wjoro=%y<<>b z?L=cO?L4j5X7j}_^n2bLo0-7z=VXuaV>jw#5)3C8oCCWreM~`vf9c*TI*cR#_;yapXP8semiR?e7)B z(4Jp-T|0C|&hy`}uA){iXd-fYfoBaKBYLOr!el8-6rXOm=)=Es{J}1ozimF zZRmGctt;BYi<0Cg=k&97XlL)E?#7Vtb0<=)7c?-pI!4V%6D#MDjQssh58Nvw)k*jw zKOfuG@pl(*9B%~A?p~(c2`w=A3O=}QEiCV|a4Im@>nhLIJYG76So{O61p14_%MqQg zCs9b2&QtZk3wagyjA{dAj~%Pv`y-~~YcjVr(%PPeT0j)sfusGxIXrAuYSdU0zsZU64A?WAZuBKT*#z6 zZ_k(T^Jm#1x6Oj{OJxPwdEF6sj|sIQ>f!NLxU`Ayl}N;O%7bA#n;(=0Eq7R~o}+Z9SAh@77*Q1G3xf`b?DCYgB^ zwJhLvT_0t7_B#$|Ip1O_UJo!*LnHPR*X+t^v4)H4iXDyVF|zr2?F}dYKrLR@Ef3x> zkKAuJJAJ$dKQfjjP9(AoJlUT**jaCKgi)Q z0XJP&xo|*naixnOqi2Cki>3Z0iHl`W!{pV7yZMNYf@mRHKn0frVC6EgzO}3YL4ru8DrtG$l@G>XCo)g-p+=&gf%ac@rL!ki=#t6D>(kU6Qw~liRrmE9KCC zbOd}0HmmY^)GrwarMERnu+v6+2`lB44q-YGUbkg8I>DDVZ1~|8MZhG7>9b4ZC7tmY z>^CDH-wcaAZI^**VRw=%>~59UeUF^I~DruL&7T_~PjfH4vxckeeSc z(u=aEp0`AinpgNXg0YUZj7uJ1W}nV)mUD*OysshZqZe)OaKF`28t!;S4V5rNxNUDw zNo_kSA7uvEX)&}*j5s?lP>$D{H6m%(S088AFruWw%SeF?lu~hicp!=Gs(B-4`JQ1C z2G~Oz#)f4n6wdNphE(+L`daKjg>WCSv_7j+#hPsXvXekaUkY`c4K9nefByc zJ9&;2Ez0jjy7(u^c6|k6TL7@l+pY^QGFs*@u`1=!SlMJ!snB)u!S^f4H%0bo^_pcF zu;J|2<;+{<9PZC5_Bsns!@fwXm*bJF>>(>ha2~(5dkeB7d^)g8iygwPpM5Vi32v5} zE;bTzLhRmufq-O^f^tqYTUfOw{k9h?3!3?!i;a7|yVGdlE!(+5;k^8dm$H*XLp-Uk+bYahhAlQMM&XCQ55YT=x-?=T zA#wOOwu+t#g5wSOFLy&~I?4BgJCfOS3ag|@v@aj)u#_*#g{I@P3}0A-zQDok?1mSovts@Bf8VcjwqUiU z(qO`;XFfPDCxM5&aZ+F_wcM%FpOjIN@Fo5wK^`bNyD}jeu*D&{tKi~2@DEr4k8G|CdIwju({Qa5 zl-0W|REn4F8_&Ib;1SttH9t=|3g5Z0?NTerwUjdO>BpNl?3pMVcq-j(bk^IO_YK*T zUnm`3eVQrU4-D9kMyFJ^iWWoN?IfT2^*gz zmc_~|AX_5jRhC0dL71jfJWMj|&pfg4A3I*vpCOJ%S(r1~#dC%xd!Sm@@P*Hu2CuWV zM4!(75+Yd-lx;H{H24w~@3NGMJ+y5yy)8z4;)#((Y?U&%+sd@tA3_9nZ8DwEb&er8 zOi7iv#U=!Lc;$CvTax@$K~NzerM_=sPvu6RQD}jZ@2OAUt3`ySFSMHY_Tx6{bG%hW z>I!VKr?2qr;%dshQGY}5Y@k1nJT3TR_`ZzH^;U~s=1K(S3ZNNJI#Z?=Ns6KjM|sHC;OJ zv}ae>XkQNS%nW8ExLC_pFd9B+esnA3n`tCCcvko~g@0XV#;MHEH z_kLlHvEgiVX|a9530B)3P6ca_y;YYIUB|{(=~}v*K{yVXus4+s~ql+R?u~ z6{J??1{v_DeTCdVYlE5Y_!mTQrB|_*EDT^o2Kb5G6^Qvwl&un^t*UqsSR%z|ebTyW z7?O0avib=jH~Gzm^~hzM#o9A)M=CQ=$;E?b7rX?ew?=PG0+K^lb>UuC!7+c9Z1u9e zi976HEEDE4KU3r+v=fy2cja2QvSaH?yVelQ?H?vSI9z$AZhe+gf4*%T`%?PW0jf5Z z^{OS7_k0$kyJ~I7-GqjlhOLrxKUQN@Z*rOt$=?p(Nq2v$$j%D7*gF&M|LI_uy(Pj| z^Lb|u$D3aFu(d7G>v8R$HcI1=m&T>;h(Udj@vqy$fQMWR*t|kxj8Sw zU%x9{sPkI1vKSiNO5u{O*a-?!$2uJEbuE!Mi`o6$eo<)SWF2ZALE%X-M73b5DBZu6 zB>R_kX+ScT#1})Q>?-dxj7~g4YI_>S{q_+>h-4`c>BTQcjsWqSTeM>;5s8LhCRBqA zgoeR@HqC?!bxYl1#ARRrBf342=d4p8>Er6mCu9H`D9BBdzB^oxV7_}+I4;hsL$&D& zVLeAKnRGZ%&l@Xo#6IHR?-Dm99tHDb@&qxLKbRhvZZJz|d#MBd-?et(zi%3t?&->&f7&*yy3 z`J4lz(MKj`yEwl)PKtXZ`d=@%+(1Pq?vEA?P#nt}{X(-S2>kU|s!Z3%^C#lk@TD|u z_W~@n0}Tw$W^{O$waSiDn52)&rP&R<&A25MxeFgFZtOm$sF0&v_UK^sjSa~fkLf2Q zabGV8jJ+9PdC}_I33Pcx{G@d>ccDScdlt*BkxlM)KP$|*)|0gb-((&6$;tl_i}SS% z`M!JntJ1e)AH+o-7GtYr8+qEEF7jJE@;W1J-W`we#f-MHj0xi~Mqe=G$C}faK76wf zAOv<%t#Ko0rl{LGXQt@{(okTQLZ?LmBQ8%&-#$S$9v|n3d)ZZACwSNI_@BD02JmtD z`ZE2ViFn=GvpyBRy5h;t!T5$uIw`TF8?W7|tg-Tc3s&o<7}u!*&fF%ar%Y>+%qFh@ zepax=rcXhdVV7E6)eC_1{BK-Kgcq-Er$3r^gRgi{ek;xGiybZ*ef15Sul+T9ZQDgp z?WesW_7ksb>C%MrpnV!L#F^W#{oJp#K^SLT#cs0gt2x^aksZ7-ujy(qjC!x$G>)TO zc%}-evUDkY6 zanuZJ3WWRQlEX#7xo8DBXRO`3d{6psH#QfV%sSJnN>;=2#HW3AHgkCPXEhq@tL~hB z_+~CR$H;mnvk((H%k(%a?(|<8SVXt#Lcf9&sL=M8%_9)TgIfeNDS(oGhk(@ zDdls}f{DC*SDejWV=8*`;cPWIZBOC0@vD|=dm_F};OgG^t)H-}Na{bWn*Ip;9N!OS zZQRTw)`@CgyB_s$*l~eKI$~_s7cYKGs|bxxyzBhSUulB(Ekq4FEnl?OUP+l zwP`=xQlaZy%$y66y@p~LvlWN1D++H8d340rTON)S1NiGnqeiTJpudOm0bh5U zee@HUs$LJy?n2||GiPDD_Duvm=td;+8VWdcoX~k2Zz*v8RbEFiTwdx*(hSom-xH#& zm$I-^-*M^I?VqxJjB_#H14^H`A7>s|5f)nBXvHX&t^P~Ha6p>f0Wtbwdpi>Yy?i59 zME*l`M|XB##z{*bN#BXsv2LCmCH#pG_-s~PLr&Z6UlzQ9!laXjw@dinkNV^)z+)xWu2L0 zR7`Mt;1|1p?ySW*9N1c7E$cA(ZEKM)g2+ zL8MXrdc-_$lRUG~bD`hqb~w+*hyxze;Rp(-5%@(cfMIV-WO9d_WMm__(ME~9A?sh9(@GlTYNkTi8=*<7iRRpeM-^&Jl^6hoMeI#GtD`|0tO--4Kb3wN z&w@yaao(zs!9)7JXb@PAT>42qFu?f z1q<~_B|?Jrm@vVU_SjBq7`jE2Ej%jI3OT4-j36JFSJdrN%8jS~?ETIDSkcN8h}RnG zMrE#DS_BfK$K}C`el)yn@jMZ-JXwg^5E z1ZK1SFb7w+LFR@{Qka^R-C6D@=me*B|H%qW6JfwGBj74Wex8!A=tV~ys+*dy>PD27 z2CF!$1WwbgZ&+$NF&?fPK(1fjWfYnUlqkDO?gs%X+oqMvi(lN$M2YlXRKybg7bcA( z-#^JcHpByhMbm9qi392;^@0u4wEWJ;VM)Add#X|K)@TYpIs(6j23M!aEMMwgXl|G} z0BD*q)WAVllHi~GJE0?M0Y8FA+>u}pA47Y{?&HP2^sdXCQM|@KWuf8Kp36=RwowPa z?#!vPQ>Crgp~J>a`V6 zKI`#u@0Z*yD|TUv3F)1amp@OJVr6CyS|Y z)&+%o!(M1MhY<&k%?k_oxof`xSDGi7PVVW|6MG@ydml_&3q7rv~iEr5?`A3AlNc7qm zgjsG3@{qIQQQYOTTbDdiF9dEd69J6%O+I2dtMv^#6_I@_3uFa^j^4;{;mCK%aUPn* zs$b+&4vQoyuLUS=q9Vo{ZZ&+UGPNi@bRQs8aKHC16Ke9~)+sQ)mULfKe27q}dIX8l z_G4|#+1Q)yFcmczTu>Xh5;euMhGa3X${b&ddbbM8+c4s=_`S}Ny>qqm21aU;%sCXc zVbSUHmn-=|F28ovB^kf&5fx(tNX!8?H8&5(L&;IbH zhgF10y{l&xBW%(;>9GEsnnr35&Cgd1WkrDyHL3y5bhdRsU!Jo!{*Dgcv(%6&&Z%jw|gz=kK2yneY$Q zol~x`61Hp2&$zgiO8uVquM8C++3QUh7&wulRON~E^X!$tWW?MSsY*=j zi=p+e$C;bZicNHhu@nZ)lK#yL5Jq#S_m?}Ss6u_13tL5Fnq(L2NbFm$;&sL)qqXrn0Sh% zO%k8Kc_MXrFxu}BcStJenuj;Mwa!V~XXysd1DtXu8mB61gU)Bb z&0^!Iv!k4G@YjaI?|*c-MCVf==L$8KS{aUSQCxV$fLR|s%8v-yPrRFnb!_zS238bW zTGAYKDW$wIA+pG`&>ae~-fUEJe5-5W9xczw>Dfv}8G=`=tNw1%j#Pdv;lzkn@(15G z9uH^-6!D^4n~;BL5}+c5uJ)H0wqt{%)geLK>LqZ_EU*^NsiCH(rraaYa=J(GBwjyx z1^UHeYS(kWG;jwfBxmY4uPU_=s0qJ74f$E;kaOoiO(n1boKWJWn)WAGywF0^{JL8A zM$Ex*p@q}Y(O~s~=nI`V*vt8Mh_4l@$@3xam*U)Gx3*Cz!owsVZh`vSQorGq%KNIm zPvG@OrQdYL67-t9PxGNa;fVy+`R{{LDVX69~+WHwAU7kWhALr-`raBron!}?~ zGyOe!!fl3^!|toJXFal?l4dL5^r%oxIjBd4@CW`dI4g~LOXZ7eN^_+W5X)` zCLV-Z@dLy)Us7=of-BNKc|HF{->8&8^8j+*-+D2CvqM(?bfsSUBb%x^L<{*aIwyXR zxh8B81a_DK4dvlU_3yPipLhb+_xJzfY-I@pNbZDU$}7Ch9wBB?^zRFw^$F)goe2}D z5APSy{z7BHd_z^-&%60=>a(*QWe2)6?G(Yjr{Y)N3%6>GSk>lKF@N~9L`V5CHM4YQ zJ)+0CS_jAT@=skWjwb?_UkBA0spaD zmdf?q7kuE%e zQL*mvZ*FDE6kcPOSl7!QoiEfUU=G;3Z2P=rioxCYa|>T3;s@`>nY@wHVNul( zlc!Js1a4T`3U9vLx3Jr_!cEh*;n&^la}lOx_6vXzznaI;wQZ zJe`cba37+lSmSfCEn1|8{y0q&4nw38UPk>%>shViiosXBbCo+F71%fQ;L4C)bq%~F zUe5(C7H$W#%fB{!bo_eEuQZ$iVGHwOsPTGEuNgmpz+QxFdiY6PsSR2(6z*I32c6*6 zA)xa4bMZlPCuZp&ec528ac-s3u8{`d&PvQw1>PC*B`@JwsreU+ubWQ+{8hW1-Q0aJ zaGe#DAsAie9amp}3Vrm)?IsY0dZ9`8^ymObn0dvYHEiwr?eIzYni>flwo6i!q}j?< zJ=?T?m^k!KrNGLPqTIsroO@Qi*3HBBf2+1>&zfOb)l`nY#6UNQP{PmYzl2J~e@9NXg;v&+haz?^ z)ERH%xBvt29l2Xzq4NuFieb7H(@<1s>hP?RW3dV3!>MZ&ZUMpw`BZ8s)bd18b~s{d zU(7@jpPL&1iWS+SK+hhM69Z7sA~bgBXVu<}KDx&)`8JR=R&=C;cYwm0n!HZ$Z7LVG zyX*Y5kx1sh3pTQ%+o;*^BKIy5Nhgf6(@UGCK;pM)1zqhax{bjFBM`RhQ1K+ ziSKbnzdbVQ=KrWvlTd#JWFv$neO9MPxL-_I>Q4k@XnT)GX-~Ftwr++sa0g)+=S~TJ z;JpFUxOEo^z`g;&XJY;RWrGwjQmNum=phG*PW(#vKH{s09r%$rBB6iHNt<@%&f1(; zEJXhp{A0*^RGsL&2vOyXVVap7x9sm>`uTM0S$gt6kh@<2hsX=QyrC1#WgQqv7c=kl z!aF}l0q-d@9y^{{n1N#E93dsD{c!{*ci!cjlS_%KO)7yfy;OX$RGSyj+%!s7Dqxm1 zES4g|JgpQ>gLia_khW5QlTEu~n)9zfrKRKp4b>8_K)ITU&Da0v1c0n!T7g-0e2 ze>|qKYr=w+8Vrk#RwMT;U0yPH3312O&V{ZV(<4_Q6;_HA82L?+710}Dz^OblA_)r? zk8FmQVy1i8H=Ml`qZ!sNEvp}vX@qLiN28fZS&wx_daYBJt_1*REqEpSK&@oss(8ub zd)R>myL3p};nm!YQ@EcgCgs8T(si_-=kY>d!D5Ke+T{QZH$dk}+L(idw=yG~(@Y5q z48Jyl^L=A9IbBLYr}gjw$y#3WLSTf}OP+U_=3Spfm6*;nNfhdnnI`@a&*Eh2)w&_P zMBO&Q0pE`lqDtMpiU`nKu;g?j*gFI;MEd(NysBQSd=hdeYL+||&{uf}$ ztnwI7lV=S@{$W;??(&6ws!rqSI+dT`Ze~oLvF?T_ZT|kRiSpG~1A99A3vBn8mb?#_ zh{U~1D`@2mbI66HGSdoT!YYcLtapk;SnC5o^_io_0VC@XBVl^HgXow0&MqeA|EMlb z{InU3@jNVjFenGtC*7|Ro+dW;B;;~@Ol=p@hR1h)KF3qTDoXExwYhjY$^;4u8o!rk z*v8}N>P!7}WN!{UuiTTr?Tvk#;3a1%IiGOOcn;(eJblzUNxQYptb^qQ2LN#&QNAnL zo(P0@?J4s8x5v7^hylhn+c>{FF^wk#c*aIztv9Nq$ME@!PqThJTpxM54|#Lle+Q2+ zHTMsw@3B&&yc?Js&T8FVW!SDW|HfswDax*wQJ%YGIntp(du76-rJE$q+tsb@?+@yB zl{Nvc%;|tk(esm7@bx~m<`ts7nI9u23+Ui$Cc%K;-PHv6TJsH^M`Z{>88G7pCY03$ z0ho7OYV;BW4E_dqXD3~$p_cvE!zveSpR|f%WKf*AZs##Z;i8~km%|3lD0GGWoi<2 z?GTsAMXQY~`dkr?_Tf`@>)Dx(hTfqjtl&9DjqWtHHahg104F!86M@eXetb@?&}y7E zh~)2qoAO~8X*KN{k~9E8fuPaQEhZIQPdVr-njOMOVkoB&`9^i%&liKgxKk8bUl{>r zkxrcPEpsP6qWd&!_1h4oof8Az5>2;?7jZ7#a^oI>p&J_$RY&{>c}V|;rKB5Rg-f)S zQTP9)8HC!5jubEs{1s+2&CGaYSZ8rYt(0?kZW67zGA+?tD|){~BRj7K)aEnm3^e|u*M#%alcj#?A^ zHcyubH&QeNCyLzmqh~ki`eCiEC6dSHmE~0oa&FJ`xhmeZA>%h@n;i4$Y6_2J3e&4xeFm(?^fkgUDz!5K=4S==zp-GkJWWVY0Q;d^Zx zhfXR~NLWd3X>`7o#7Fp3!AO>Y1kivzP)z$4Qid)*I_fo&)(&Ap?Ar{=lL{*hnJ-oo z^k%jYoI5uxuIgGZo2pQAnV;a!aHoc&vb`#I!^d6VxQfG5o>g-%j_TKs97pIJxB_TO zrOfwk5{z8)99Bgbc5>J{1B1LpP|VYsh>qaUBBW*Rf?P_<$6>E9ZifXE-%jPz3NXXF zyxi(IVM$t7*O54N85@``%)>co_;HDguu4fo!Xg@?<;QonTGniqWWblovGIZVqi%us zuu~+`zC=4o_brL?Bg#dO?IcP!-e8=u4}oKbKg_oh$(t58=ZW+W$R>-cCYciiSd_1U zk@0`^5quaLYQk@F?*eno+&PDZtJyc`b_ZAJ?dK61M2ppy2 z0}5lnMlJl#XjamXm@uBJ+m^GhYSFxgV;N^%jT5F)$`82I??^}b^dZ^af@i{*d0Br) zhc4XiJa=A*uJ_!XoKG8>T>shsdaTAl<~3@#}47qfWflk^%SVzxAa#>KM|e3 zqZXd1v&Opzinn+93}?9mc?H8n^D}C~fD@Isa=18e3}F&CGXuah{@9;c_egevK^HwH z2ErdzYbv;y>DQ?VyTs-sny@|0V$Ml_1(@f|1Fm5dSQyr@XJLR13Tgewn`Wdj+;(Br z0GNPIe7mOQj?n@A{(R7?=<~PzH5j_&`;F4BXJ`ggAwV;hYQfX#8tzS%skXY|TdwIc z&nRF}K9T^NK%ip(yvgqOUi~(>%P=4ywtpB%ySq}0Dl6**h2QFuxcDsb*4`KVk*Mfd zY;e!lz2@#7`78Hn>?n%6b~Qf5Wu547TIOQy+_Yk-1}2b}T%!!7tftEqwZ>isyr^X_wL^XDnRzxn z9vUL_#6^jaf3F_?YSU9zrtF)CLP7#$ZPpEz&mpy`yyqb z(r%QEuFqPdKvGB`K&h&2-9j|aW_55HLs^ygDt7+70GlbkRKp&kOqRo4UyCoskJ+QCOMic4$(0LJ1PrSHe|G-N!uXT|fP!F5}_w@%GSO7-cMAwqr z!#PulT_)wmOzm49WKZ&{;yLiS7dBk^rrEk*VbE1yyJ&CaB-Va;YD(?8bh{lql14TTNoy&DF0v#8g1*i2?XZ`@!NNm1?jtce z<2;R{lySPsgxkWe@`c_yTN0&OWSh<;Dtw<7q^#J84zr9z*B|oy`fpJ(fuih#_5lVn zd4ehjLMEg>lKJelM8(+)zYmHdoC_tl}*$J3LCQb~&7?LKht z73+@VO0B0k6@1?$ZasG{_IC5DUy9owh>SG54Aw)PFHy#hFL~2L=jFyS)n5MflI3pt zhw2@M^>Dbu=T;i=`*S{bJ=B4Pf{#3KeE3ZQ>r0I+4;8y!4_w5uhs$)DI)81(a6J?nGlpOepDaaR00O0E&XO3VC+we%^yC-=vutji}9w_&v=^oq(O=UY}0 z!YqfcmcnrnXu&orzkk*wtu4_FvYitTeyS}7UOH&)m-{$)~MDFfBh%WIR&w?Z2vur$7km;7_x9A zy>qd)6BbsLGvnl!{aY@(E~=i7c9c7Z*|Ym345E4Hom`S_YI(=&9Tl?(*;s-DvjR_@ zhi6Pxk1d%RJ^A|@E@0cgQ3%(VTh!%y+0N4ae6y~*`S&=Ep{<6QzUrT&70HU}rT@~r zCBw0|EO{$$8;0422S0+cs{&#n61|%WqGI-^`*4d(^CyiZ@>!cFU&xE=fg3B)4zpKd zqccc%JV1YBx)lIH-)$3eM4QFrvW0Y;LD{ z;sNWb&deOhGS%=aN8GVQ%>90<9R7}Hs;ALHt3qAr#mCK8&7;rOwdbcCF(0_IaG5;6 z%T$oQGVAM>0j$doDuIeGyG8=84k$&RotN#FNF)B?vM=%b<3pVGG}W=P4UI!{8HxwH zO&$8yTtGz(g=x#v1jv-hL?24A?-*sZw6_b?I}JC;7FM-1o^cmC3ZxeRvt}7TguL#M z{tH@+o>4CJwLF>`(5b)2`qq)~EAd04vJ6CN?b2K{sMQs`yOHjMAQ}^obR8#BZG8FZ zWu@m~(@D8t>yB3$b1rw}k>eP|4h%idOy4kd zcQR&U;3)wXeF0>I#1j3{Y&LpK`f$@kwQSlb5mUyTg$tP>6@ur%YU>kCd0;hBA`;)k z@kx+fqDv1n1}^_GMWSypH0R<95k&@E^>ytmqj4G`8Uk3)pH{kJPXr@IpZ{s~6QZV$ zr;F3eP(Jf$eG*srFzAFDCXsn7yIw=RUsV(aCv0Fy*mdc&+YJ@2^MY6xxdpB751&F| zV~0okHCGj^NI&X@ukgX(~~MC55{zZ;Op)5=#bSkV_>Wh*1Ru zpXFGRE%G~GcQDFw zm1Q2r}y_jssPA zD0h%lKpB6-v&#=`%*SGBFt5nHp?HN<2iS8_;lio;9Dx~A43+?wD#~>MR_<8Qx`Oq5Vd|CA3}j&W=RU{8DLu#|CZFg(EsY?+7wpD zOBg)niWc(oSIn;|qz=OexwcP&Hyhy%bS-LUAQGoD5v+r`7}Sw^X)rgYipK1D)cv z7YsHz2cta{Kc5`UPV#>WxgsrynH+eozL}lLTc%{GSg3AYY6^bx?3L?5ncaZnCHWwb z*4AOM=Hss8WQmhqY{irCetI8hcBwSIXBb_^06@URd3niZ>Yv`y)UnZfSDah%o$ZjW zmMaFBr4x8>S~x6O6@LW&Ycch$XU*70Z}P0QH|Xc+%@s#=wS{Ga0h#UXfWT(OcsqPn zy_Mt~58ob_?@2DC5&~gZ07yKoZ?6s;`*cdbSZ32dbZ1xGAAx+@&M)7XDOo?AZ?a2X zT}l?O0i0K84#A%3mZU{(;`OyB#m6NLlUZNX&lFJhXZd-kfQOpO`tb(ea5?G~^Yi%( zA&e`cQ1jzMqD(RW^VR1?$i&PaKXV_)+dkV@7rwuVZh&}FEE9~aEC*capM9#6`y|7A zK3i7ibbxXRcznl2vYQiK6(Rs0J?J=HEe(LIZy-nbG`MoD*sV%sd9+b@tq5U#2y(>K zAZD}ig$p;Wm6baYRJLj?WxAB4EAb)4rIz9POU0mL1K!p`D#w10yt3jaI~PS5`ff?j zjaQ&RC4Jrk$bf5!MSPc`tjf2KD&vbwYBzq|7`zX#`&6&7J4a!;nhT6ionck4Xw7Lk z3I@If(2%x0Nkx(bDVsSf;#-A5RbKWJZM09m9tMUy&~SVcpX@ zF9|M=Ows6Ii~aDf52)j)0V<9he6nE~Ek%N1g%<;Nxvu@nWW$0Eild-ihTgYI5QV=h zK4E>l(a+?zxzm)6%A`jrnm`%FKTT;dclY{o5Zl8D^*o=LD_&{Y8yh%UDaaFI>$m>N za50=Ja14o-Ss!kIKkGoCxIep~{T4Yp#}Eb&?81)4xaEHl1G>3Rk4irqU+Z%@`phLV z)MhCL1Y~TP=O1Ob3Fq;8GpYjON^jl@?$CT4bMA^o&dGYg;iu0hv)SrX(KJ*d1_MlO zWNZL}uxHC@%0qAc^$Li7L)9z$)6D$o@~R*MD@BZY$Rd5W`Nen<*OpL=R9Y z^2R2TWyA1>se1MS!(iwr_Z;B1YgHY465gBVjyWMJa?g-HN{oh`Ke+TDW(K(h-Xk`H zYP_()UyHKG-i(za_WG;>QC8BX)O~*C%i>HQy)!i{wAHK2j(qB7(A8(6Q?G7o0lQ>^tDlSOGd_P?wVhc1wmXj zI!T7g6lL&9X_x8>bCwynGx^(D=V5V5l-bq&RH{U$xwDzCuBR2hZ|{O+_MV<`3V>vS zwkHVcAO4tP3R!-21A>pCu#4T@aY`Lm78)Jq{i0uvm+Cd_CB=}^BPL34zjnfsV6M5( zs9HaMC?9|OmxeVr+e-v`T}@hP$1--_ifPUA>hRp~p>G`H)`+b`I)Xu$!9#ud+deLS z-F)`LVE_-nXL3kJF)3ZSRQVLv@Oe!x6{9X+v4sCKk+n#ZN=;bnh)y))_Af#tt{REt z=)29X?iUx<+`8jwp40Gs6P;$KQSjJv$D-P8mEW{hwjOciMz`XsM3P8W=W7X%5hv8g zDWDQBu17GtpF0ocK3gc%CgzM@;#;ZWZ&{TowbX=O?y^%aq*3of-dyAIEI@cVLEm|r z_g5^KUA?WDZalVq9S@9l^gfFE0AP3OGlXDppC`va_}izNvH@mBX~J7BUz_4&+6+hv z=RsWYZ7VHOd&iv@_n3Yy#N1N3Km0z^D}WVxs&d|TR;iXl;_;>1$F_=lT9$$?tWaWj zI3t%#U4bYDyVXw6r&w~Sbd%1)VWRK_nUHna=P`$AFBgmC!)GxDu>a5_M0SUc%%IaS z);e!Zf$rzyZ8Z~**8j-*3&!45C>cS;)~5`KWkQBj7;h^E{Ua%g zV0q36Gyns-r*QG(ASdVPpbvnQI!%Rja~-(r35I@83+fe+fMSyj7B@eE(>8j^Q)_fB zpph%}el@g&c$4AT(2)&eEQ6lCo-h@Kx2+}jbOT?XGW+CAmB1)SRifCj>PBw54glEz zcA}?%`$KbmsmH=ONZI7c?2>ydnef7T{CgvB4u%pO2USe7?F&TO8i^}p-8{v6C5NP9 zARE3Tc7jTPV4!uwM4YG)DQkG;^pma@KoHJ#CeMi8(_M4z4Sco{flEFQ#ya0J8}x8~ zi24J#v9+t-||Q-8QVB|FGLVC-=P{* zC4TKf@M!$nMO$;C*e}jrAgzw``?opTsdx-c*}bMw5r6lB6PBINuY$wgva@*&)NO*M ziGgn~&Lqfv?-|E8wlwW^5t6uHkK6@FJ4ePfwM|qo1@a$hmxk&zN=}%i+?k>O^Y%ZW z7x^zuA$Z|a>i<)6Vm-argaobjBvyX-0ch}Xu==M?{~sye_RdOW0Ic^U_W!Y7#f4^2 z#|-C)Ja2wULIe%D-FndHj=dmz4_};doH`#tKQAkRx_EzNMS>zUUn1ARVPo?5A;aXy z|CZh8f1=KpTG1=UhhIvvmpOO7r;!1(bc(FC5>fH2ua~O|G#DI9++`M$H7lRKYTM&2 zo}9_wvG1wRtE-XfLvdEnX!7i`(?DPn()kBW@ejOi7%BccMwy7%3L>2vzL$DIxWT&m z>c;uQLn9NS^Esnp1ed9tZG#PiKpBvX0W=d?!Sh&JtkZ-gH?y-0w4C3w+N=_E(&x~Q z8j$#vJ5OVE?(50E^1afjN2eWsWu`0rqaGeoWC`^9@Dep#I|ftAj?g;0+%MZ{cUF zU?(nZ?yy@K>isYhfH$iK37B7jo%`;?)iy2Gqj(XHWb7@-1-Yr@J|If-lAS!)U08)dztyHQo@FucYFD6v=!6q`B10If^?W6TBZE zIyuuc4AvXPr<#T{@C92UoV-Uj^Ld*a%ph97H5E?i%YOsX%SFmznQ+sY>&LRK&C-19 z@`a9*hETw~LI5I)ynsBEC#`3XRt>e9ChnRz{q%4=jk{#?mGup;OsVZw=9!oCXf6RZxU2l_}(T?NtDrUqds zLjgdCGG{T+6B1;h*-VM!BsK&$?SR$GkUQ%Gjga;(!8EpbyFB1FNu%UvrB-oP4T z6srFO+?W2^z00wyFbGLaST1++U2`@Rh6NuOajh8>Kj@7vwnEw9gcw(MOP)R6w&X^q zU5Xmn^~qmybSF)*Z^ZUp{LGx!Lnsq&8v|k7SQ!0HsRy`4F{1U?%+*NG?v?s9IZn^~ zdel4&3wgYt70(x|dL)|`?`L#$JypZ?K9P~Aj{)*(jH=9tzk-Zc56j-S@RF5HHJu)Z z^IUy%E18tM*#jhu`rY;w1T#WdVwAB+4pRCDG+T9gxUAfinUJZ|t*B)yeXJ z{4b3I`@kL+I{gq3ai1Qpo8Jy?;RWzwO+gEfze;M4^WCnG|KY`8F3fu`0CK|3M>4+G zJp4IzmK*@@4P!rvp-b;?f-Nva*`DdH9mS-A^TE@tZTb!A5nClLe53sC%P-#VBhP^P z?4(f*Z@(uMDc^yP*`30rcNg! ztdR4Xk0p5$rMYJX&mM(J+bSLm)*hdoGVNW}lAD$Z3$G4|HGfX)Yfg#7Hq%FX9vpm` zjwx|i$4GweluVzv9`~ti`LpGf7KhEn3UJsfe{3Dmy1xjaRjaZ$Hr7mZP!O7#-m;wx zMudKt#=LiX200-RC(Ydc;V=1(o5rX>B&x{b>muGHJV03MF@O9%o!t@v&F zt+}mao&FttnBF*MT1XgCm0dBim0Ft2>G&1#9#aHz$B0v8D0Rj)F*T2m-o5+Zy)oY)p(DM{d9ZKaK!-)Y z-y5#3iD8{w$KxX-O&xDs!?E`^ei5ZP#OVz(^$iJ4WKSX>mcO8tpEr9e^-u0ZDID-@ z2TyV5LuB#Z>GH=(phBmZDqYJ9F^x>z!B968CV!%7_SZyCt!_^tahp?{hc|Pb>BxXx zo~6fip=5G$K=EybdZoj@!8t?;+`j$bq0$!UW$hl*RAR`RzfS@V2V8ZCAUK($9WM`s zXN>oF7Ri{YaKVdeUuPHgtVaWgP8d(I$~Ru$cS05~^gAo{BbN@Dq-QwGsV|H`Sr#+o z{j)Pv=f5>qP&!}1 z=|#I^QSO#;6F8dNeW!^jrokYjoLX zAq{5P6yK3-(D5ysU*s`^HE{bclH$Q?-Bx8lh2%8`!9`gw2JR)bW<}Ndgifs*KH;Tb;>HSFmrit512ff zu*)Dnf3AQk+pV3)H#2#OL_aWCwx4O8)VTML;YObyE=nGeLw-0^Q=;`cR!R*kRh`di zz~FJtcr@^ekPJ+^<%RE_sU#WUS2$(wF>VtbIjTj-UzfhL5;&llxa@d}*JCDFG zEgSC_VcB)tok)Pg0m#8HBK$unm@Hkt_c-bfLE%nWBCBV<3F)K2Moo;efT$8LFeFZE z1+*<4X)Xy*QX)|Dnw|32pdizps$KQI7PM`dv7&iC#g4XWZ zuFPk>(RszE`Q#E8v(ae2FK*eveaNJb6uB&4t5;zf<-vC&rZ2oG5aqQ3%-mMvV2}JH zaK2_L!xXXHc6d(b7wEeXi5EQgmBs_*n&ATyjAfDA` zyWS!ZtU`#py%mquyi<9tb_rkdJ-UuKH_ap{DYmdqdG$|x;S(-R;DtNSi% zrWlQ_nxUK#vwSgaI;U~!b2Lw2bjiyS={FrGxKkv{e)N}{J(H5FT@QMqE*M19BhT!- zv;!uex~OdVLl;u~Y(J{IXRSHLND{TB6Lq@j>Eg5uB}njr{ICvBZaX2?-%UV2hudE% zzYo$CSj4qwa`(3b4=^x^4H)t! zTrmOZ5vLKykn%Fr6=Sc-KSvj{|1dIX`hcq9`GoiaBX$A+w~sKviK@uA@BWTx21H(= z)+7m2Jwv-ZgyJgcl~OYAhz(I0Eo z+Ox9~cWd<~Dp#7>=J51MORLF$;z;3h_`z^-wVA|SL-ShyxzwYT3jUU*gOL(@brb=^ z?CenT%2bNK9_xlQd^1Lo+><}(W?@mcg9qKN7c6HD^C?uhsp&5MX^0k(a?*g+6+)V_ zHguc!a#s^rMAyHxsILvP0D^jk|0y|VuC3fWlzLagIlwV>;&vVbp$?9CcMT5QOtGQn_)SQ zvWPy51voG z8D;2V4rcN7VA!=K6sCpj$37sRw-UIG3KY zUJ65O7xMhj#c6$!hp{`3uLwNEtgA1-#F84Cy5vQa3#|DoYwe6yxe$;ZJxG)(z8p<t}cfLDLOJtGr#Ph29Ha*O^{!?I^?f4PJMCuhAdG zWmk&xJ(+UX9vhbiPgp8?o)|1OW5vvwW?~1&Mq2?rBDOpK#^Ak{V}M)AV3sLU(0sOp z{@|d3#(?BUe}msQa)*Mcs-EW$DL&Iup2>4rt?MC93r=i{5a$QbdM9Db`=np^68?iL zc6Go|pxQsB!h3vIFwVDM6}&^z8%2f#%umj?22gS&NOFz0Ipv0KK=~#AQnT$XoF`@gN(yhGrF z6>FEye$AFu`l7mi{J`3L^^?-MqQN2`a}@R;P&_3E7HnplWkZU<%2z}KHVlQ;_6A_o zX1}kd;dFQKsmM>#xD8AHLU1)veB|!f6Xbzug_GtuA*l;p+ahENR!hJ_4@w<}HxV6q zVL4qzTwKY6G5T1>GAT`E8k-W4%x(i-KxA%Sb3fY`50Q{ydAP;LGD2}~59Ie%G_AmA zlhb$mm7L2=Mc84dKf1$=1;Cf?SQ{VD9ZAfp1nMJ}j2@Ia?-b6)TppJ(XhZefE)uk5 zsA^r4DfJ1nD=k9Bk$D%N^001Az#jdDgkG$#{6gKA!C5ReTu{)Gk;eoXRr}fkNa~e@ z%)d0FFFdcur)?^JIt@ai4#tgElRiJ?xz+oFhlh-0JZxpb+A7+H{~ccGlpM#;2VqZW z__aK(O#J!DxJ-Yw-Q9)}rRs+2PAP9#XX5_ji)xEPz}VQ1dCddx%_0GkLQ#yKi2E1k z(7om8(8a4v0gugT+GyXP7gTwGnCZ!88}p4Q4nLh*;dM*M9tih*n05HB_4$d|=>w|$ zZmHDsRoxPJTsir}0$5;@%DNL?8Xn{QsMLJkmWEQ%jbe%U8czWJ*3JIhKQRw-8k^W0 z>fe%Pra+yvmY4F$-o4lfWn*H5v6__Yc31^NMV}p6aUrpJ_gFuE9vvm3{KBfYrUj?% zJE0YLBuXn79fq&p(Aji+S!Ni}%M;F=QCU;`;k8d^+})GZLzWk)IE6hPA3j76=MeGM zsYPAOsP~KVQkL7>*yalbMB_t2cEMmv1IJ=hM{i}_mIpW81x5|dDhjcz&xn7JvAx_E zpGlfruNb`hN9k>9G~ z?3eu~vIiYUy@vc#vLz*xzCSd);qDLN7qc}L9Q z&+an?voLwJs2P56%2)$D4>@{TK2me0G~f8_`ovV^@6?mG&9}tQ|E1Bx$n86KAs&cq zivU({x2{-g^JQ}OYUJqsF3Z#wEtT7SB2>3~9Ddkm^isV#xKiTeiWMT;ddviM4S7le z8Ve7=Uc^IL7|8ec26XgxJ5}JW2u)Y!p~g5oP#&*a7*F&Po20bt^6I# z9yUNuJn%x3Yu61k-?{XwlY3V{4bHhsSfaG?!12LoXxn0m=Y&)z;Nx_uZr46M>xrf6 zg}>_8IxHSYYlCQwZ}bP8k(Ls85&EaRoeFnGo(6DkUbzr{vy1DQz03wKgA3?%Zy+r( zM@gPRSv*ralgCOrSQH&r)2}uDk)e_7&zd_Js>AOpQ2q7zPWR|GABd(C)aRZ3$J?}V zFKmcz%5U5}AYHH5jwB3BHaOl_zS=<9EXaMGH$KPnOuK3apb)I_sKs+Zt>NV{3Fw(< z?a7vu&7-Y_xN?gd$t}?&)A}@k_H;{dcVo)Hx9>@WQJU!CK`m_ghGxPfgAR z(8aQAMIHY~(|L!p`M&Qzt+qNTwFz2OOYO#I$zvKHiM~+8=`#!JpJYSdP!@@!q??&UjyE$jQ6v{|8$0xdltoTD_ zDLxAvVs(C-Dz_?xg_&85kztKVYep_*F7#AqE$|I1oV&CB(`;bB$cQ0AaV$KyrI-%a z=3*y!QX(`-K>$vuvjU1XgXDGN&E-%C`H;8N!>`P)UGB)R0H{QOuw<0)?t*|L%ya0G zo;^~J@Ez-I@Vu5H@mR)BRIj}#F(D)(CtQYk-E1e# zE!LfJ<$FVV+Fgljs0-eO?GV0qbG)OYhiaks(;i+8t#4koV;`8_ z93ab^uiXxwmi}{oD+9<5+YN*N?7~Ve&znBtS+>Y$QrFkbMP>)?*#W5!NR2GJw;E@E z#>MTR;sC5Ruvf^-r5*eT#A0tf#@Z8!j#n1F6bGDD`->yeuvtP1>Eu$S=yl{ z9erXj=3!i7Er`kYdqvVbHm~_}I7M7|Z@)j5w>(qfb0?cr#6S04r|PX%hwAAen}0EB zu2Ley7?%gzsEx@}9lK?@B#aVEJK_jDA$+lGWUn7~jBb;B+t;4U%c&B`>2*SsJz>=O z8@&}FAIjfVVK#H51w#l}f%)o^>E<5a1ej#Rxgv!+ zdXws=pO0J)zT~u%W7uZ<%?gS&eEw1j!lxvReJY&@bDKbOMw5_~e!4sTL761;ZeB1G zB;d&po<|pWvJx=zP{wc%*4)VC8Q?<>tw8TD@W}-a`G`Ne(1HQQDVmb+5I_o3+c9!O z2)88}y7T_3<)bbuUT8oA+(xVax(mz2==i8K`qUA0pZwHJ8xIg=E!w)v5-e;G|=csn6$^KaEL5&8zBJ}W=+CPvC=h}@c zJvAp_y5Xl957y9Y~XINQA19xe|+>9u5EE; z258ATjUiSIg=bihquy0G?rZwr7@s?KA=M5Gd%~2(IsPl=rN&x1gSONT3Ym-4_=vXI z5z4{By;J0QkLyQ?fVvCo3VHO$_K)Z-X_3eapQfO^lUgTDG2y7nj*-zU6j3Vru2+!8 zx0-jynH&=Yng1{TmLN^{&DP@lb^=Ho$M58T#3ucD8CjtgM&U zGz}M`)QT}E#wUrg41>=HZrkQrz4aFqR6SUe=UfJ?z&%a1E=c9EooAs+J=iTF`#9Of zP(pO8r^?DsJql`JI>N|bn#49*##PTPv8l%ilo>0~pN)!0>hbp?&F)`Pd!w*TSqV&%#B^hD52)b*p_!KKHT{##t-W@P$ zf0>uMvn0UR=l$-AduEyqJz~j7Tc8RJpnRjEnGqU-ZwwjG{RQJ4p+E~NFs>5yK*$DPf}EPNNxCG4x71-uA68mVjpE|)tKg_ zsrYT#Ef^332WVSVd?^_V{><=NaUT{Yl;GW^@J$w4CnGD^cIP`@%}dyJ&(wXR*W*G` zBy7z=L0<0lc4w;TJof)|Xa*UiN6QZ0!s^eOuFCAk)Wn(!YUVV+a2+?X88^_bh_e%} z8-gRGcuD0KmK_>WI-%+`fp;@~Q;#@GX_x!laz7$=#%B6o=6j4ySDlx$?RQw{{AcG~ zY}FOyI?S>aah?8!(Pd*d2%!8Q9nf@R`ssnxCRw}7+V0OxR=r+s>JBJ7u*na_ zv_6N2vJg50weinoEctk~5*-L~@9Je9YXRfbtj%g0mWyqyh1H<99vzlhnb=hm?EmcL z9%b$!d1AXLK7Gf8IEglL(>b$~&4(8SAUNDs%9F8KX*uSYa3Ng4z5J=UXzg z;U)dfu%QRK6F8jZbsRJHJ*wipIvLJJzcd6~C5(llbsf zg|6ttrdnL|;C>(M{NC=ppzm863lbqP<;QEc#66SX+EV+22aw)XqrG3|9|o#6wlj7v zgG(K6@q&!PKgcv)8Bg0~`vMoBC)pkh+{eb;)c#XCN3~q-XZBL+>ly>PTk@0NwBzq;yFXG7bre7E zsI(V5{u zVu{dxDj0jxyLFfxpOUhcK@< z49&^RG@cARD@YBx9VOJlLn+>WYj(MbX4P=xb9hyFFu(MhK<&s-$rn{yF^xLTDAm6m zkHEUD)svp>PVEJ351uS!#|qN3J*_6oMpDtI&NiJjc)wY{H-DkUm#JO*lFVaB=qO0X zKNA0vQlaDA4}qPq_!a&e<@cSbqCW>)r;=$~_cD!Qn75=;-tUV%qoqU#Xg#te*BX%8@-qESH|5D4h>!p<%}oGzR12u51!{dMjlQN79h7MsIDzP?6f_diCUDo7gk&z_eI$LNHJ*EMoFLg@kn4<$KJ3$O z+?n*{Er}(zzbsm4_EHuBhUBR%xuFZLl+REJ7v6xa&%HAMt&`;}-{}uMZi^P3V0Niz zZQkgYUqKRdtY)EKB)^o@0Do<rm?h%1>^XCi8~r93ry@?IS$@o*sv|E~5>ncYb3g=DKgGCw4CGw@IdF z@wrf@s`Br;!c=hyZjPsTJ*kwhGq=AMeI)oY4u!{3{2qM+Zv6aSybvQS^W9JaA;$s- zi|OuGW;P0v0vQbPR5m%$doOcHNiMM*DTG0T)D~>tTo=6tKB*!RT%tMC3T#=el;ma2 z2<-E1Z`~oz`F{~5xxMbVA!G~KU{t1y+pQ^IWgqT8@AMYSVt&1eQM9>oZ|(cu+kc>P z+h^7&$~D(5UxD@UzT;2`qeDH*5`*Opse(3#bW6F#&(;*G(u_ds2)vHn>2JvPdtaQA z-R9uiea*?yQ;2E|J$p!=;f^IpIelfjBQ3*Z#Qhcib0etx%d=E1wlmIaWUN6z0#(2G zlG>Xu>Rqmhr<{MAWXW!6M# z7-9xI1fSKsgr2g|3-~?%AH1KS*Q^(Ojn=oSDyQKNi<9zqBRU)OJ}on@-JA_y?mBnl=y0dMiIr(rFRx3aDEVq$-ukov}{1H>{8D2f7u}_#~xjL zjxc>sH+X1Eslc!tfJ6u8;`}&C{<{XsJI7zcW3dj>8+1QIQ>zEKzFCf|_1iuxWmGuV?P6VtYemte5`H3s+HsIHI|mi*KbWpQGW$ zkEHg;z8@_}3bOGlD7dtq39!J&T+?5vETWGry#azM zft4vG)}Y)8CvtNJ!G)V!9f8?xl}CdeFI@z#T(trr4!QArUf8UIO`X2VF~g|L-Sei~ z8(;2-q>RsK#hwPz*6b|RoGpLzP=%gXeyLXTt!6ewhl&{cGVV(6YH)u!{J;mP?xjvS zaiElk7UU?OuSe~^Fg1ITP@LSinD*?`K_ul&=$YW^iZd)aQQPc8Kl2p7BDmM0q0$Xc z)v7#mdWY<=ctuAdhgW1p0>a;*>^D%PAFU(4ZVmwS^ZDGMCM9=WA3lBda-StIKV^y1 zB~afQUwHue!}L-jIVk}x(f1}=hxoYq1ftNPDcA990l$0U!|SOdnAAU{@tTDQ2`uu= z&>TECftcxA@G}H)0`b`ETKH066UXD~Ft>I|k1shuav&;rF1$$_R|X6pF(5E($%(~V zIbn2(pf|FaaHd<&1$UsO>}}hzjyM2OSiAiWkMWW|7|x8x>1S0+rUY9&;3|tH7!e%I z_f9uMKGt%o2ulMv@z>6R5>YQi(|2mPF>!MP0sO!!uFzFQ2Z-%&0pQJe#ghQJ49Cbp7s&RfIF z%Yk{0>|8fKlMBkrcU_bDbz&gIMPftLF(i%eQligwZ|!QX znjc2QM2Q-xYcc}flm)e{@e*f~c)#7}gz&t4?np2v;XEm6)H@+4%T0KCVF&25WwJal z!C7)KgE`|SZ6pd$1cKa57pl&8pvy*O<``vQ8>Q-3c(jE(4%rubCOcN_tA5cMt^2;d zb9S^8$bSqgv;VY{_;Zss2P)85kYT%=@61)F-wc3ca)@iN2B5p{-T zFg;O(8+)r@dY7xf;i;Fb|3G4|!4_@w$fCbH1_9r`Szb)_^?F|POSV%jc>O%<>s0tJ zNczB#uyu%Poo%{)xoRcF?`XApA8ZwTurG9+m`N(FO;^!>Wf>rGX&-~Pf@A0o9NBP#m_gD4lHmFR~O{2(3BjvR;H4!l)x$3PQez$AD zv$G#+AT{QxXrx|6^)>gbet#XwQul*)%{cEJ*bnuLv5}aX1*V`!H59c{O~!xF8zJ)? zbuECadC-+>uNf_+S2r~n-k*l&+l0Wxel@&VX?3KOK^}IpFGqMn`m>fKxFPQxaq@Pl z8@rmITi|j@b`HT$r6&M+0JeS#*ud!CliyDU=w@d)d$tn5rM&_7H zmBp}Vp;@=CPbnQDn`+R=)vCpRAhNxKzpvtC{})^pS=HdRC?DaAT^l>2mC>sUkWpEa zDEiUBNeDMnc^oZHIG|>w2X!$>=qq+|fa?MzeS~?7hu!PUUX7WKM~6lzoOPoDWMFPL zTQUYY8pMIvj$V2F1fYAY4N|Qbmx_w!4^~Nsc}uqxepRT?x+K(q=NAkpX*)OU77(WH z>8rfoe{9Xyt%i3Lajmj2&863|j~q6bT0xQtTFQI?y)((Z;LkKMt(Z<~2>9=)y>dG0 zs{H5mHuVnXo{9RvtJ$I5Pk{J8K}(z(Jd6KxJ#SjYTlt3F0iw+v@>|KAx<3cl+sxFwv>I=Ls48=<=|t&Sr1#?2zX zB%>6$&)y>BP*pNM84A14jT>q#?;@zq%i53`$p2L8a)L7c@5Y^ioA@4%&w7jiLf}8X z6m5&i`oKJFk&rdtG5HUa#^Kka*eMcusw~H}e-C95*UpsTY1!3TTFE}6niJ$W`1DZ5 z0$hDq#5;wYV+BjS0!^8EM?6^xsb{>okt@!6*vDh@B63yTbNUh9M3wx4dNRFpJgLCi;&@s$KP(jl+EH`Z$8=b@#KT2VW`nMGeGtS=S$ zXf32kh~xZ}Ad%}Cqvn@hSa6|{&M>OOLk&5|2L<{ zoHfjuEvtaxKdTa+3h9yb(Wr@6G~P{Im)sz@h@CEvH};JAf`HX)>r8$jaP<}6$DW)& zozhMWQw|ZYD22KusgYMvXN2!0w>PnS7q2jxk1$OlteTR$7Up()4CN>vI-1G;Yqo4G zJfXjYR&H&fY(}dW)zs{q7!6l1!RIt=sTpYu%^^@Fo2joE0qemCAE>i31Vq-X)b=MVr~R}vlX79StAybgJNd9 zZTlzrS8wK$r6j;^TiocCJOKB(Vx)%Q;lYyfJLg*I#wMa|Nfc4=JCwj)Jt`KKxBBcO z%EfYJ@BsGVG-l37@fq}87pg&u(AE{Hgi-q4q6JYwQ0YYW3p8jWl`#zQ@m2f>N)1<{C8f*`OvDjCgk>qaFAP;^DC^yT zz%byn&pr6CioAwKtuTfBXkJUL*bkMe#0jM~`fv)`c?%{z5CTC;!!w z9~PSxe-}9FOXMm4{4DZ;zrb)Y1Cl^=3YDA9wzz-Jn3=4uQ!>Q(b2EfC#C5Ofz1C6a z1=Ox{CunnVci(`l?NW5;Ks6^~>CXFr<>Mzv$G)x}#EKApe>lNN&*U$2p^xnHdf#-z zREvT^+w~yPz8-!CupP zJkaARs4|?8(l)d6CLB$WQlB%|a}E6SKbEy0!suGg zvJD+&Ur172Mo1#S>tA=a&uMyy4qwZ?nTg3FFTWn_!z2}5AJsrD9W_}HjC}@24jMmw zeB;l$k9k(K6(W>x%G@mW+uTeSSEE?x_!ItEz-kS1QLx9?G@EKc7k=Ja?ssV*+0eBMXow=Y%GZp=m(Xn1p4e)HHO zJXYjlcJm8aF)*RqS0u89*UAN!-{N;)F$Qbg3bQYb+OrA>`qb%qQ#RSF08p(}n`ygr z)Ev8E=LjTxwgDaED2?TLE0mnU_lRZ3G^zmz?RR4C?a+sM8~ObM-Lb%-%j_KWP1Gg4 z!mQS4gLVQWUAACTJfteT}n{mw`5gXzFDSEiI`HLlXE8Q?9 z=o@~oP%d&s1>&a@v;4lk#08931Ty_GGFn0I|IvC+C3T~WS(RQTjBRar8zz)%k58qd z=LMoXnUid)W&Q*y4qkW``{^}>Okc6ht)a_zqnRr?+K_zTK>k5adA|Pi@{-S7Zd1xg zwl&u<;Eu#u1|u)`hp-@tbLD&9HS+?&m`9}bTuO3JD<4d7QQ7Gt^HPob*`Jp)`@Qab zlfEhqyvQWCXdAVnbA?@j_PQEbwvS?uWNu50OBJj%DtaLN@`Ew7x6ayJ##}!6B%YBe z?QFN66g@9^uUz?>Lhwx*qgLpS#Oa~*sB+}olt@dh`0%qdqr%E-Q4p<&z*>q-icEJo zPq%g{Mf}5rp?@Ixgbx_-qPD(6ueRQaE9!9e(wmU>A|@`rMc-g-SKuaT{gMhO4szjf zJW=yW5eExOs{_NdPm)L*&aN^_Oj8PB(OGc3MWZxcH*R|DJ|Lz@F};? zZ2+U6@~i&1{>5QDmC%45uG^1a?)G+Od1=?v=RTj^*~L4T6ZXR_T{6}_EK$>q?zV83 zBgj8ZcM}7*`$Suf&dl;Fec>l2>+7Up_ZyW>zoLd#oX|=<&1a`RQU))ngb`27U}Y;+ zO*@ejPla~kN-63LGCv`#x6uV8gVcNGPv04(z3rS8E=vlad_g(X==E!q-`?^4kh@6Z z{2-_osc~zL>zLj7A1L|bM`X(&HYg~|mCuH&aBRN>V@&O*dqfHRJdX|$4a@}JMTr`K}l6+=826N)teYvZd!h;2VUt}+Y#|lc^ZHM2#8fdoQ`aIo^1Nf4j2%JNXS1f3Q#h(TC{<3{R8bRN>tfi!C%T;{!+rP9kn4=%YmvVDLhh=8&)5Pmo;`k|?MSE-}lvNWvm%NYFJ@4qj& zAsd@eg;Q)dJq3S`a+EDCitk-m1@DOwx5Zwv7RnbU8<^FPZZo%BQaL@f{7=#myARPK zoipL}NOmBh zagv=-xZ#1|v@7&+CF>56v9r*YdtzI6dI|e8h{i!?+hK|)Db78N3wX1B&76$5J@TTe z;#yq=J_(!glIfMx5s#Y3DHVWVv#w?6f{;!5kCqzyx}2|(SL0}sUo=Ewxt5@`dd1D= z>80a~VK4RZA_}<87qf^vsDIn1cpv{HypPuIXvddbNUt4ObmB~AA+UWn{D8B~SjQl9V z^XS`UQ6atyTV3N+$YY+tK<{D8A@%yVT>y2hVHkrjzXQ=e9518!aeAs1Kz zZi=%X7JHjo1?tBV(M(0E0}*?5_cV{^9;aQz<A_)Z)p%gylrZch?Y+cGs+;4IaGVU?E(m zUD@!h@Nv2ch9!82mQE|>vW5auvu_Ll5v?As0;HPlgswOmcVrTs@yPep+5mF2!XRMg zk>|4S-Ne!~5GrKY+IZ(ozHk3pV+FRmTmkhkcHW-dVPU-@Eh;QgTxGHAjtzq2@Q!6; zQrbetnURfaxrdJ%%}D-Pp7WPdW^!tRVLC>&Mu*H@zVDo_8NOq&DobtdFKSj_ z9s|g+>~zTY(jl1a(}3Tj4kp?WoLW~m)KN>JthaVTJt73fuDpC3b>qET*8mx4A$oTqI?sG(+Tf911?l69wlWDg{0vc$o()PE) znz^j%!butSu5N!!nu=k=aoSEa@7N#nvC93hT0GN~qWBr?0hH^8v5K4}rp6ZuZ>5W~ zkasBp2d{(>ivTeRAI|##Z@TNtv%)GjNWHGsUOw8aB9k_k>e6xZayu;tS2RtkJzW}V z>6P@o_%$hTL%!b21=D=|?tpfeJM_Ro9XjGD?X+|9lh%zU(UqeXcouOEPAkyyDWQhM zOEd^NOu41#lBKLca(Y@we%cn7^5gW$hL6m8zbhfuZ)X|KUIh1fnoq)N>|l~;*QWI%UJiCrK1 z9`?#5K;h((`5)X0x!ZJ|LZ01^ zH2=yrU1khe*zIE5`q)~Gg+?Ic{CnOdFM^h0&aNLFItJ8p%pc}_fi&G#qYs|ATR&0z z4^&9)ac45zd<=Vo$zO6s|RE%^wRcA134yhJi_@1U*c^C1#-eUfE zS2l-c^fvSBua@7PRj50!bcP}nLLW>XWbLwjJNz_g@mJ~STTzy~VRTp*v*d2q^2hUa zZd{y}u|n4P#1$4>jxTx}SKoqUcrwK-2^Pbn6k$?z*2jp5l+haNFscKauim!Vo{6g8 zb%(O2LqTsntzAY8S%H<05Q}!Ce$4#l)A9zL(kYq{=iR0cK!f%o%u~M(uvrjq{OCO) z3Na;)MdWv!1M|pIoh8|tcg>oD&S6=kl-C+i^=Ma7#itDay`K9u*7O8|GPmz%38J7>D<_&C%XUQdR@{O67yH$Q;wBE9jiY{?s(vMo4FC z?UQc^5oB&I)qj(`{lVhjEtkp24hgjuKC;*OvD(@phT{~tr3`9TO0OPXpEu9Qov)dQcX&=ojq{_^pV7MURG0FH z+VKzn2@eVtETnI8I=hB(@UXYli-Hra+Am=q)rO*)^jLAFlwLe)@^XWTeXXeH&!IjU z-J_r;c1s1Sth6$`Uz0@h4rL#RFP64?yA5CVGJ2Qq-7a@PQ$^jAxcVjfa6RNl(?BI~l6k$I-r2G8oD z@;2gIX~vw67ycu_khZpQiqML^)-#vqD6KLt6`2bg|I|0~hwTYCJ=pIWZ14&p4;${w zX6V_^M!W8|9`Rrv;HIzL*^Q>1)U5w4b&W$xo`Fp(;Y_9V@=3)mMKoQ3Z4C8QM#{Tr z*}cd$%H`4I+ezakd78NNE~F??Jio{fcUY{4HOZ6K^Aac#8mjGmhQ_GR;}`)}SDtz< zi?dHb0%|`A&{ZcAT{+Hn%dZKSP09MGZRC>i0rIlKSbg5>nx3-pb##J;{FRn`VLR@# zDc(fXmgYS@0B+vAuAkgCi~hFV)yb!4ypPs!b3m%i7c}g0L>oV)>g+oa@Rzas5$EIV zW=IJzBJ`q;2S@hP_L#AVH9wy8V+^TKP2h@5eo|acB@fosi?N(A_75accvhs$>p5;T zW0}ht<;i;ZO*V~1b-1^MR)Mp$`IJBf8Nq$yS8(|AS9y}+%NXMHA818x8{YJhwfih# z&uo%}@k$DR^z=C{kf6Uc7CEi6+Phs!5NMA71k}`nsp`Ta zb))*xt?;kXg44RH9;T+;J644*n8ecKM3U6|S_G49%KOx@qObrSo=}(76~K|iXlmTf zI(Pvu$}38u^W`->5tUTMkG+^A+T! zo>4Jc=u}^1ip3?Qh>IYdfVG2`;R#VY7lR{eTQ&VK@K%RsF6(T9W13xjF+qYcmvs}x zgo9yq+I3O&(Fw0oQ4d_U{LiveVP$I9Mw!i+fVvB?FAdD9owh9#6I19nG0Q zSm{Ro8@jZjBQh*Qo>W5ya4t!A(RS~X&{s|kjs_~^5-(CB2XV5+v!^tE9g(mUyPoo@q>9D8 zouyMVez<6cwcjE|O=G1gNe|G%VHxEs5`O2@J`4F7Ux! z-F@|Z4R7$4!p$__lnj56H)=Jg_cXp%#W2oj86s(R_psQA-w?i(Z4%pOYR4#PV;sj$ zaZkm^!8YHxA$gV}ROl-sgY56 zlS6fj-eWU4qkzjPM?Ov6LjYB`c5_3?4u^;|hk8bT+y~^CEdwCO3|l%mO36=HXEc+Q zQwmMi=+@orT!X@2P&%tv%J5p)yL(Fs_=uFlRk{=TzF^cY4@A z)fXdDtv)SgbC{K=6EaO#gHd2oz9Yg4#Np*$5tX)(56o=}*X4F%*23n_^tquGZyhJ$ zF*sHKtt%{}dfZkY|46R;m|RkWxcQri5P z83%$a1QrVV4G8+x|6QIuHIOP;UmE3#8hIIB*IgN=tf(q}551NQ++uj^cD}{{Sf$GZ zZI6Ba9H}i%>8RyOA9AOTn)fzoSiYG4)Ag5s9N`aB89r6Mycr_?7yU(b;l9^Ekyk|H z$hlOZ;yW*P`ewFYW^6TX4C^d`z?BPqp#quyKFXc9YAE~IOiXLYx@<%T+4cLAb4!r2 z4xr1g!E>~qxD0NT0|02lHPP#--DVW5bZ4E@ITM4&#dq2-Awcl$*?3Z>2>Zh;m)rpS z5P9~YUewG)d)S?`yeZD%z-y1+@9UgY#?cHqqe-jJi@wc|Wo^7~{;zrag5s@bxe`4H zOMuO1ko>KK3#^%7X!1*T-LM)jU~Dv59wqdFyBNrU9|*LB3Ha=j0@hiT5+c5ohAlTj zj}9bX6Cr&E!lvREc?X|iz zM=#>)LoxoRY*7W}m1|6zFcz&cV)96dW|w<{*v2SKbVzI_Oa{I2qjd-+qYGzjej{`g z3hyLR-F21=Up1GQ6UVyyNNePhfq#TAl~vtyhO$?=Fi88Kt3(p&923_@-Q+rjmMn&v3h^6*Ag**Im*H5E#37I$gQl(}?- zQ!gfGm!Gr}SjcA9%|a!;W20N$3c8MxHTU#v-*bG?UACm?7GE8$bCX60u-CjHVxJT7`)qg56-N{HD8DqyH9dX5L`(m4Xp#J?2sgvE zLk_Is_K`-#Vnb1x@n3%y)zn8hQ+LL$tXfEV5?h$)L!VP+XfS+BW2=r-5vsCBAw%|N zfPf%fg&*14`p){iddzJP6SJxpa-W5OJhva2IqG7f9Nlhf7oL0WmQP+goWXfxL6&>6p7jtzj~8vfMs`Y|8&IUYzLzLR9N_z|Mq1?0Z(Gt zybpuBz10#nz7hBthc9XDcGstwl9da*h4_M*qx6=k#jiQAAIO;O=Qq*$iUI1B!rr$X zR=KQS%~lgAF;1z*xpf0cQFO3WA3kT%+Mr@K!aUF2W&kUw3tUo;IzIRS29c$%hTHXL zZk=#6E!Z-w0xrr;?+0E)u-@g9bH$WRf{uicGVbB4gJ+T;$?HHzW@Vdpm5!BrxV^mB zGJ&I(G45+v-F;6Y-XO}(#g3J}!H>%G9in4$a-4#eQ1@hofg)zy)||Iw^xyzrzC6Pm z-bOW|x^`1W2|kz|S8JuOQ5U+C623jxZUlsJe-2ti#j!o9*`<{XaE}uf4$l+d3dttw>*>03-Cg zLE=T`+b7K{GN6IifNfo*=A^G{?WlN_0(oCW0t=;lHQwX)wXl}cqV_A;O|xR;+57ub zZT>}D4{|$K`~cMMdAL!_(dXht~or8&QGnxZ#DsoR&Q={+SIb*suYdKzkSyVez~DVl*)*N_Ayg@_R|_f z-}4xb6RznJ{~JkC*VB3DG6#NlzM5(iHWrrt(thESIC*rW1ubcQT7%L!p&Q!Z@bvZR zCr`QHb{}Tj+{t!gPAPua%B(f2>lhpz`G^&V1uGn_&o(h{ZrPtJaJBa{I$9a%gH4>e z)xhB_{_Qs3lIMKewS($Wew=Y zJC!Vty9C>3@fjlo9BZVg6(RJ;abfyc^6k5nu0kY2Im}lAA9cjwK%_UWAc%TMTukx~ z_y0tHLhV7xCUS0ty~1Scr<_a6`N^sMuhxDrn)StC6>_ecg71o>*#^I zg0vJGd@^g0^F0ksxon>N#9}(Wf9O@`{`Zeg(qg$`v}0XIdVKZ^`+SvNFHrSn4N4Y1 z@4bccDDRty!q0}%7X)5f9ls|lkpbX?dWd$qGP_uXjj^ne(*1{yb3t!>f@eeK3oAZ4 z&OKH*i|h?BWqbsEc8K zw_g0YZ#<;fuTyV*igj|7;Vp+{TaA`~(YP5Sl7pJuPqEU)9LOndk_b|Kqewj~#8^Uw zuuM#UO!3(WqP}_Ipx9-r!S0uNo}6ZdX(tT|Og3$8y_DbODFeH=)!fgMI2ArWU!<s@A*_r42y;&lhIKnE6s;$V4k_YW_8!Um z9$i{}?75wi^`@pV_2>3qr0Jb>{!fgNX^%Qq^!%E`-jh(xIN|5k6umMk zes%*l?f7lb8y5#08@)R0S5~=F5X`lK1%LBQZ5BZC`McK#VUjPimx^8Zv4E|jZxOl zhDj4E^rP0L_0=ascl8oxS)Za*@YoNq#K6fBH&+pKW5v&Xv|WLz#42>0>{}thNZOf) zzIvc9q1&r-Ho?CbI@PY84^hQOy+6z^5?@W|MFrT^{KN#&pmYs>sgBq-=d!x95sk7n zCGnJ^Jm3%F&4aePee%bk9gX)D9cy2*`d$|xo*(H0oAoaB>FjlT#0#IN$Y^MC4ZOPS zJnGx>ldUyQ{4RNr_p)HTu2o$&rJ z#~}T@*jeP+=jlBRe!Sqky$h(D84>l3X<$jI@%IWHYn_S>HMJukBh6DXWsdy+r*EQ}OQo!E=Cxjx+$u@sn zCTsR?u^{3u8W|uJAQ@=5E|<5iKkA6Qgm_=H_gD=)ztCQvn;Ks^{l)m)_U8R=O`<(i z$qnBQ7+&xlSV{d?2PWc~mFh{F^W9SPXAh23)+tGNO|H>|U1gE2M_Nn^1BW!QvFbDH zeEonXe(U^-=W`#k&;-Tgl5QO0Z`VpF^5?hN2ggXJg&!v}asnhaLiTymI1tnk883vG zpw8TDD;&B#CD#7aUQ(m!lgnEvqxHpGjBr@^rr9&6FFV$utT#7Q4&?laIT|@YyJ&RX z&Hn7iGFA)Fb}CtLo^UISZXNh%^}F!h0;)+s6E8gI0^Yy7HV7y(N9To}?6T&slsU+I z$8c@lpXzBdI|WbS6vBRz{dy359Y>Z)w)Dv7Iw$j(-a8nP2%o$eJMJ9X&-r#v3|?S+ z1WvrO9eR{@so~P)6(C|%yBtjX^Xy)a@1B8_WvIKy26@Sr4==`Ddn6$rnwBw-r8e#8 zn(L$a2g;tJjIUFoN63CYI=|pat{eN9@Nsz7iJu|byUZq{p$oWL4v-BRaAn_mUX9rz zog5#B)heznr&B6v5yo_$5iY4^w8|G9Mq~RL=Wyp0ab-Yo@XF>v@vTvZsVz84HYn9o zdFt>Emh{S<_HSh6Ch!^1lTydF1+=a&^_ ze+=UlJJ&}KLS3)BGL2R&o6+8j34QB>N?Fyd&@ePMj=LA+NDqWG45CTlZ4oQArd2~# zljI)<^f%-l7>*W3P1fo2J^{-`xkKK-D56#WfI?`+Me9Sd4|buFlo7D`EEM=p{CI?c6ILwIl1Q+rMTxSt>!lWsZe5~uved)lz;i(75*f%3iiROf&=SDO>7=eR$ z-9vWgRCF^2SK)cDF)e?^INxZh+9Z?l>xYiNaY?-B#GoAC^ak$Vr&&q*VoXap&i7i~ zT>G6l?j$`qIyfxul~JweY_yS4m36e5OnIX^FWmj#WDLlJcFBNfe_zxti%xsBR#feoYH5t9Divx(t=N0V-Xh}vyuT0sFVC0f zcyi>p@8`Jg=e*AII?wREN+3x5_)fw5oK~^M1dZ6M2hR2z>dH5FH>}Nz!|W#0WC{k~ zBkKnVaPAiumGu(-O{Y3=v-mGDDZ1`zQu}BM`B}H-2IOyr_Z5xpND_B-g_8Y2mY1g2 z?y3o@&G#3~?9ZkxdKLDZ8HPGY6nH)q{~&foPoKmUF|c#LT1bjBB;ZWY3{O&Zl_vC< zh+BrK8qLP2G;=d8EaMGmP~PKC^a*Gk(c!k0mHk@Ia=>fUpX?_K<%P%!1Jsliowoq{>H;-!ktXyhAq7pUx~lN4W%o z{Dt4*)V7#X$`7^SK;NCz)M+tu?`qPaSX|u~`a#ad9uA&*sFN9=d-knZoS%_Tqj$#d zJ^_T2Q(rDbH6lU+b!&wQXfs1Nb>%zy*Yd`@>$SIzX|QT;Dk4M0>L<@T_(6U>F*Ya6 z1hv?`>Fkw+zld4R+`U3NOlQ*f*2)mZL#QY z6{O0u$bNS6)tA0KF8&W4Q)mhf$CIa#i5Xur8A(Feu9WB(S+(M#~nZKxh%k#qQ% z$NL9cL-Ikt>r;NC>iTU@&GgYPOXklqlr@{Z&)DeRtPNySsKU%RMmx2+*-rdphoJL4 zq=E?I%*WvdJ;kmdu<~IVID@N-YW;1T=gCV|mv4Dx=S9Tk+q%Ofy1l*2a9(ASihlWQ zGKuE|>DAozNJdU;I}%53Y4@kIqtBm&{;Rf?h~C59wlrwZ`fgd%1c%7iVP()W*^TZdf0Ner<}g$UjD2L zEgp|CQ+1DUHizo#CR|GnVQEJMycp<3Q^4vu;VdI$+32v=fr8(;**Dy-PX9bt zPDCsSp?@ncwtB+VH9v&NgfxW;~(4 z6#gC}TY7oEBj3Yw`-JY*u0qRE{)K;5_Z8<^R^nXyydzOrd&S53k5kj8*n%pKZy+O@-ng196vwzqOYjr22FQH^jWmgc^aTujPerrt$I&MFqXK9GvF^* zP%NmHMC{-DAyOS-*1OKA5YM`g*YB1cqUK`$Eechdg{)b8FdX0nJVS7tS|*Hv!6bjR zIImX(D*UY~i;tJ*SE_1x-F@PX;W!J;cA3NwhC)+o@U>pEmP@)N?q+YKKMAZ={5vNI zNH0;jY@hMb)O?(|+szf;0{vBIA3qfCCg*WhgSs`V^9%i5*I6w{%| zBiIIHR$}${3*X?l)7QoQ(<@`n{>D8o|MjaBS@z)WyGg$*m{=1H6}CLOGh%x2z1e;8 zgy8`X#|j%G`L?X0`nWplF?k}w1N$(M@PI*6LcgrQ`Uyq2IhTi33pT4 zc_AG+IJLnPB?(+YZ}BbN?7X_b(tSjAGX77n>ON%Jw!`jH?+?4ppm#iWJ=3*rCrh>! zkP*A{RB&SqYCWbbtYoq+;YaXK@Zllpj1+w(&c}{ z;+)sn86O_lYCy^ZkRnX6F&mmG$2&(lTw$S*9$fGohx|cXEfnpc^Q^p$LPS{ zte^pNt0kfGWvmxEKRok0Q&R4a0t`iE$IrCtS|DDkEZ|1iQ(HU6&pbCWOQj10kGNZj z<3yACXjBWigUa8WCMt}&b4k6mobs&=HxnQHe){@941yz{f;87i`YCpA40!rS5NXxR z1mX=99f41SjN`|COOxA}t^+_3WN-)FtO zU0Nj|#aYE&AjM40V|M%{8>>t8ue~lybS%6403Te(xjpQ05&3~f)dyC}W23u!V)6{e z$iegstvS8iF&~q?BG&e@*EOW@6c!s=gNI;!T=D=K5a2On4#I6XCqB8~-!K^oiP7mt zL{VTPOU}_2&iYLYrBy?!y^FUr2GEHf+?o6G$$dBt4^E|}r+&KPuDLc2ejW_|tgdpo z4LU9dMT-){x%%rvTd?TG3WQp|P>iL!k@Qn}2K_~F^_hap-?Kix1ga!+ncW{K5NikKs>m{k{HKUh+jcIftX z)w8_$!bcmyz%p27P%&ffCwYTPwzL{NxcX)$Fv=F?_?FkKWr$*}S8}~qA@Y-dsl;_; z@oiLk`~&EgMF}pAE#dF^`)VG4Y?z21KVxUFn143K8p&H3zgOn^X#UGv?-T?SyAB`F zZ(}^)a$C6?-Y+ceFVuHz$6_`^jY^ioUkNB4oXue>k$;dSTfk8%$RBU3NTHQt;YmmR z+3w!k5bB=Y(CY_Fsg%rqia)#cLR6pge`J;}63aeqWbUF2H4*wLL`=aQwiv)F`Kw*VX0iGy9jk#S zKhPL3ZlsdQ%GG`A>W00#vC(+bdMX$Y@&%Q)D|FQe7Xf{Qk2Yo0>rMStjp^JAfXMGS zg0cjV^Tz2U*sJZcHF$?Vn2Y~=f~yhlt@lI{V)hLl&m%hUA}DsRo#nf5l&YQchPiSM zKNPA^Sip@I^quBXQBlOo`dtrtd9TjlM&xT|an(Qk5h7Z!6B|&>6Zn_j(WrwW6 z-kRA2@3n>1xFFxP4OTaKBIYGRw|$8ZRkD|@4XRUyFXin^QmmJ2KE{XZO#4#Pk2+=` zZ@~*&{%u2CZ@j{T$57$gN94!2!x#Qt%5dV9_&d33`b!Y?>K)zn9Ql?t$uiraxuh{{ z^^Q^n#8?N-D|nmGx|WQSn|`G)2G~KV5A35iL>2Oulh3l9vUy5sUeyPirC;hG@mD>vgLxMkoo}W*4p>D zH@{(U^dxwakQw5kz6_{{lq$q0sIc01qp*kD|A2YoLz7Cd3Tzp#ZGtH9du!@-kI?bX zm2pfrO&-hq%?t!b>=Y3UuNQn~iY;DvFnJGfjkaLc6RX@U_ZY5t0(3B+@KXK+Z6A)n z=i*E@X=q$NvybDpmNK^&QRq1Zj=G-mJx)LoDb-Ra`+)WhzYF+zNi42GEc$n2bUiCR zO11GqA%QNG2s%)&%Ph;5M`)->b$^>X)A4)EJwWKF_1~5qm4;vb))vq_mUZQKbD{1t z^`64_gNGK}Tl+N+;)-IK}P9%&Snl$5s@aJcwFVD~Y{P!2?T5M$O5C9yz zP_rwy_`OnI7BME8fY9kP0*_+lq$JKhysNJYQckjAZ7ubkRqEtkb?W<<)_M2hT%hnO z02>$l%m-5Ehr7nJVg}0iHFoHLH?!@y@hUHU3XS+jVWnRif{CzNl5rCH13`C2;&|<81~0d#vCFS3eE+sK@U>B*H`&eB;B~j7 zoZY7XRy@VC-uRT)CAzp#A4e!tIn%>#K-%p5H~7(7)wtmTb`38D$fi@v$ASO;WjQt_ zw@f=E-&Vc;)9uZvlY+^ri29qWQ{e$}Is5aC^Cy^Qe#0Y6n$j@kNvQs`TjJRBzUF%7 zT81lOnt;@gn-0~-$0{|^B$kB#Iea&<-)gAHJHvea%nBE9ruTzcL!d2c62}k=cM*^_ za;HL>fu_B)xK;LznPe>Q)e~k_xi?~{i-6OP7 zy^l2vUg{`W@CnC2_rHVp7Es_SKGwXLzUv`tW0o4;2mcAa<-ICGIP&_0W-@pNBqP5= zpUgLsIN1n+>aDd#DmIU2;hXo~!k@jt%x8|D1IF_xdld;dW53)}(12aY3^%{g@<6}q z;No1Z>8P3jSCm`FMy|E*vE*`DfXS+qj&^!p%v}h+Mcn=&Jle>cOQ!Way(>+)2W|T^{&w z^X5ud*X>?1v~kgeRhDe{nFze@O)BenSX${32*M+oqiX&Fx0~%Of9dT-BnV$RpC5Suq|~oZWQz2xrnv z6VIvP%!|VsS+R{FVVvcU?Wbu7b(h*bp z9zD6_nK)Enb76hK_Qv|475^5NP^v)S;XGn3n>=Mun_FabK4iM>E_O$1>AydNLl`R<7EIEtc=SV}lI^2^t zh72#Fs3#tZv-+V>$0t`hO^JkC%k|9J;aSVur=YgW7;^3BNxI%BggSk~Pe9d6Cy-f( zSHz9a-l_Md7#qJg&Hf=#GYhuGvmqh}pCnZC`Jo)xJLJc*2@)>{A#)-MfNR?)vbxx` zaxqw8i^=`|ODUqaR9xtV?T=Pz$yh{x_?44G$hh~MM8{QNWJF>H$v!JP`3tZI0v~T~ z%NcR&Cp%7PoTr^NEYkb%L-OUslDDpg7B;PbrhW>FXTXp(X;Fp>wAhD0*^seofJ|u* zgu8LlB~)03^IrBozNYB%NOSjEEspKE|C@Ev-EPDC#6;p4S+f{Jj64Oc%R2-I(KWay z^(x*qa?tAqw+`*wa5EpBYI>i9=oxUB?_SwzBN{aKc&~Q`TDod47(|574}^#YOQHIw zperGOAZyts8_<``b^y%34`xYze#T|MR(KDYA1XmzRcR7kp-U0!fd&~y)UcKXbG}q(P(;IddtgSN24r>xTfa&h14QGUOz^ffv*E6GBNl1q~yfi8bxW;kH7fF@iQ@ zoNms9H-*V>FZ=LbbP)DfbI`%Ry%Kp=g9)_UTLS@pfw+)$3bM_hT82ViFF{i5X$=?= zh0SZ1MAq%lW|47K4pejP4fcGML+G@XS`7Dml_t2?}t7Dyn^IB8~0RhI=AJkEBW`Egi1R?VZahs0(1N4cV1X#+`V0?L$qbGDb^dB+J&}?jYBCZo*%ZY;HPp@Mw=)`Cl101#tjdD0d3_ zk=7CS)+Xcyhx1)&7c^XeB%`s+;jGzhD?MO@|7zaHJK`MJ}|0>hsZ4w!~gHx;phRh=DUThxFwf!(; z>64F^Z(m@3K<&h))P_a<(?qp2+bVWCG1gO%81>Kfe~t<2ok!Gh7J*UkY4h8;`fJvF zujT_he;&*LcD2mYFaQ#oor2DI&s+B&KE6yB4N-q9SDyQ;v*lxjYQFj#WC|5l?xBAr zwRNAv0+#LINcPhB{jjHT?qc@dA>fX=#Y`=QP>+N=Ez^V})=$_9x55^4zu_MYgr-6i z@O#DCxY>u&_J10j<8sb8>FRY)ZMrXhDzY!v;f*!33Cys>e~VAL1Pg1x^GIZOY?n+( z*J4Rp-d`)@ka-wsX2iYTGiyZOE)&2ipsmUC6l9Zh3ew}xosBy>BTU`kp+{F(*FTt0 zX<4dL34XS_`))w%=Bfm2{CS(awjr=i*GqA|4T{nMC_anBG`>KwB-8ru?&B*86l&#%#Ar6{y+Pq8(#nb literal 0 HcmV?d00001 diff --git a/interface/public/images/onboarding-logo-metal.png b/interface/public/images/onboarding-logo-metal.png new file mode 100644 index 0000000000000000000000000000000000000000..862163da54a97cad32e0b7a59438bf0f04755ccf GIT binary patch literal 32551 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 W#<|7Y!v9?3)~d={FDn(_eEL7SuYZ65 literal 0 HcmV?d00001 diff --git a/interface/public/images/tutorial-crowdsale.png b/interface/public/images/tutorial-crowdsale.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d08813827a794f489aa7bc6f7160c76b30f7f8 GIT binary patch literal 70384 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 z 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 LXl_uW2aEh49{-{2 literal 0 HcmV?d00001 diff --git a/interface/public/images/tutorial-dao.png b/interface/public/images/tutorial-dao.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f414964ec2bdbe5c86b427beff22aa02454327 GIT binary patch literal 57308 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�S?AZZ#}l4Z`C+15Xbh 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
OzR=G3gn}uUx?Bmj!w;vVe4KX0!?P7QQ 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 { + log.error('UNCAUGHT EXCEPTION', error); + store.dispatch(quitApp()); +}); + +// Quit when all windows are closed. +app.on('window-all-closed', () => store.dispatch(quitApp())); + +// Listen to custom protocol incoming messages, needs registering of URL schemes +app.on('open-url', (e, url) => log.info('Open URL', url)); + +let killedSocketsAndNodes = false; + +app.on('before-quit', async event => { + if (!killedSocketsAndNodes) { + log.info('Defer quitting until sockets and node are shut down'); + + event.preventDefault(); + + // sockets manager + try { + await Sockets.destroyAll(); + store.dispatch({ type: '[MAIN]:SOCKETS:DESTROY' }); + } catch (e) { + log.error('Error shutting down sockets'); + } + + // delay quit, so the sockets can close + setTimeout(async () => { + await ethereumNode.stop(); + store.dispatch({ type: '[MAIN]:ETH_NODE:STOP' }); + + killedSocketsAndNodes = true; + await db.close(); + store.dispatch({ type: '[MAIN]:DB:CLOSE' }); + + store.dispatch(quitApp()); + }, 500); + } else { + log.info('About to quit...'); + } +}); + +let mainWindow; +let splashWindow; + +// This method will be called when Electron has done everything +// initialization and ready for creating browser windows. +app.on('ready', async () => { + // if using HTTP RPC then inform user + if (Settings.rpcMode === 'http') { + dialog.showErrorBox( + 'Insecure RPC connection', + ` +WARNING: You are connecting to an EtherCore node via: ${Settings.rpcHttpPath} + +This is less secure than using local IPC - your passwords will be sent over the wire in plaintext. + +Only do this if you have secured your HTTP connection or you know what you are doing. +` + ); + } + + // initialise the db + try { + await global.db.init(); + store.dispatch({ type: '[MAIN]:DB:INIT' }); + onReady(); + } catch (e) { + log.error(e); + store.dispatch(quitApp()); + } +}); + +protocol.registerStandardSchemes(['bzz']); +store.dispatch({ + type: '[MAIN]:PROTOCOL:REGISTER', + payload: { protocol: 'bzz' } +}); + +async function onReady() { + global.config = db.getCollection('SYS_config'); + + dbSync.initializeListeners(); + + Windows.init(); + + enableSwarmProtocol(); + + if (!Settings.inAutoTestMode) { + await UpdateChecker.run(); + } + + ipcProviderBackend.init(); + + // TODO: Settings.language relies on global.config object being set + store.dispatch(setLanguageOnMain(Settings.language)); + + appMenu(); + + createCoreWindows(); + + checkTimeSync(); + + splashWindow ? splashWindow.on('ready', kickStart) : kickStart(); +} + +function enableSwarmProtocol() { + protocol.registerHttpProtocol( + 'bzz', + (request, callback) => { + if ( + [SwarmState.Disabling, SwarmState.Disabled].includes( + store.getState().settings.swarmState + ) + ) { + const error = global.i18n.t('mist.errors.swarm.notEnabled'); + dialog.showErrorBox('Note', error); + callback({ error }); + store.dispatch({ + type: '[MAIN]:PROTOCOL:ERROR', + payload: { protocol: 'bzz', error } + }); + return; + } + + const redirectPath = `${Settings.swarmURL}/${request.url.replace( + 'bzz:/', + 'bzz://' + )}`; + + if (store.getState().settings.swarmState === SwarmState.Enabling) { + swarmNode.on('started', () => { + callback({ + method: request.method, + referrer: request.referrer, + url: redirectPath + }); + }); + } else { + // Swarm enabled + callback({ + method: request.method, + referrer: request.referrer, + url: redirectPath + }); + } + + store.dispatch({ + type: '[MAIN]:PROTOCOL:REQUEST', + payload: { protocol: 'bzz' } + }); + }, + error => { + if (error) { + log.error(error); + } + } + ); +} + +function createCoreWindows() { + global.defaultWindow = windowStateKeeper({ + defaultWidth: 1024 + 208, + defaultHeight: 720 + }); + + // Create the browser window. + mainWindow = Windows.create('main'); + + // Delegating events to save window bounds on windowStateKeeper + global.defaultWindow.manage(mainWindow.window); + + if (!Settings.inAutoTestMode) { + splashWindow = Windows.create('splash'); + } +} + +function checkTimeSync() { + if (!Settings.skiptimesynccheck) { + timesync.checkEnabled((err, enabled) => { + if (err) { + log.error("Couldn't infer if computer automatically syncs time.", err); + return; + } + + if (!enabled) { + dialog.showMessageBox( + { + type: 'warning', + buttons: ['OK'], + message: global.i18n.t('mist.errors.timeSync.title'), + detail: `${global.i18n.t( + 'mist.errors.timeSync.description' + )}\n\n${global.i18n.t(`mist.errors.timeSync.${process.platform}`)}` + }, + () => {} + ); + } + }); + } +} + +async function kickStart() { + initializeKickStartListeners(); + checkForLegacyChain(); + await ClientBinaryManager.init(); + await ethereumNode.init(); + + if (Settings.enableSwarmOnStart) { + store.dispatch(toggleSwarm()); + } + + if (!ethereumNode.isIpcConnected) { + throw new Error( + "Either the node didn't start or IPC socket failed to connect." + ); + } + log.info('Connected via IPC to node.'); + + // Update menu, to show node switching possibilities + appMenu(); + + if (splashWindow) { + splashWindow.show(); + } + if (!Settings.inAutoTestMode) { + await handleNodeSync(); + } + + await startMainWindow(); +} + +function checkForLegacyChain() { + if ((Settings.loadUserData('daoFork') || '').trim() === 'false') { + dialog.showMessageBox( + { + type: 'warning', + buttons: ['OK'], + message: global.i18n.t('mist.errors.legacyChain.title'), + detail: global.i18n.t('mist.errors.legacyChain.description') + }, + () => { + shell.openExternal('https://github.com/ethercore/desktop-wallet/releases'); + store.dispatch(quitApp()); + } + ); + + throw new Error('Cant start client due to legacy non-Fork setting.'); + } +} + +function initializeKickStartListeners() { + ClientBinaryManager.on('status', (status, data) => { + Windows.broadcast('uiAction_clientBinaryStatus', status, data); + }); + + ethereumNode.on('nodeConnectionTimeout', () => { + Windows.broadcast('uiAction_nodeStatus', 'connectionTimeout'); + }); + + ethereumNode.on('nodeLog', data => { + Windows.broadcast('uiAction_nodeLogText', data.replace(/^.*[0-9]]/, '')); + }); + + ethereumNode.on('state', (state, stateAsText) => { + Windows.broadcast( + 'uiAction_nodeStatus', + stateAsText, + ethereumNode.STATES.ERROR === state ? ethereumNode.lastError : null + ); + }); +} + +function handleNodeSync() { + return new Q((resolve, reject) => { + nodeSync.on('nodeSyncing', result => { + Windows.broadcast('uiAction_nodeSyncStatus', 'inProgress', result); + }); + + nodeSync.on('stopped', () => { + Windows.broadcast('uiAction_nodeSyncStatus', 'stopped'); + }); + + nodeSync.on('error', err => { + log.error('Error syncing node', err); + + reject(err); + }); + + nodeSync.on('finished', () => { + nodeSync.removeAllListeners('error'); + nodeSync.removeAllListeners('finished'); + + resolve(); + }); + }); +} + +function startMainWindow() { + log.info(`Loading Interface at ${global.interfaceAppUrl}`); + initializeMainWindowListeners(); + initializeTabs(); +} + +function initializeMainWindowListeners() { + mainWindow.on('ready', () => { + if (splashWindow) { + splashWindow.close(); + } + mainWindow.show(); + }); + + mainWindow.load(global.interfaceAppUrl); + + mainWindow.on('closed', () => store.dispatch(quitApp())); +} + +function initializeTabs() { + const Tabs = global.db.getCollection('UI_tabs'); + const sortedTabs = + Tabs.getDynamicView('sorted_tabs') || Tabs.addDynamicView('sorted_tabs'); + sortedTabs.applySimpleSort('position', false); + + const refreshMenu = () => { + clearTimeout(global._refreshMenuFromTabsTimer); + + global._refreshMenuFromTabsTimer = setTimeout(() => { + log.debug('Refresh menu with tabs'); + global.webviews = sortedTabs.data(); + appMenu(global.webviews); + store.dispatch({ type: '[MAIN]:MENU:REFRESH' }); + }, 1000); + }; + + Tabs.on('insert', refreshMenu); + Tabs.on('update', refreshMenu); + Tabs.on('delete', refreshMenu); +} diff --git a/modules/abi.js b/modules/abi.js new file mode 100644 index 0000000..ec9bfa9 --- /dev/null +++ b/modules/abi.js @@ -0,0 +1,55 @@ +/** +Decodes Data into values, for a given signature. + +@module ABI +*/ +const _ = global._; +const { ipcMain: ipc } = require('electron'); +const abi = require('ethereumjs-abi'); + +function isHexType(type) { + return _.includes(['address', 'bytes'], type) || type.match(/bytes\d+/g); +} + +function padLeft(string, chars) { + return new Array(chars - string.length + 1).join('0') + string; +} + +ipc.on('backendAction_decodeFunctionSignature', (event, _signature, _data) => { + const data = _data.slice(10, _data.length); + const signature = _signature.match(/\((.+)\)/i); + + if (!signature) return; + + const paramTypes = signature[1].split(','); + + try { + const paramsResponse = abi.rawDecode(paramTypes, new Buffer(data, 'hex')); + const paramsDictArr = []; + + // Turns addresses into proper hex string + // Turns numbers into their decimal string version + paramTypes.forEach((type, index) => { + const conversionFlag = isHexType(type) ? 'hex' : null; + const prefix = isHexType(type) ? '0x' : ''; + + paramsResponse[index] = paramsResponse[index].toString(conversionFlag); + + const res = type.match(/bytes(\d+)/i); + if (type === 'address') { + paramsResponse[index] = padLeft(paramsResponse[index], 40); + } else if (res) { + paramsResponse[index] = padLeft( + paramsResponse[index], + Number(res[1]) * 2 + ); + } + + paramsDictArr.push({ type, value: prefix + paramsResponse[index] }); + }); + + event.sender.send('uiAction_decodedFunctionSignatures', paramsDictArr); + } catch (e) { + console.warn('ABI.js Warning:', e.message); + } +}); diff --git a/modules/blurOverlay.js b/modules/blurOverlay.js new file mode 100644 index 0000000..7537fc8 --- /dev/null +++ b/modules/blurOverlay.js @@ -0,0 +1,18 @@ +const Windows = require('./windows'); + +class BlurOverlay { + static enable() { + BlurOverlay.setBlurOverlay(true); + } + + static disable() { + BlurOverlay.setBlurOverlay(false); + } + + static setBlurOverlay(flag) { + const mainWindow = Windows.getByType('main'); + mainWindow.send('uiAction_enableBlurOverlay', flag); + } +} + +module.exports = BlurOverlay; diff --git a/modules/clientBinaryManager.js b/modules/clientBinaryManager.js new file mode 100644 index 0000000..1bfb5ad --- /dev/null +++ b/modules/clientBinaryManager.js @@ -0,0 +1,352 @@ +const _ = global._; +const Q = require('bluebird'); +const fs = require('fs'); +const { app, dialog } = require('electron'); +const got = require('got'); +const path = require('path'); +const Settings = require('./settings'); +const Windows = require('./windows'); +const ClientBinaryManager = require('ethereum-client-binaries').Manager; +const EventEmitter = require('events').EventEmitter; + +const log = require('./utils/logger').create('ClientBinaryManager'); + +// should be 'https://raw.githubusercontent.com/ethercore/desktop-wallet/master/clientBinaries.json' +const BINARY_URL = + 'https://raw.githubusercontent.com/ethercore/desktop-wallet/master/clientBinaries.json'; + +const ALLOWED_DOWNLOAD_URLS_REGEX = /^https:\/\/(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)?ethercore\.org\/|github\.com\/|gethstore\.blob\.core\.windows\.net\/|bintray\.com\/artifact\/download\/karalabe\/ethereum\/)(?:.+)/; // eslint-disable-line max-len + +class Manager extends EventEmitter { + constructor() { + super(); + + this._availableClients = {}; + } + + init(restart) { + log.info('Initializing...'); + + // check every hour + setInterval(() => this._checkForNewConfig(true), 1000 * 60 * 60); + + return this._checkForNewConfig(restart); + } + + getClient(clientId) { + return this._availableClients[clientId.toLowerCase()]; + } + + _writeLocalConfig(json) { + log.info('Write new client binaries local config to disk ...'); + + fs.writeFileSync( + path.join(Settings.userDataPath, 'clientBinaries.json'), + JSON.stringify(json, null, 2) + ); + } + + _checkForNewConfig(restart) { + const nodeType = 'Geth'; + let binariesDownloaded = false; + let nodeInfo; + + log.info(`Checking for new client binaries config from: ${BINARY_URL}`); + + this._emit('loadConfig', 'Fetching remote client config'); + + // fetch config + return got(BINARY_URL, { + timeout: 3000, + json: true + }) + .then(res => { + if (!res || _.isEmpty(res.body)) { + throw new Error('Invalid fetch result'); + } else { + return res.body; + } + }) + .catch(err => { + log.warn('Error fetching client binaries config from repo', err); + }) + .then(latestConfig => { + if (!latestConfig) return; + + let localConfig; + let skipedVersion; + const nodeVersion = latestConfig.clients[nodeType].version; + + this._emit('loadConfig', 'Fetching local config'); + + try { + // now load the local json + localConfig = JSON.parse( + fs + .readFileSync( + path.join(Settings.userDataPath, 'clientBinaries.json') + ) + .toString() + ); + } catch (err) { + log.warn( + `Error loading local config - assuming this is a first run: ${err}` + ); + + if (latestConfig) { + localConfig = latestConfig; + + this._writeLocalConfig(localConfig); + } else { + throw new Error( + 'Unable to load local or remote config, cannot proceed!' + ); + } + } + + try { + skipedVersion = fs + .readFileSync( + path.join(Settings.userDataPath, 'skippedNodeVersion.json') + ) + .toString(); + } catch (err) { + log.info('No "skippedNodeVersion.json" found.'); + } + + // prepare node info + const platform = process.platform + .replace('darwin', 'mac') + .replace('win32', 'win') + .replace('freebsd', 'linux') + .replace('sunos', 'linux'); + const binaryVersion = + latestConfig.clients[nodeType].platforms[platform][process.arch]; + const checksums = _.pick(binaryVersion.download, 'sha256', 'md5'); + const algorithm = _.keys(checksums)[0].toUpperCase(); + const hash = _.values(checksums)[0]; + + // get the node data, to be able to pass it to a possible error + nodeInfo = { + type: nodeType, + version: nodeVersion, + checksum: hash, + algorithm + }; + + // if new config version available then ask user if they wish to update + if ( + latestConfig && + JSON.stringify(localConfig) !== JSON.stringify(latestConfig) && + nodeVersion !== skipedVersion + ) { + return new Q(resolve => { + log.debug( + 'New client binaries config found, asking user if they wish to update...' + ); + + const wnd = Windows.createPopup( + 'clientUpdateAvailable', + { + sendData: { + uiAction_sendData: { + name: nodeType, + version: nodeVersion, + checksum: `${algorithm}: ${hash}`, + downloadUrl: binaryVersion.download.url, + restart + } + } + }, + update => { + // update + if (update === 'update') { + this._writeLocalConfig(latestConfig); + + resolve(latestConfig); + + // skip + } else if (update === 'skip') { + fs.writeFileSync( + path.join(Settings.userDataPath, 'skippedNodeVersion.json'), + nodeVersion + ); + + resolve(localConfig); + } + + wnd.close(); + } + ); + + // if the window is closed, simply continue and as again next time + wnd.on('close', () => { + resolve(localConfig); + }); + }); + } + + return localConfig; + }) + .then(localConfig => { + if (!localConfig) { + log.info( + 'No config for the ClientBinaryManager could be loaded, using local clientBinaries.json.' + ); + + const localConfigPath = path.join( + Settings.userDataPath, + 'clientBinaries.json' + ); + localConfig = fs.existsSync(localConfigPath) + ? require(localConfigPath) + : require('../clientBinaries.json'); // eslint-disable-line no-param-reassign, global-require, import/no-dynamic-require, import/no-unresolved + } + + // scan for node + const mgr = new ClientBinaryManager(localConfig); + mgr.logger = log; + + this._emit('scanning', 'Scanning for binaries'); + + return mgr + .init({ + folders: [ + path.join(Settings.userDataPath, 'binaries', 'Geth', 'unpacked'), + path.join(Settings.userDataPath, 'binaries', 'Eth', 'unpacked') + ] + }) + .then(() => { + const clients = mgr.clients; + + this._availableClients = {}; + + const available = _.filter(clients, c => !!c.state.available); + + if (!available.length) { + if (_.isEmpty(clients)) { + throw new Error( + 'No client binaries available for this system!' + ); + } + + this._emit('downloading', 'Downloading binaries'); + + return Q.map(_.values(clients), c => { + binariesDownloaded = true; + + return mgr.download(c.id, { + downloadFolder: path.join(Settings.userDataPath, 'binaries'), + urlRegex: ALLOWED_DOWNLOAD_URLS_REGEX + }); + }); + } + }) + .then(() => { + this._emit('filtering', 'Filtering available clients'); + + _.each(mgr.clients, client => { + if (client.state.available) { + const idlcase = client.id.toLowerCase(); + + this._availableClients[idlcase] = { + binPath: + Settings[`${idlcase}Path`] || client.activeCli.fullPath, + version: client.version + }; + } + }); + + // restart if it downloaded while running + if (restart && binariesDownloaded) { + log.info('Restarting app ...'); + app.relaunch(); + app.quit(); + } + + this._emit('done'); + }); + }) + .catch(err => { + log.error(err); + + this._emit('error', err.message); + + // show error + if (err.message.indexOf('Hash mismatch') !== -1) { + // show hash mismatch error + dialog.showMessageBox( + { + type: 'warning', + buttons: ['OK'], + message: global.i18n.t('mist.errors.nodeChecksumMismatch.title'), + detail: global.i18n.t( + 'mist.errors.nodeChecksumMismatch.description', + { + type: nodeInfo.type, + version: nodeInfo.version, + algorithm: nodeInfo.algorithm, + hash: nodeInfo.checksum + } + ) + }, + () => { + app.quit(); + } + ); + + // throw so the main.js can catch it + throw err; + } + }); + } + + _emit(status, msg) { + log.debug(`Status: ${status} - ${msg}`); + + this.emit('status', status, msg); + } + + _resolveEthBinPath() { + log.info('Resolving path to Eth client binary ...'); + + let platform = process.platform; + + // "win32" -> "win" (because nodes are bundled by electron-builder) + if (platform.indexOf('win') === 0) { + platform = 'win'; + } else if (platform.indexOf('darwin') === 0) { + platform = 'mac'; + } + + log.debug(`Platform: ${platform}`); + + let binPath = path.join( + __dirname, + '..', + 'nodes', + 'eth', + `${platform}-${process.arch}` + ); + + if (Settings.inProductionMode) { + // get out of the ASAR + binPath = binPath.replace('nodes', path.join('..', '..', 'nodes')); + } + + binPath = path.join(path.resolve(binPath), 'eth'); + + if (platform === 'win') { + binPath += '.exe'; + } + + log.info(`Eth client binary path: ${binPath}`); + + this._availableClients.eth = { + binPath, + version: '1.3.0' + }; + } +} + +module.exports = new Manager(); diff --git a/modules/core/rootReducer.js b/modules/core/rootReducer.js new file mode 100644 index 0000000..2f909dc --- /dev/null +++ b/modules/core/rootReducer.js @@ -0,0 +1,8 @@ +import { combineReducers } from 'redux'; +import settings from './settings/reducer'; +import ui from './ui/reducer'; + +export default combineReducers({ + settings, + ui +}); diff --git a/modules/core/settings/actions.js b/modules/core/settings/actions.js new file mode 100644 index 0000000..7ecd4f8 --- /dev/null +++ b/modules/core/settings/actions.js @@ -0,0 +1,181 @@ +const Settings = require('../../settings'); + +import logger from '../../utils/logger'; +import swarmNode from '../../swarmNode'; +import { SwarmState } from './reducer'; + +const swarmLog = logger.create('swarm'); + +export function syncFlags(argv) { + return { type: '[MAIN]:CLI_FLAGS:SYNC', payload: { cliFlags: argv } }; +} + +export function syncBuildConfig(key, value) { + return { + type: '[MAIN]:BUILD_CONFIG:SYNC', + payload: { [key]: value } + }; +} + +export function setLanguage(lang, browserWindow) { + return dispatch => { + dispatch({ type: '[MAIN]:SET_LANGUAGE:START' }); + dispatch(setLanguageOnMain(lang)); + dispatch(setLanguageOnClient(lang, browserWindow)); + dispatch(setAcceptLanguageHeader(lang, browserWindow)); + dispatch(resetMenu(lang)); + dispatch({ type: '[MAIN]:SET_LANGUAGE:FINISH' }); + }; +} + +export function setLanguageOnMain(lang) { + return dispatch => { + dispatch({ type: '[MAIN]:SET_LANGUAGE_ON_MAIN:START' }); + try { + i18n.changeLanguage(lang.substr(0, 5)); + dispatch({ + type: '[MAIN]:SET_LANGUAGE_ON_MAIN:SUCCESS', + payload: { i18n: lang } + }); + } catch (error) { + dispatch({ type: '[MAIN]:SET_LANGUAGE_ON_MAIN:FAILURE', error }); + } + }; +} + +export function setLanguageOnClient(lang, browserWindow) { + return dispatch => { + dispatch({ type: '[MAIN]:SET_LANGUAGE_ON_CLIENT:START' }); + try { + browserWindow.webContents.executeJavaScript( + `TAPi18n.setLanguage("${lang}");` + ); + dispatch({ + type: '[MAIN]:SET_LANGUAGE_ON_CLIENT:SUCCESS', + payload: { i18n: lang } + }); + } catch (error) { + dispatch({ type: '[MAIN]:SET_LANGUAGE_ON_CLIENT:FAILURE', error }); + } + }; +} + +export function setAcceptLanguageHeader(lang, browserWindow) { + return dispatch => { + dispatch({ type: '[MAIN]:SET_ACCEPT_LANGUAGE_HEADER:START' }); + try { + const session = browserWindow.webContents.session; + session.setUserAgent(session.getUserAgent(), lang); + dispatch({ type: '[MAIN]:SET_ACCEPT_LANGUAGE_HEADER:SUCCESS' }); + } catch (error) { + dispatch({ + type: '[MAIN]:SET_ACCEPT_LANGUAGE_HEADER:FAILURE', + error + }); + } + }; +} + +export function resetMenu(lang) { + return dispatch => { + dispatch({ type: '[MAIN]:RESET_MENU:START' }); + try { + if (lang) { + Settings.language = lang; + } + + const appMenu = require('../../menuItems'); + appMenu(global.webviews); + + dispatch({ type: '[MAIN]:RESET_MENU:SUCCESS' }); + } catch (error) { + dispatch({ type: '[MAIN]:RESET_MENU:FAILURE', error }); + } + }; +} + +export function getLanguage(event) { + return (dispatch, getState) => { + dispatch({ type: '[MAIN]:GET_LANGUAGE:START' }); + try { + const i18n = getState().settings.i18n; + event.returnValue = i18n; + dispatch({ + type: '[MAIN]:GET_LANGUAGE:SUCCESS', + payload: { i18n } + }); + } catch (error) { + dispatch({ type: '[MAIN]:GET_LANGUAGE:FAILURE', error }); + } + }; +} + +export function toggleSwarm(event) { + return (dispatch, getState) => { + if ( + [SwarmState.Enabled, SwarmState.Enabling].includes( + getState().settings.swarmState + ) + ) { + dispatch({ type: '[MAIN]:SWARM:STOP' }); + + try { + swarmNode.on('stopping', () => { + swarmLog.info('Stopping Swarm'); + dispatch({ type: '[MAIN]:SWARM:DISABLING' }); + }); + + swarmNode.on('stopped', () => { + swarmLog.info('Swarm stopped'); + dispatch({ type: '[MAIN]:SWARM:DISABLED' }); + dispatch(resetMenu()); + }); + + swarmNode.stop(); + + if (getState().settings.swarmEnableOnStart) { + Settings.enableSwarmOnStart = false; + dispatch({ type: '[MAIN]:SWARM:DISABLE_ON_START' }); + } + } catch (error) { + dispatch({ type: '[MAIN]:SWARM:FAILURE', error }); + swarmLog.error(error); + } + } else { + dispatch({ type: '[MAIN]:SWARM:START' }); + + try { + swarmNode.on('starting', () => { + swarmLog.info('Starting Swarm'); + dispatch({ type: '[MAIN]:SWARM:ENABLING' }); + }); + + swarmNode.on('downloadProgress', progress => { + swarmLog.info( + `Downloading Swarm binary: ${(progress * 100).toFixed(1)}%` + ); + }); + + swarmNode.on('started', () => { + swarmLog.info('Swarm started'); + dispatch({ type: '[MAIN]:SWARM:ENABLED' }); + dispatch(resetMenu()); + }); + + swarmNode.init(); + + if (!getState().settings.swarmEnableOnStart) { + Settings.enableSwarmOnStart = true; + dispatch({ type: '[MAIN]:SWARM:ENABLE_ON_START' }); + } + } catch (error) { + dispatch({ type: '[MAIN]:SWARM:FAILURE', error }); + swarmLog.error(error); + } + } + }; +} + +export function setSwarmEnableOnStart() { + return { type: '[MAIN]:SWARM:ENABLE_ON_START' }; +} diff --git a/modules/core/settings/reducer.js b/modules/core/settings/reducer.js new file mode 100644 index 0000000..3f734e8 --- /dev/null +++ b/modules/core/settings/reducer.js @@ -0,0 +1,79 @@ +export const SwarmState = { + Enabled: 'Enabled', + Enabling: 'Enabling', + Disabling: 'Disabling', + Disabled: 'Disabled', + Error: 'Error' +}; + +export const initialState = { + appVersion: '', + autoTestMode: false, + dbInit: false, + dbSync: false, + ignoreGpuBlacklist: false, + i18n: '', + ipcProviderBackendInit: false, + productionMode: null, + protocols: [], + rpcMode: '', + swarmState: SwarmState.Disabled, + swarmEnableOnStart: false, + uiMode: '', + updateCheckerRan: false, + cliFlags: {} +}; + +const settings = (state = initialState, action) => { + switch (action.type) { + case '[MAIN]:DB:INIT': + return Object.assign({}, state, { dbInit: true }); + case '[MAIN]:DB:SYNC_TO_BACKEND': + return Object.assign({}, state, { dbSync: true }); + case '[MAIN]:PROTOCOL:REGISTER': + return Object.assign({}, state, { + protocols: state.protocols.concat(action.payload.protocol) + }); + case '[MAIN]:BUILD_CONFIG:SYNC': + const key = Object.keys(action.payload)[0]; + return Object.assign({}, state, { [key]: action.payload[key] }); + case '[MAIN]:IGNORE_GPU_BLACKLIST:SET': + return Object.assign({}, state, { ignoreGpuBlacklist: true }); + case '[MAIN]:TEST_MODE:SET': + return Object.assign({}, state, { autoTestMode: true }); + case '[MAIN]:CLI_FLAGS:SYNC': + return Object.assign({}, state, { + cliFlags: action.payload.cliFlags + }); + case '[MAIN]:SET_LANGUAGE_ON_MAIN:SUCCESS': + return Object.assign({}, state, { i18n: action.payload.i18n }); + case '[MAIN]:SWARM:ENABLING': + return Object.assign({}, state, { + swarmState: SwarmState.Enabling + }); + case '[MAIN]:SWARM:ENABLED': + return Object.assign({}, state, { swarmState: SwarmState.Enabled }); + case '[MAIN]:SWARM:DISABLING': + return Object.assign({}, state, { + swarmState: SwarmState.Disabling + }); + case '[MAIN]:SWARM:DISABLED': + return Object.assign({}, state, { + swarmState: SwarmState.Disabled + }); + case '[MAIN]:SWARM:FAILURE': + return Object.assign({}, state, { swarmState: SwarmState.Error }); + case '[MAIN]:SWARM:ENABLE_ON_START': + return Object.assign({}, state, { swarmEnableOnStart: true }); + case '[MAIN]:SWARM:DISABLE_ON_START': + return Object.assign({}, state, { swarmEnableOnStart: false }); + case '[MAIN]:UPDATE_CHECKER:FINISH': + return Object.assign({}, state, { updateCheckerRan: true }); + case '[MAIN]:IPC_PROVIDER_BACKEND:FINISH': + return Object.assign({}, state, { ipcProviderBackendInit: true }); + default: + return state; + } +}; + +export default settings; diff --git a/modules/core/store.js b/modules/core/store.js new file mode 100644 index 0000000..7d439ea --- /dev/null +++ b/modules/core/store.js @@ -0,0 +1,17 @@ +import { createStore, applyMiddleware } from 'redux'; +import { forwardToRenderer, replayActionMain } from 'electron-redux'; +import { composeWithDevTools } from 'remote-redux-devtools'; +import thunk from 'redux-thunk'; +import { app } from 'electron'; +import rootReducer from './rootReducer'; + +export default function configureReduxStore() { + const store = createStore( + rootReducer, + composeWithDevTools(applyMiddleware(thunk, forwardToRenderer)) + ); + + replayActionMain(store); + + return store; +} diff --git a/modules/core/ui/actions.js b/modules/core/ui/actions.js new file mode 100644 index 0000000..9ab6609 --- /dev/null +++ b/modules/core/ui/actions.js @@ -0,0 +1,29 @@ +import { app } from 'electron'; + +export function quitApp() { + return dispatch => { + dispatch({ type: '[MAIN]:APP_QUIT:START' }); + try { + app.quit(); + dispatch({ type: '[MAIN]:APP_QUIT:SUCCESS' }); + } catch (error) { + dispatch({ type: '[MAIN]:APP_QUIT:FAILURE', error }); + } + }; +} + +export function openWindow(windowType) { + return { type: '[MAIN]:WINDOW:OPEN', payload: { windowType } }; +} + +export function closeWindow(windowType) { + return { type: '[MAIN]:WINDOW:CLOSE', payload: { windowType } }; +} + +export function reuseGenericWindow(actingType) { + return { type: '[MAIN]:GENERIC_WINDOW:REUSE', payload: { actingType } }; +} + +export function resetGenericWindow() { + return { type: '[MAIN]:GENERIC_WINDOW:RESET' }; +} diff --git a/modules/core/ui/reducer.js b/modules/core/ui/reducer.js new file mode 100644 index 0000000..cf294d2 --- /dev/null +++ b/modules/core/ui/reducer.js @@ -0,0 +1,41 @@ +import uniq from 'lodash/uniq'; + +export const initialState = { + appQuit: false, + genericWindowActingType: '', + windowsInit: false, + windowsOpen: [] +}; + +const ui = (state = initialState, action) => { + switch (action.type) { + case '[MAIN]:APP_QUIT:SUCCESS': + return Object.assign({}, state, { appQuit: true }); + case '[MAIN]:WINDOW:OPEN': + return Object.assign({}, state, { + windowsOpen: uniq(state.windowsOpen.concat(action.payload.windowType)) + }); + case '[MAIN]:WINDOW:CLOSE': + return Object.assign({}, state, { + windowsOpen: state.windowsOpen.filter(w => { + return w !== action.payload.windowType; + }) + }); + case '[MAIN]:WINDOWS:INIT_FINISH': + return Object.assign({}, state, { windowsInit: true }); + case '[MAIN]:GENERIC_WINDOW:REUSE': + return Object.assign({}, state, { + genericWindowActingType: action.payload.actingType, + windowsOpen: state.windowsOpen.concat('generic') + }); + case '[MAIN]:GENERIC_WINDOW:RESET': + return Object.assign({}, state, { + genericWindowActingType: '', + windowsOpen: state.windowsOpen.filter(i => i !== 'generic') + }); + default: + return state; + } +}; + +export default ui; diff --git a/modules/db.js b/modules/db.js new file mode 100644 index 0000000..3734365 --- /dev/null +++ b/modules/db.js @@ -0,0 +1,69 @@ +const fs = require('fs'); +const Q = require('bluebird'); +const Loki = require('lokijs'); +const Settings = require('./settings'); +const log = require('./utils/logger').create('Db'); + +let db; + +exports.init = () => { + const filePath = Settings.dbFilePath; + + return Q.try(() => { + // if db file doesn't exist then create it + try { + log.debug(`Check that db exists and it's writeable: ${filePath}`); + fs.accessSync(filePath, fs.R_OK | fs.W_OK); + return Q.resolve(); + } catch (err) { + log.info(`Creating db: ${filePath}`); + + const tempdb = new Loki(filePath, { + env: 'NODEJS', + autoload: false + }); + + return new Q.promisify(tempdb.saveDatabase, { context: tempdb })(); + } + }).then(() => { + log.info(`Loading db: ${filePath}`); + + return new Q((resolve, reject) => { + db = new Loki(filePath, { + env: 'NODEJS', + autosave: true, + autosaveInterval: 5000, + autoload: true, + autoloadCallback(err) { + if (err) { + log.error(err); + reject(new Error('Error instantiating db')); + } + resolve(); + } + }); + }); + }); +}; + +exports.getCollection = name => { + if (!db.getCollection(name)) { + db.addCollection(name, { + unique: ['_id'] + }); + } + + return db.getCollection(name); +}; + +exports.close = () => { + return new Q((resolve, reject) => { + db.close(err => { + if (err) { + reject(err); + } else { + resolve(); + } + }); + }); +}; diff --git a/modules/dbSync.js b/modules/dbSync.js new file mode 100644 index 0000000..7420a7e --- /dev/null +++ b/modules/dbSync.js @@ -0,0 +1,194 @@ +/** +@module dbSync +*/ +const { ipcMain, ipcRenderer } = require('electron'); + +/** + * Sync IPC calls received from given window into given db table. + * @param {Object} coll Db collection to save to. + */ +exports.initializeListeners = function() { + let log = require('./utils/logger').create('dbSync'), + db = require('./db'), + ipc = ipcMain; + + ipc.on('dbSync-add', (event, args) => { + let collName = args.collName, + coll = db.getCollection(`UI_${collName}`); + + log.trace('dbSync-add', collName, args._id); + + const _id = args._id; + + if (!coll.by('_id', _id)) { + args.fields._id = _id; + coll.insert(args.fields); + } + }); + + ipc.on('dbSync-changed', (event, args) => { + let collName = args.collName, + coll = db.getCollection(`UI_${collName}`); + + log.trace('dbSync-changed', collName, args._id); + + const _id = args._id; + const item = coll.by('_id', _id); + + if (item) { + for (const k in args.fields) { + if ({}.hasOwnProperty.call(args.fields, k)) { + item[k] = args.fields[k]; + } + } + + coll.update(item); + } else { + log.error('Item not found in db', _id); + } + }); + + ipc.on('dbSync-removed', (event, args) => { + let collName = args.collName, + coll = db.getCollection(`UI_${collName}`); + + log.trace('dbSync-removed', collName, args._id); + + const _id = args._id; + const item = coll.by('_id', _id); + + if (item) { + coll.remove(item); + } else { + log.error('Item not found in db', _id); + } + }); + + // Get all data (synchronous) + ipc.on('dbSync-reloadSync', (event, args) => { + let collName = args.collName, + coll = db.getCollection(`UI_${collName}`), + docs = coll.find(); + + log.debug('dbSync-reloadSync, no. of docs:', collName, docs.length); + + docs = docs.map(doc => { + const ret = {}; + + for (const k in doc) { + if (k !== 'meta' && k !== '$loki') { + ret[k] = doc[k]; + } + } + + return ret; + }); + + event.returnValue = docs; + }); +}; + +const syncDataFromBackend = function(coll) { + const ipc = ipcRenderer; + + const collName = coll._name; + + console.debug('Load collection data from backend: ', collName); + + return new Promise((resolve, reject) => { + const dataJson = ipc.sendSync('dbSync-reloadSync', { + collName + }); + + try { + let done = 0; + + coll.remove({}); + + if (!dataJson.length) { + resolve(); + } + + // we do inserts slowly, to avoid race conditions when it comes + // to updating the UI + dataJson.forEach(record => { + Tracker.afterFlush(() => { + try { + // On Meteor startup if a record contains a redirect to about:blank + // page, the application process crashes. + if ( + _.isString(record.redirect) && + record.redirect.indexOf('//about:blank') > -1 + ) { + record.redirect = null; + } + + if (record._id) { + coll.upsert(record._id, record); + } else { + coll.insert(record); + } + } catch (err) { + console.error(err.toString()); + } + + done++; + + if (done >= dataJson.length) { + resolve(); + } + }); + }); + } catch (err) { + reject(err); + } + }); +}; +exports.syncDataFromBackend = syncDataFromBackend; + +exports.frontendSyncInit = function(coll) { + let ipc = ipcRenderer, + syncDoneResolver; + + const collName = coll._name; + + coll.onceSynced = new Promise((resolve, reject) => { + syncDoneResolver = resolve; + }); + + syncDataFromBackend(coll) + .catch(err => { + console.error(err.toString()); + }) + .then(() => { + // start watching for changes + coll.find().observeChanges({ + added(id, fields) { + ipc.send('dbSync-add', { + collName, + _id: id, + fields + }); + }, + changed(id, fields) { + ipc.send('dbSync-changed', { + collName, + _id: id, + fields + }); + }, + removed(id) { + ipc.send('dbSync-removed', { + collName, + _id: id + }); + } + }); + + console.debug('Sync collection data to backend started: ', collName); + + syncDoneResolver(); + }); + + return coll; +}; diff --git a/modules/ethereumNode.js b/modules/ethereumNode.js new file mode 100644 index 0000000..ef65e4a --- /dev/null +++ b/modules/ethereumNode.js @@ -0,0 +1,594 @@ +const _ = global._; +const fs = require('fs'); +const Q = require('bluebird'); +const spawn = require('child_process').spawn; +const { dialog } = require('electron'); +const Windows = require('./windows.js'); +const Settings = require('./settings'); +const logRotate = require('log-rotate'); +const path = require('path'); +const EventEmitter = require('events').EventEmitter; +const Sockets = require('./socketManager'); +const ClientBinaryManager = require('./clientBinaryManager'); + +import logger from './utils/logger'; +const ethereumNodeLog = logger.create('EthereumNode'); + +const DEFAULT_NODE_TYPE = 'geth'; +const DEFAULT_NETWORK = 'main'; +const DEFAULT_SYNCMODE = 'fast'; + +const UNABLE_TO_BIND_PORT_ERROR = 'unableToBindPort'; +const NODE_START_WAIT_MS = 3000; + +const STATES = { + STARTING: 0 /* Node about to be started */, + STARTED: 1 /* Node started */, + CONNECTED: 2 /* IPC connected - all ready */, + STOPPING: 3 /* Node about to be stopped */, + STOPPED: 4 /* Node stopped */, + ERROR: -1 /* Unexpected error */ +}; + +/** + * Etheruem nodes manager. + */ +class EthereumNode extends EventEmitter { + constructor() { + super(); + + this.STATES = STATES; + + this._loadDefaults(); + + this._node = null; + this._type = null; + this._network = null; + + this._socket = Sockets.get('node-ipc', Settings.rpcMode); + + this.on('data', _.bind(this._logNodeData, this)); + } + + get isOwnNode() { + return !!this._node; + } + + get isExternalNode() { + return !this._node; + } + + get isIpcConnected() { + return this._socket.isConnected; + } + + get type() { + return this.isOwnNode ? this._type : null; + } + + get network() { + return this.isOwnNode ? this._network : null; + } + + get syncMode() { + return this._syncMode; + } + + get isEth() { + return this._type === 'eth'; + } + + get isGeth() { + return this._type === 'geth'; + } + + get isMainNetwork() { + return this.network === 'main'; + } + + get isTestNetwork() { + return this.network === 'test'; + } + + get isRinkebyNetwork() { + return this.network === 'rinkeby'; + } + + get isDevNetwork() { + return this.network === 'dev'; + } + + get isLightMode() { + return this._syncMode === 'fast'; + } + + get state() { + return this._state; + } + + get stateAsText() { + switch (this._state) { + case STATES.STARTING: + return 'starting'; + case STATES.STARTED: + return 'started'; + case STATES.CONNECTED: + return 'connected'; + case STATES.STOPPING: + return 'stopping'; + case STATES.STOPPED: + return 'stopped'; + case STATES.ERROR: + return 'error'; + default: + return false; + } + } + + set state(newState) { + this._state = newState; + + this.emit('state', this.state, this.stateAsText); + } + + get lastError() { + return this._lastErr; + } + + set lastError(err) { + this._lastErr = err; + } + + /** + * This method should always be called first to initialise the connection. + * @return {Promise} + */ + init() { + return this._socket + .connect(Settings.rpcConnectConfig) + .then(() => { + this.state = STATES.CONNECTED; + + this.emit('runningNodeFound'); + }) + .catch(() => { + ethereumNodeLog.warn( + "Failed to connect to node. Maybe it's not running so let's start our own..." + ); + + ethereumNodeLog.info(`Node type: ${this.defaultNodeType}`); + ethereumNodeLog.info(`Network: ${this.defaultNetwork}`); + ethereumNodeLog.info(`SyncMode: ${this.defaultSyncMode}`); + + // if not, start node yourself + return this._start( + this.defaultNodeType, + this.defaultNetwork, + this.defaultSyncMode + ).catch(err => { + ethereumNodeLog.error('Failed to start node', err); + throw err; + }); + }); + } + + restart(newType, newNetwork, syncMode) { + return Q.try(() => { + if (!this.isOwnNode) { + throw new Error('Cannot restart node since it was started externally'); + } + + ethereumNodeLog.info('Restart node', newType, newNetwork); + + return this.stop() + .then(() => Windows.loading.show()) + .then(() => + this._start( + newType || this.type, + newNetwork || this.network, + syncMode || this.syncMode + ) + ) + .then(() => Windows.loading.hide()) + .catch(err => { + ethereumNodeLog.error('Error restarting node', err); + throw err; + }); + }); + } + + /** + * Stop node. + * + * @return {Promise} + */ + stop() { + if (!this._stopPromise) { + return new Q(resolve => { + if (!this._node) { + return resolve(); + } + + this.state = STATES.STOPPING; + + ethereumNodeLog.info( + `Stopping existing node: ${this._type} ${this._network}` + ); + + this._node.stderr.removeAllListeners('data'); + this._node.stdout.removeAllListeners('data'); + this._node.stdin.removeAllListeners('error'); + this._node.removeAllListeners('error'); + this._node.removeAllListeners('exit'); + + this._node.kill('SIGINT'); + + // after some time just kill it if not already done so + const killTimeout = setTimeout(() => { + if (this._node) { + this._node.kill('SIGKILL'); + } + }, 8000 /* 8 seconds */); + + this._node.once('close', () => { + clearTimeout(killTimeout); + + this._node = null; + + resolve(); + }); + }).then(() => { + this.state = STATES.STOPPED; + this._stopPromise = null; + }); + } + ethereumNodeLog.debug( + 'Disconnection already in progress, returning Promise.' + ); + return this._stopPromise; + } + + /** + * Send Web3 command to socket. + * @param {String} method Method name + * @param {Array} [params] Method arguments + * @return {Promise} resolves to result or error. + */ + send(method, params) { + return this._socket.send({ + method, + params + }); + } + + /** + * Start an ethereum node. + * @param {String} nodeType geth, eth, etc + * @param {String} network network id + * @return {Promise} + */ + _start(nodeType, network, syncMode) { + ethereumNodeLog.info(`Start node: ${nodeType} ${network} ${syncMode}`); + + const isTestNet = network === 'test'; + + if (isTestNet) { + ethereumNodeLog.debug('Node will connect to the test network'); + } + + return this.stop() + .then(() => { + return this.__startNode(nodeType, network, syncMode).catch(err => { + ethereumNodeLog.error('Failed to start node', err); + + this._showNodeErrorDialog(nodeType, network); + + throw err; + }); + }) + .then(proc => { + ethereumNodeLog.info( + `Started node successfully: ${nodeType} ${network} ${syncMode}` + ); + + this._node = proc; + this.state = STATES.STARTED; + + Settings.saveUserData('node', this._type); + Settings.saveUserData('network', this._network); + Settings.saveUserData('syncmode', this._syncMode); + + return this._socket + .connect(Settings.rpcConnectConfig, { + timeout: 30000 /* 30s */ + }) + .then(() => { + this.state = STATES.CONNECTED; + }) + .catch(err => { + ethereumNodeLog.error('Failed to connect to node', err); + + if (err.toString().indexOf('timeout') >= 0) { + this.emit('nodeConnectionTimeout'); + } + + this._showNodeErrorDialog(nodeType, network); + + throw err; + }); + }) + .catch(err => { + // set before updating state so that state change event observers + // can pick up on this + this.lastError = err.tag; + this.state = STATES.ERROR; + + // if unable to start eth node then write geth to defaults + if (nodeType === 'eth') { + Settings.saveUserData('node', 'geth'); + } + + throw err; + }); + } + + /** + * @return {Promise} + */ + __startNode(nodeType, network, syncMode) { + this.state = STATES.STARTING; + + this._network = network; + this._type = nodeType; + this._syncMode = syncMode; + + const client = ClientBinaryManager.getClient(nodeType); + let binPath; + + if (client) { + binPath = client.binPath; + } else { + throw new Error(`Node "${nodeType}" binPath is not available.`); + } + + ethereumNodeLog.info(`Start node using ${binPath}`); + + return new Q((resolve, reject) => { + this.__startProcess(nodeType, network, binPath, syncMode).then( + resolve, + reject + ); + }); + } + + /** + * @return {Promise} + */ + __startProcess(nodeType, network, binPath, _syncMode) { + let syncMode = _syncMode; + if (nodeType === 'geth' && !syncMode) { + syncMode = DEFAULT_SYNCMODE; + } + + return new Q((resolve, reject) => { + ethereumNodeLog.trace('Rotate log file'); + + logRotate( + path.join(Settings.userDataPath, 'logs', 'all.log'), + { count: 5 }, + error => { + if (error) { + ethereumNodeLog.error('Log rotation problems', error); + return reject(error); + } + } + ); + + logRotate( + path.join( + Settings.userDataPath, + 'logs', + 'category', + 'ethereum_node.log' + ), + { count: 5 }, + error => { + if (error) { + ethereumNodeLog.error('Log rotation problems', error); + return reject(error); + } + } + ); + + let args; + + switch (network) { + // Starts Ropsten network + case 'test': + args = [ + '--testnet', + '--syncmode', + syncMode, + '--cache', + process.arch === 'x64' ? '1024' : '512', + '--ipcpath', + Settings.rpcIpcPath + ]; + break; + + // Starts Rinkeby network + case 'rinkeby': + args = [ + '--rinkeby', + '--syncmode', + syncMode, + '--cache', + process.arch === 'x64' ? '1024' : '512', + '--ipcpath', + Settings.rpcIpcPath + ]; + break; + + // Starts local network + case 'dev': + args = [ + '--dev', + '--minerthreads', + '1', + '--ipcpath', + Settings.rpcIpcPath + ]; + break; + + // Starts Main net + default: + args = + nodeType === 'geth' + ? [ + '--syncmode', + syncMode, + '--gcmode', + 'archive', + '--cache', + process.arch === 'x64' ? '1024' : '512' + ] + : ['--unsafe-transactions']; + } + + const nodeOptions = Settings.nodeOptions; + + if (nodeOptions && nodeOptions.length) { + ethereumNodeLog.debug('Custom node options', nodeOptions); + + args = args.concat(nodeOptions); + } + + ethereumNodeLog.trace('Spawn', binPath, args); + + const proc = spawn(binPath, args); + + proc.once('error', error => { + if (this.state === STATES.STARTING) { + this.state = STATES.ERROR; + + ethereumNodeLog.info('Node startup error'); + + // TODO: detect this properly + // this.emit('nodeBinaryNotFound'); + + reject(error); + } + }); + + proc.stdout.on('data', data => { + ethereumNodeLog.trace('Got stdout data', data.toString()); + this.emit('data', data); + }); + + proc.stderr.on('data', data => { + ethereumNodeLog.trace('Got stderr data', data.toString()); + ethereumNodeLog.info(data.toString()); // TODO: This should be ethereumNodeLog.error(), but not sure why regular stdout data is coming in through stderror + this.emit('data', data); + }); + + // when data is first received + this.once('data', () => { + /* + We wait a short while before marking startup as successful + because we may want to parse the initial node output for + errors, etc (see geth port-binding error above) + */ + setTimeout(() => { + if (STATES.STARTING === this.state) { + ethereumNodeLog.info( + `${NODE_START_WAIT_MS}ms elapsed, assuming node started up successfully` + ); + resolve(proc); + } + }, NODE_START_WAIT_MS); + }); + }); + } + + _showNodeErrorDialog(nodeType, network) { + let log = path.join(Settings.userDataPath, 'logs', 'all.log'); + + if (log) { + log = `...${log.slice(-1000)}`; + } else { + log = global.i18n.t('mist.errors.nodeStartup'); + } + + // add node type + log = + `Node type: ${nodeType}\n` + + `Network: ${network}\n` + + `Platform: ${process.platform} (Architecture ${process.arch})\n\n${log}`; + + dialog.showMessageBox( + { + type: 'error', + buttons: ['OK'], + message: global.i18n.t('mist.errors.nodeConnect'), + detail: log + }, + () => {} + ); + } + + _logNodeData(data) { + const cleanData = data.toString().replace(/[\r\n]+/, ''); + const nodeType = (this.type || 'node').toUpperCase(); + + ethereumNodeLog.trace(`${nodeType}: ${cleanData}`); + + if (!/^-*$/.test(cleanData) && !_.isEmpty(cleanData)) { + this.emit('nodeLog', cleanData); + } + + // check for geth startup errors + if (STATES.STARTING === this.state) { + const dataStr = data.toString().toLowerCase(); + if (nodeType === 'geth') { + if (dataStr.indexOf('fatal: error') >= 0) { + const error = new Error(`Geth error: ${dataStr}`); + + if (dataStr.indexOf('bind') >= 0) { + error.tag = UNABLE_TO_BIND_PORT_ERROR; + } + + ethereumNodeLog.error(error); + return reject(error); + } + } + } + } + + _loadDefaults() { + ethereumNodeLog.trace('Load defaults'); + + this.defaultNodeType = + Settings.nodeType || Settings.loadUserData('node') || DEFAULT_NODE_TYPE; + this.defaultNetwork = + Settings.network || Settings.loadUserData('network') || DEFAULT_NETWORK; + this.defaultSyncMode = + Settings.syncmode || + Settings.loadUserData('syncmode') || + DEFAULT_SYNCMODE; + + ethereumNodeLog.info( + Settings.syncmode, + Settings.loadUserData('syncmode'), + DEFAULT_SYNCMODE + ); + ethereumNodeLog.info( + `Defaults loaded: ${this.defaultNodeType} ${this.defaultNetwork} ${ + this.defaultSyncMode + }` + ); + } +} + +EthereumNode.STARTING = 0; + +module.exports = new EthereumNode(); diff --git a/modules/i18n.js b/modules/i18n.js new file mode 100644 index 0000000..d3fc4b7 --- /dev/null +++ b/modules/i18n.js @@ -0,0 +1,53 @@ +/** +The i18n module, loads the language files and initializes i18next + +@module i18n +*/ +const fs = require('fs'); +const i18n = require('i18next'); + +let i18nConf = fs.readFileSync(`${__dirname}/../interface/project-tap.i18n`); +i18nConf = JSON.parse(i18nConf); + +const resources = { + dev: { translation: require('../interface/i18n/mist.en.i18n.json') } +}; + +// add supported languages +i18nConf.supported_languages.forEach(lang => { + resources[lang] = { + translation: require(`../interface/i18n/mist.${lang}.i18n.json`) + }; +}); + +/** + * Given a language code, get best matched code from supported languages. + * + * > getBestMatchedLangCode('en-US') + * 'en' + * > getBestMatchedLangCode('zh-TW') + * 'zh-TW' + * > getBestMatchedLangCode('no-such-code') + * 'en' + */ +i18n.getBestMatchedLangCode = langCode => { + const codeList = Object.keys(resources); + let bestMatchedCode = langCode; + if (codeList.indexOf(langCode) === -1) { + if (codeList.indexOf(langCode.substr(0, 2)) > -1) { + bestMatchedCode = langCode.substr(0, 2); + } else { + bestMatchedCode = 'en'; + } + } + return bestMatchedCode; +}; + +// init i18n +i18n.init({ + lng: global.language || 'en', + resources, + interpolation: { prefix: '__', suffix: '__' } +}); + +module.exports = i18n; diff --git a/modules/ipc/ipcProviderBackend.js b/modules/ipc/ipcProviderBackend.js new file mode 100644 index 0000000..5989c1a --- /dev/null +++ b/modules/ipc/ipcProviderBackend.js @@ -0,0 +1,485 @@ +/** +The IPC provider backend filter and tunnel all incoming request to the ethereum node. + +@module ipcProviderBackend +*/ + +const _ = global._; +const Q = require('bluebird'); +const { ipcMain: ipc } = require('electron'); +const fs = require('fs'); +const path = require('path'); + +const log = require('../utils/logger').create('ipcProviderBackend'); +const Sockets = require('../socketManager'); +const Settings = require('../settings'); +const ethereumNode = require('../ethereumNode'); + +const ERRORS = { + INVALID_PAYLOAD: { + code: -32600, + message: + "Payload, or some of its content properties are invalid. Please check if they are valid HEX with '0x' prefix." + }, + METHOD_DENIED: { code: -32601, message: 'Method __method__ not allowed.' }, + METHOD_TIMEOUT: { + code: -32603, + message: 'Request timed out for method __method__.' + }, + TX_DENIED: { code: -32603, message: 'Transaction denied' }, + BATCH_TX_DENIED: { + code: -32603, + message: + 'Transactions denied, sendTransaction is not allowed in batch requests.' + }, + BATCH_COMPILE_DENIED: { + code: -32603, + message: + 'Compilation denied, compileSolidity is not allowed in batch requests.' + } +}; + +/** + * IPC provider backend. + */ +class IpcProviderBackend { + constructor() { + this._connections = {}; + + this.ERRORS = ERRORS; + + ethereumNode.on('state', _.bind(this._onNodeStateChanged, this)); + + ipc.on('ipcProvider-create', _.bind(this._getOrCreateConnection, this)); + ipc.on('ipcProvider-destroy', _.bind(this._destroyConnection, this)); + ipc.on('ipcProvider-write', _.bind(this._sendRequest, this, false)); + ipc.on('ipcProvider-writeSync', _.bind(this._sendRequest, this, true)); + + this._connectionPromise = {}; + + // dynamically load in method processors + const processors = fs.readdirSync(path.join(__dirname, 'methods')); + + // get response processors + this._processors = {}; + processors.forEach(p => { + const name = path.basename(p, '.js'); + + const PClass = require(path.join(__dirname, 'methods', p)); + + this._processors[name] = new PClass(name, this); + }); + + log.trace('Loaded processors', _.keys(this._processors)); + + store.dispatch({ type: '[MAIN]:IPC_PROVIDER_BACKEND:INIT' }); + } + + /** + * Get/create new connection to node. + * @return {Promise} + */ + _getOrCreateConnection(event) { + const owner = event.sender; + const ownerId = owner.id; + + let socket; + + return Q.try(() => { + // already got? + if (this._connections[ownerId]) { + socket = this._connections[ownerId].socket; + } else { + log.debug(`Create new socket connection, id=${ownerId}`); + + socket = Sockets.get(ownerId, Settings.rpcMode); + } + }) + .then(() => { + if (!this._connections[ownerId]) { + // save to collection + this._connections[ownerId] = { + id: ownerId, + owner, + socket + }; + + // if something goes wrong destroy the socket + ['error', 'timeout', 'end'].forEach(ev => { + socket.on(ev, data => { + log.debug( + `Destroy socket connection due to event: ${ev}, id=${ownerId}` + ); + + socket.destroy().finally(() => { + if (!owner.isDestroyed()) { + owner.send(`ipcProvider-${ev}`, JSON.stringify(data)); + } + }); + + delete this._connections[ownerId]; + Sockets.remove(ownerId); + }); + }); + + socket.on('connect', data => { + if (!owner.isDestroyed()) { + owner.send('ipcProvider-connect', JSON.stringify(data)); + } + }); + + // pass notifications back up the chain + socket.on('data-notification', data => { + log.trace('Notification received', ownerId, data); + + if (data.error) { + data = this._makeErrorResponsePayload(data, data); + } else { + data = this._makeResponsePayload(data, data); + } + + if (!owner.isDestroyed()) { + owner.send('ipcProvider-data', JSON.stringify(data)); + } + }); + } + }) + .then(() => { + if (!socket.isConnected) { + // since we may enter this function multiple times for the same + // event source's IPC we don't want to repeat the connection + // process each time - so let's track things in a promise + if (!this._connectionPromise[ownerId]) { + this._connectionPromise[ownerId] = Q.try(() => { + log.debug(`Connecting socket ${ownerId}`); + + // wait for node to connect first. + if (ethereumNode.state !== ethereumNode.STATES.CONNECTED) { + return new Q((resolve, reject) => { + const onStateChange = newState => { + if (ethereumNode.STATES.CONNECTED === newState) { + ethereumNode.removeListener('state', onStateChange); + + log.debug( + `Ethereum node connected, resume connecting socket ${ownerId}` + ); + + resolve(); + } + }; + + ethereumNode.on('state', onStateChange); + }); + } + }) + .then(() => { + return socket.connect(Settings.rpcConnectConfig, { + timeout: 5000 + }); + }) + .then(() => { + log.debug(`Socket connected, id=${ownerId}`); + }) + .finally(() => { + delete this._connectionPromise[ownerId]; + }); + } + + return this._connectionPromise[ownerId]; + } + }) + .then(() => { + if (!owner.isDestroyed()) { + owner.send('ipcProvider-setWritable', true); + } + + return this._connections[ownerId]; + }); + } + + /** + * Handle IPC call to destroy a connection. + */ + _destroyConnection(event) { + const ownerId = event.sender.id; + + if (this._connections[ownerId]) { + log.debug('Destroy socket connection', ownerId); + + this._connections[ownerId].owner.send('ipcProvider-setWritable', false); + + this._connections[ownerId].socket.destroy(); + delete this._connections[ownerId]; + Sockets.remove(ownerId); + } + } + + /** + * Handler for when Ethereum node state changes. + * + * Auto-reconnect sockets when ethereum node state changes + * + * @param {String} state The new state. + */ + _onNodeStateChanged(state) { + switch (state) { // eslint-disable-line default-case + // stop syncing when node about to be stopped + case ethereumNode.STATES.STOPPING: + log.info('EtherCore node stopping, disconnecting sockets'); + + Q.all( + _.map(this._connections, item => { + if (item.socket.isConnected) { + return item.socket.disconnect().then(() => { + log.debug( + `Tell owner ${item.id} that socket is not currently writeable` + ); + + item.owner.send('ipcProvider-setWritable', false); + }); + } + return Q.resolve(); + }) + ).catch(err => { + log.error('Error disconnecting sockets', err); + }); + + break; + } + } + + /** + * Handle IPC call to send a request. + * @param {Boolean} isSync whether request is sync. + * @param {Object} event IPC event. + * @param {String} payload request payload. + */ + _sendRequest(isSync, event, payload) { + const ownerId = event.sender.id; + + log.trace('sendRequest', isSync ? 'sync' : 'async', ownerId, payload); + + const originalPayloadStr = payload; + + return Q.try(() => { + // overwrite playload var with parsed version + payload = JSON.parse(originalPayloadStr); + + return this._getOrCreateConnection(event); + }) + .then(conn => { + if (!conn.socket.isConnected) { + log.trace('Socket not connected.'); + + throw this.ERRORS.METHOD_TIMEOUT; + } + + // reparse original string (so that we don't modify input payload) + const finalPayload = JSON.parse(originalPayloadStr); + + // is batch? + const isBatch = _.isArray(finalPayload), + finalPayloadList = isBatch ? finalPayload : [finalPayload]; + + // sanitize each and every request payload + _.each(finalPayloadList, p => { + const processor = this._processors[p.method] + ? this._processors[p.method] + : this._processors.base; + + processor.sanitizeRequestPayload(conn, p, isBatch); + }); + + // if a single payload and has an error then throw it + if (!isBatch && finalPayload.error) { + throw finalPayload.error; + } + + // get non-error payloads + const nonErrorPayloads = _.filter(finalPayloadList, p => !p.error); + + // execute non-error payloads + return Q.try(() => { + if (nonErrorPayloads.length) { + // if single payload check if we have special processor for it + // if not then use base generic processor + const processor = this._processors[finalPayload.method] + ? this._processors[finalPayload.method] + : this._processors.base; + + return processor.exec( + conn, + isBatch ? nonErrorPayloads : nonErrorPayloads[0] + ); + } else { + return []; + } + }).then(ret => { + log.trace('Got result', ret); + + let finalResult = []; + + // collate results + _.each(finalPayloadList, p => { + if (p.error) { + finalResult.push(p); + } else { + p = _.extend({}, p, isBatch ? ret.shift() : ret); + + const processor = this._processors[p.method] + ? this._processors[p.method] + : this._processors.base; + + // sanitize response payload + processor.sanitizeResponsePayload(conn, p, isBatch); + + finalResult.push(p); + } + }); + + // extract single payload result + if (!isBatch) { + finalResult = finalResult.pop(); + + // check if it's an error + if (finalResult.error) { + throw finalResult.error; + } + } + + return finalResult; + }); + }) + .then(result => { + log.trace('Got result', result); + + return this._makeResponsePayload(payload, result); + }) + .catch(err => { + log.error('Send request failed', err); + + err = this._makeErrorResponsePayload(payload || {}, { + message: typeof err === 'string' ? err : err.message, + code: err.code + }); + + return err; + }) + .then(returnValue => { + returnValue = JSON.stringify(returnValue); + + log.trace('Return', ownerId, returnValue); + + if (isSync) { + event.returnValue = returnValue; + } else if (!event.sender.isDestroyed()) { + event.sender.send('ipcProvider-data', returnValue); + } + }); + } + + /** + Sanitize a single or batch request payload. + + This will modify the passed-in payload. + + @param {Object} conn The connection. + @param {Object|Array} payload The request payload. + */ + _sanitizeRequestPayload(conn, payload) { + if (_.isArray(payload)) { + _.each(payload, p => { + if (p.method === 'eth_sendTransaction') { + p.error = ERRORS.BATCH_TX_DENIED; + } else { + this._processors.base.sanitizePayload(conn, p); + } + }); + } else { + this._processors.base.sanitizePayload(conn, payload); + } + } + + /** + Make an error response payload + + @param {Object|Array} originalPayload Original payload + @param {Object} error Error result + */ + _makeErrorResponsePayload(originalPayload, error) { + const e = [].concat(originalPayload).map(item => { + const e = _.extend( + { + jsonrpc: '2.0' + }, + error + ); + + if (e.message) { + if (_.isArray(e.message)) { + e.message = e.message.pop(); + } + + e.error = { + code: e.code, + message: e.message.replace(/'[a-z_]*'/i, `'${item.method}'`) + }; + + delete e.code; + delete e.message; + } + + // delete stuff leftover from request + delete e.params; + delete e.method; + + e.id = item.id; + + return e; + }); + + return _.isArray(originalPayload) ? e : e[0]; + } + + /** + Make a response payload. + + @param {Object|Array} originalPayload Original payload + @param {Object|Array} value Response results. + + @method makeReturnValue + */ + _makeResponsePayload(originalPayload, value) { + const finalValue = _.isArray(originalPayload) ? value : [value]; + + const allResults = [].concat(originalPayload).map((item, idx) => { + const finalResult = finalValue[idx]; + + let ret; + + // handle error result + if (finalResult.error) { + ret = this._makeErrorResponsePayload(item, finalResult.error); + } else { + ret = _.extend({}, item, { + result: finalResult.result + }); + } + + if (item.id) { + delete ret.params; + delete ret.method; + } + + ret.jsonrpc = '2.0'; + + return ret; + }); + + return _.isArray(originalPayload) ? allResults : allResults[0]; + } +} + +exports.init = () => { + return new IpcProviderBackend(); +}; diff --git a/modules/ipc/ipcProviderWrapper.js b/modules/ipc/ipcProviderWrapper.js new file mode 100644 index 0000000..1deb7b9 --- /dev/null +++ b/modules/ipc/ipcProviderWrapper.js @@ -0,0 +1,121 @@ +/** +@module MistUI +*/ + +/** +The IPC provider wrapper to communicate to the backend + +@class ipcProviderWrapper +@constructor +*/ + +const { ipcRenderer } = require('electron'); + +/** +Gets the writable property. + +@method on('ipcProvider-setWritable') +*/ +ipcRenderer.on('ipcProvider-setWritable', (e, writable) => { + // console.debug('ipcProvider-setWritable', writable); + + ipcProviderWrapper.writable = writable; +}); + +const ipcProviderWrapper = { + writable: false, + + /** + Connects the IPC on the backend to the geth node + + Note: web3.isConnected will always return true, as otherwise race conditions can occour, + letting it look like youre not connected via IPC. + + @method connect + */ + connect(path) { + // console.debug('ipcProviderWrapper: connect'); + + ipcRenderer.send('ipcProvider-create', path); + + return this; + }, + /** + Returns data from the IPC through the backend + + @method on + @param {String} name `connect`, `error`, `end`, `timeout` or `data` + @param {Funciton} callback + */ + on(name, callback) { + // console.debug('ipcProviderWrapper: add listener', name); + + ipcRenderer.on(`ipcProvider-${name}`, (e, result) => { + callback(result); + }); + }, + /** + Returns data from the IPC through the backend + + @method once + @param {String} name `connect`, `error`, `end`, `timeout` or `data` + @param {Funciton} callback + */ + once(name, callback) { + // console.debug('ipcProviderWrapper: add listener', name); + + ipcRenderer.once(`ipcProvider-${name}`, (e, result) => { + callback(result); + }); + }, + /** + Removes listener + + @method removeListener + */ + removeListener(name, callback) { + // console.debug('ipcProviderWrapper: remove listener', name); + + ipcRenderer.removeListener(`ipcProvider-${name}`, callback); + }, + + /** + Removes all listeners + + @method removeAllListeners + */ + removeAllListeners(name) { + // console.debug('ipcProviderWrapper: remove all listeners', name); + + if (name) { + ipcRenderer.removeAllListeners(`ipcProvider-${name}`); + } else { + ipcRenderer.removeAllListeners('ipcProvider-error'); + ipcRenderer.removeAllListeners('ipcProvider-end'); + ipcRenderer.removeAllListeners('ipcProvider-timeout'); + ipcRenderer.removeAllListeners('ipcProvider-connect'); + } + }, + /** + Write to the IPC connection through the backend + + @method write + */ + write(payload) { + // console.debug('ipcProviderWrapper: write payload'); + + ipcRenderer.send('ipcProvider-write', payload); + }, + /** + Write synchronous to the IPC connection through the backend + + @method writeSync + */ + writeSync(payload) { + // console.debug('ipcProviderWrapper: write payload (sync)'); + + return ipcRenderer.sendSync('ipcProvider-writeSync', payload); + } +}; + +module.exports = ipcProviderWrapper; diff --git a/modules/ipc/methods/base.js b/modules/ipc/methods/base.js new file mode 100644 index 0000000..e4cdfc4 --- /dev/null +++ b/modules/ipc/methods/base.js @@ -0,0 +1,103 @@ +const _ = global._; +const Q = require('bluebird'); + +const log = require('../../utils/logger').create('method'); +const Windows = require('../../windows'); +const db = require('../../db'); + +/** + * Process a request. + * + * This is the base class for all specialized request processors. + */ +module.exports = class BaseProcessor { + constructor(name, ipcProviderBackend) { + this._log = log.create(name); + this._ipcProviderBackend = ipcProviderBackend; + this.ERRORS = this._ipcProviderBackend.ERRORS; + } + + /** + * Execute given request. + * @param {Object} conn IPCProviderBackend connection data. + * @param {Object|Array} payload payload + * @return {Promise} + */ + async exec(conn, payload) { + this._log.trace('Execute request', payload); + + const ret = await conn.socket.send(payload, { + fullResult: true + }); + + return ret.result; + } + + _isAdminConnection(conn) { + // main window or popupwindows - always allow requests + const wnd = Windows.getById(conn.id); + const tab = db.getCollection('UI_tabs').findOne({ webviewId: conn.id }); + + return ( + (wnd && (wnd.type === 'main' || wnd.isPopup)) || + (tab && _.get(tab, 'permissions.admin') === true) + ); + } + + /** + Sanitize a request payload. + + This may modify the input payload object. + + @param {Object} conn The connection. + @param {Object} payload The request payload. + @param {Boolean} isPartOfABatch Whether it's part of a batch payload. + */ + sanitizeRequestPayload(conn, payload, isPartOfABatch) { + this._log.trace('Sanitize request payload', payload); + + this._sanitizeRequestResponsePayload(conn, payload, isPartOfABatch); + } + + /** + Sanitize a response payload. + + This may modify the input payload object. + + @param {Object} conn The connection. + @param {Object} payload The request payload. + @param {Boolean} isPartOfABatch Whether it's part of a batch payload. + */ + sanitizeResponsePayload(conn, payload, isPartOfABatch) { + this._log.trace('Sanitize response payload', payload); + + this._sanitizeRequestResponsePayload(conn, payload, isPartOfABatch); + } + + /** + Sanitize a request or response payload. + + This may modify the input payload object. + + @param {Object} conn The connection. + @param {Object} payload The request payload. + @param {Boolean} isPartOfABatch Whether it's part of a batch payload. + */ + _sanitizeRequestResponsePayload(conn, payload, isPartOfABatch) { + if (!_.isObject(payload)) { + throw this.ERRORS.INVALID_PAYLOAD; + } + + if (this._isAdminConnection(conn)) { + return; + } + + // prevent dapps from acccesing admin endpoints + if (!/^eth_|^bzz_|^shh_|^net_|^web3_|^db_/.test(payload.method)) { + delete payload.result; + const err = _.clone(this.ERRORS.METHOD_DENIED); + err.message = err.message.replace('__method__', `"${payload.method}"`); + payload.error = err; + } + } +}; diff --git a/modules/ipc/methods/eth_accounts.js b/modules/ipc/methods/eth_accounts.js new file mode 100644 index 0000000..a1405af --- /dev/null +++ b/modules/ipc/methods/eth_accounts.js @@ -0,0 +1,31 @@ +const _ = global._; +const BaseProcessor = require('./base'); +const db = require('../../db'); + +/** + * Process method: eth_accounts + */ +module.exports = class extends BaseProcessor { + /** + * @override + */ + sanitizeResponsePayload(conn, payload, isPartOfABatch) { + this._log.trace('Sanitize eth_acconts', payload.result); + + // if not an admin connection then do a check + if (!this._isAdminConnection(conn)) { + const tab = db.getCollection('UI_tabs').findOne({ webviewId: conn.id }); + + if (_.get(tab, 'permissions.accounts')) { + payload.result = _.intersection( + payload.result, + tab.permissions.accounts + ); + } else { + payload.result = []; + } + } + + return super.sanitizeResponsePayload(conn, payload, isPartOfABatch); + } +}; diff --git a/modules/ipc/methods/eth_coinbase.js b/modules/ipc/methods/eth_coinbase.js new file mode 100644 index 0000000..a4508fb --- /dev/null +++ b/modules/ipc/methods/eth_coinbase.js @@ -0,0 +1,29 @@ +const _ = global._; +const BaseProcessor = require('./base'); +const db = require('../../db'); + +/** + * Process method: eth_coinbase + */ +module.exports = class extends BaseProcessor { + /** + * @override + */ + sanitizeResponsePayload(conn, payload, isPartOfABatch) { + this._log.trace('Sanitize account eth_coinbase', payload.result); + + // if not an admin connection then do a check + if (!this._isAdminConnection(conn)) { + const tab = db.getCollection('UI_tabs').findOne({ webviewId: conn.id }); + + if (_.get(tab, 'permissions.accounts')) { + payload.result = _.contains(tab.permissions.accounts, payload.result) + ? payload.result + : null; + } else { + payload.result = null; + } + } + return super.sanitizeResponsePayload(conn, payload, isPartOfABatch); + } +}; diff --git a/modules/ipc/methods/eth_compileSolidity.js b/modules/ipc/methods/eth_compileSolidity.js new file mode 100644 index 0000000..f4a59a3 --- /dev/null +++ b/modules/ipc/methods/eth_compileSolidity.js @@ -0,0 +1,50 @@ +const _ = global._; +const solc = require('solc'); +const Q = require('bluebird'); +const BaseProcessor = require('./base'); + +/** + * Process method: eth_compileSolidity + */ +module.exports = class extends BaseProcessor { + /** + * @override + */ + exec(conn, payload) { + return Q.try(() => { + this._log.debug('Compile solidity'); + + const output = solc.compile(payload.params[0], 1); // 1 activates the optimiser + + const finalResult = _.extend({}, payload); + + if (!output || output.errors) { + let msg = output ? output.errors : 'Compile error'; + + if (_.isArray(msg)) { + msg = msg.join(', '); + } + + finalResult.error = { + code: -32700, + message: msg + }; + } else { + finalResult.result = output.contracts; + } + + return finalResult; + }); + } + + /** + * @override + */ + sanitizeRequestPayload(conn, payload, isPartOfABatch) { + if (isPartOfABatch) { + throw this.ERRORS.BATCH_COMPILE_DENIED; + } + + return super.sanitizeRequestPayload(conn, payload, isPartOfABatch); + } +}; diff --git a/modules/ipc/methods/eth_getTransactionReceipt.js b/modules/ipc/methods/eth_getTransactionReceipt.js new file mode 100644 index 0000000..e4e5444 --- /dev/null +++ b/modules/ipc/methods/eth_getTransactionReceipt.js @@ -0,0 +1,70 @@ +const _ = global._; +const BaseProcessor = require('./base'); +const eth = require('ethereumjs-util'); + +/** + * Process method: eth_getTransactionReceipt + * Due to a geth's light client v1 bug, it does not return + * contractAddress value on the receipts. Let's fix that. + */ + +module.exports = class extends BaseProcessor { + sanitizeRequestPayload(conn, payload, isPartOfABatch) { + return super.sanitizeRequestPayload(conn, payload, isPartOfABatch); + } + + async exec(conn, payload) { + const txHash = payload.params[0]; + + // Sends regular eth_getTransactionReceipt request + const ret = await conn.socket.send(payload, { + fullResult: true + }); + + try { + // If that contains a contractAddress already, fine. + if (ret.result.result && ret.result.result.contractAddress != null) { + return ret.result; + } + + // 1. GET TRANSACTION from AND nonce VALUES + const transactionInfo = await conn.socket.send( + { + jsonrpc: '2.0', + id: _.uuid(), + method: 'eth_getTransactionByHash', + params: [txHash] + }, + { fullResult: true } + ); + + const fromAddress = transactionInfo.result.result.from; + const nonce = parseInt(transactionInfo.result.result.nonce, 16); + const possibleContractAddress = `0x${eth + .generateAddress(fromAddress, nonce) + .toString('hex')}`; + + // 2. GET CODE FROM ADDRESS + const contractCode = await conn.socket.send( + { + jsonrpc: '2.0', + id: _.uuid(), + method: 'eth_getCode', + params: [possibleContractAddress, 'latest'] + }, + { fullResult: true } + ); + + const contractCodeResult = contractCode.result.result; + + // 3. IF IT EXISTS, ASSIGN TO RETURN VALUE + if (contractCodeResult && contractCodeResult.length > 2) { + ret.result.result.contractAddress = possibleContractAddress; + } + } catch (e) { + console.warn('[WARN]', txHash, e); + return ret.result; + } + return ret.result; + } +}; diff --git a/modules/ipc/methods/eth_sendTransaction.js b/modules/ipc/methods/eth_sendTransaction.js new file mode 100644 index 0000000..f303098 --- /dev/null +++ b/modules/ipc/methods/eth_sendTransaction.js @@ -0,0 +1,95 @@ +const BaseProcessor = require('./base'); +const Windows = require('../../windows'); +const Q = require('bluebird'); +const { ipcMain: ipc } = require('electron'); +const BlurOverlay = require('../../blurOverlay'); + +/** + * Process method: eth_sendTransaction + */ +module.exports = class extends BaseProcessor { + /** + * @override + */ + sanitizeRequestPayload(conn, payload, isPartOfABatch) { + if (isPartOfABatch) { + throw this.ERRORS.BATCH_TX_DENIED; + } + + return super.sanitizeRequestPayload(conn, payload, isPartOfABatch); + } + + /** + * @override + */ + exec(conn, payload) { + return new Q((resolve, reject) => { + this._log.info('Ask user for password'); + + this._log.info(payload.params[0]); + + // validate data + try { + _.each(payload.params[0], (val, key) => { + // if doesn't have hex then leave + if (!_.isString(val)) { + throw this.ERRORS.INVALID_PAYLOAD; + } else { + // make sure all data is lowercase and has 0x + if (val) val = `0x${val.toLowerCase().replace(/^0x/, '')}`; + + if (val.substr(2).match(/[^0-9a-f]/gim)) { + throw this.ERRORS.INVALID_PAYLOAD; + } + } + + payload.params[0][key] = val; + }); + } catch (err) { + return reject(err); + } + + const modalWindow = Windows.createPopup('sendTransactionConfirmation', { + sendData: { uiAction_sendData: payload.params[0] } + }); + + BlurOverlay.enable(); + + modalWindow.on('hidden', () => { + BlurOverlay.disable(); + + // user cancelled? + if (!modalWindow.processed) { + reject(this.ERRORS.METHOD_DENIED); + } + }); + + ipc.once( + 'backendAction_unlockedAccountAndSentTransaction', + (ev, err, result) => { + if ( + Windows.getById(ev.sender.id) === modalWindow && + !modalWindow.isClosed + ) { + if (err || !result) { + this._log.debug('Confirmation error', err); + + reject(err || this.ERRORS.METHOD_DENIED); + } else { + this._log.info('Transaction sent', result); + + resolve(result); + } + + modalWindow.processed = true; + modalWindow.close(); + } + } + ); + }).then(result => { + return _.extend({}, payload, { + result + }); + }); + } +}; diff --git a/modules/ipcCommunicator.js b/modules/ipcCommunicator.js new file mode 100644 index 0000000..8e63608 --- /dev/null +++ b/modules/ipcCommunicator.js @@ -0,0 +1,290 @@ +/** +Window communication + +@module ipcCommunicator +*/ + +const _ = global._; +const fs = require('fs'); +const { app, ipcMain: ipc, shell, webContents } = require('electron'); +const Windows = require('./windows'); +const logger = require('./utils/logger'); +const appMenu = require('./menuItems'); +const Settings = require('./settings'); +const ethereumNode = require('./ethereumNode.js'); +const keyfileRecognizer = require('ethereum-keyfile-recognizer'); + +import { getLanguage } from './core/settings/actions'; + +const log = logger.create('ipcCommunicator'); + +require('./abi.js'); +/* + +// windows including webviews +windows = { + 23: { + type: 'requestWindow', + window: obj, + owner: 12 + }, + 12: { + type: 'webview' + window: obj + owner: null + } +} + +*/ + +// UI ACTIONS +ipc.on('backendAction_closeApp', () => { + app.quit(); +}); + +ipc.on('backendAction_openExternalUrl', (e, url) => { + shell.openExternal(url); +}); + +ipc.on('backendAction_closePopupWindow', e => { + const windowId = e.sender.id; + const senderWindow = Windows.getById(windowId); + + if (senderWindow) { + senderWindow.close(); + } +}); +ipc.on('backendAction_setWindowSize', (e, width, height) => { + const windowId = e.sender.id; + const senderWindow = Windows.getById(windowId); + + if (senderWindow) { + senderWindow.window.setSize(width, height); + senderWindow.window.center(); // ? + } +}); + +ipc.on('backendAction_windowCallback', (e, value1, value2, value3) => { + const windowId = e.sender.id; + const senderWindow = Windows.getById(windowId); + + if (senderWindow.callback) { + senderWindow.callback(value1, value2, value3); + } +}); + +ipc.on('backendAction_windowMessageToOwner', (e, error, value) => { + const windowId = e.sender.id; + const senderWindow = Windows.getById(windowId); + + // If msg is from a generic window, use the "actingType" instead of type + const senderWindowType = senderWindow.actingType || senderWindow.type; + + if (senderWindow.ownerId) { + const ownerWindow = Windows.getById(senderWindow.ownerId); + const mainWindow = Windows.getByType('main'); + + if (ownerWindow) { + ownerWindow.send( + 'uiAction_windowMessage', + senderWindowType, + error, + value + ); + } + + // send through the mainWindow to the webviews + if (mainWindow) { + mainWindow.send( + 'uiAction_windowMessage', + senderWindowType, + senderWindow.ownerId, + error, + value + ); + } + } +}); + +ipc.on('backendAction_getLanguage', e => { + store.dispatch(getLanguage(e)); +}); + +ipc.on('backendAction_stopWebviewNavigation', (e, id) => { + console.log('webcontent ID', id); + const webContent = webContents.fromId(id); + + if (webContent && !webContent.isDestroyed()) { + webContent.stop(); + } + + e.returnValue = true; +}); + +// check wallet file +ipc.on('backendAction_checkWalletFile', (e, path) => { + fs.readFile(path, 'utf8', (event, data) => { + try { + const keyfile = JSON.parse(data); + const result = keyfileRecognizer(keyfile); + /** result + * [ 'ethersale', undefined ] Ethersale keyfile + * [ 'web3', 3 ] web3 (v3) keyfile + * null no valid keyfile + */ + + const type = _.first(result); + + log.debug(`Importing ${type} account...`); + + if (type === 'ethersale') { + e.sender.send('uiAction_checkedWalletFile', null, 'presale'); + } else if (type === 'web3') { + e.sender.send('uiAction_checkedWalletFile', null, 'web3'); + + let keystorePath = Settings.userHomePath; + // eth + if (ethereumNode.isEth) { + if (process.platform === 'win32') { + keystorePath = `${Settings.appDataPath}\\Web3\\keys`; + } else { + keystorePath += '/.web3/keys'; + } + // geth + } else { + if (process.platform === 'darwin') + keystorePath += '/Library/EtherCore/keystore'; + + if ( + process.platform === 'freebsd' || + process.platform === 'linux' || + process.platform === 'sunos' + ) + keystorePath += '/.ethercore/keystore'; + + if (process.platform === 'win32') + keystorePath = `${Settings.appDataPath}\\EtherCore\\keystore`; + } + + if (!/^[0-9a-fA-F]{40}$/.test(keyfile.address)) { + throw new Error('Invalid Address format.'); + } + + fs.writeFile(`${keystorePath}/0x${keyfile.address}`, data, err => { + if (err) throw new Error("Can't write file to disk"); + }); + } else { + throw new Error('Account import: Cannot recognize keyfile (invalid)'); + } + } catch (err) { + e.sender.send('uiAction_checkedWalletFile', null, 'invalid'); + if ( + /Unexpected token . in JSON at position 0/.test(err.message) === true + ) { + log.error('Account import: Cannot recognize keyfile (no JSON)'); + } else { + log.error(err); + } + } + }); +}); + +// import presale wallet +ipc.on('backendAction_importWalletFile', (e, path, pw) => { + const spawn = require('child_process').spawn; // eslint-disable-line global-require + const ClientBinaryManager = require('./clientBinaryManager'); // eslint-disable-line global-require + let error = false; + + const binPath = ClientBinaryManager.getClient('geth').binPath; + const nodeProcess = spawn(binPath, ['wallet', 'import', path]); + + nodeProcess.once('error', () => { + error = true; + e.sender.send( + 'uiAction_importedWalletFile', + 'Couldn\'t start the "geth wallet import " process.' + ); + }); + nodeProcess.stdout.on('data', _data => { + const data = _data.toString(); + if (data) { + log.info('Imported presale: ', data); + } + + if ( + /Decryption failed|not equal to expected addr|could not decrypt/.test( + data + ) + ) { + e.sender.send('uiAction_importedWalletFile', 'Decryption Failed'); + + // if imported, return the address + } else if (data.indexOf('Address:') !== -1) { + const find = data.match(/\{([a-f0-9]+)\}/i); + if (find.length && find[1]) { + e.sender.send('uiAction_importedWalletFile', null, `0x${find[1]}`); + } else { + e.sender.send('uiAction_importedWalletFile', data); + } + + // if not stop, so we don't kill the process + } else { + return; + } + + nodeProcess.stdout.removeAllListeners('data'); + nodeProcess.removeAllListeners('error'); + nodeProcess.kill('SIGINT'); + }); + + // file password + setTimeout(() => { + if (!error) { + nodeProcess.stdin.write(`${pw}\n`); + pw = null; // eslint-disable-line no-param-reassign + } + }, 2000); +}); + +const createAccountPopup = e => { + Windows.createPopup('requestAccount', { ownerId: e.sender.id }); +}; + +// MIST API +ipc.on('mistAPI_createAccount', createAccountPopup); + +ipc.on('mistAPI_requestAccount', e => { + if (global.mode === 'wallet') { + createAccountPopup(e); + } else { + // Mist + // if coming from wallet, skip connect, go straight to create + if (e.sender.history[0] === 'https://wallet.ethereum.org/') { + createAccountPopup(e); + } else { + Windows.createPopup('connectAccount', { ownerId: e.sender.id }); + } + } +}); + +const uiLoggers = {}; + +ipc.on('console_log', (event, id, logLevel, logItemsStr) => { + try { + const loggerId = `(ui: ${id})`; + + let windowLogger = uiLoggers[loggerId]; + + if (!windowLogger) { + windowLogger = uiLoggers[loggerId] = logger.create(loggerId); + } + + windowLogger[logLevel](..._.toArray(JSON.parse(logItemsStr))); + } catch (err) { + log.error(err); + } +}); + +ipc.on('backendAction_reloadSelectedTab', event => { + event.sender.send('uiAction_reloadSelectedTab'); +}); diff --git a/modules/menuItems.js b/modules/menuItems.js new file mode 100644 index 0000000..95e4fe3 --- /dev/null +++ b/modules/menuItems.js @@ -0,0 +1,698 @@ +const { + app, + BrowserWindow, + ipcMain: ipc, + Menu, + shell, + dialog +} = require('electron'); +const fs = require('fs'); +const path = require('path'); +const Windows = require('./windows'); +const Settings = require('./settings'); +const log = require('./utils/logger').create('menuItems'); +const swarmLog = require('./utils/logger').create('swarm'); +const updateChecker = require('./updateChecker'); +const ethereumNode = require('./ethereumNode.js'); +const ClientBinaryManager = require('./clientBinaryManager'); + +import { + setLanguage, + toggleSwarm, + toggleSwarmOnStart +} from './core/settings/actions'; +import { SwarmState } from './core/settings/reducer'; +import swarmNode from './swarmNode.js'; + +// Make easier to return values for specific systems +const switchForSystem = function(options) { + if (process.platform in options) { + return options[process.platform]; + } else if ('default' in options) { + return options.default; + } + return null; +}; + +// create menu +// null -> null +const createMenu = function(webviews) { + webviews = webviews || []; + + const menu = Menu.buildFromTemplate(menuTempl(webviews)); + Menu.setApplicationMenu(menu); +}; + +const restartNode = function(newType, newNetwork, syncMode, webviews) { + newNetwork = newNetwork || ethereumNode.network; + + log.info('Switch node', newType, newNetwork); + + return ethereumNode + .restart(newType, newNetwork, syncMode) + .then(() => { + Windows.getByType('main').load(global.interfaceAppUrl); + + createMenu(webviews); + log.info('Node switch successful.'); + }) + .catch(err => { + log.error('Error switching node', err); + }); +}; + +const startMining = webviews => { + ethereumNode + .send('miner_start', [1]) + .then(ret => { + log.info('miner_start', ret.result); + + if (ret.result) { + global.mining = true; + createMenu(webviews); + } + }) + .catch(err => { + log.error('miner_start', err); + }); +}; + +const stopMining = webviews => { + ethereumNode + .send('miner_stop', [1]) + .then(ret => { + log.info('miner_stop', ret.result); + + if (ret.result) { + global.mining = false; + createMenu(webviews); + } + }) + .catch(err => { + log.error('miner_stop', err); + }); +}; + +// create a menu template +// null -> obj +let menuTempl = function(webviews) { + const menu = []; + webviews = webviews || []; + + // APP + const fileMenu = []; + + if (process.platform === 'darwin') { + fileMenu.push( + { + label: i18n.t('mist.applicationMenu.app.about', { + app: Settings.appName + }), + click() { + Windows.createPopup('about'); + } + }, + { + label: i18n.t('mist.applicationMenu.app.checkForUpdates'), + click() { + updateChecker.runVisibly(); + } + }, + { + label: i18n.t('mist.applicationMenu.app.checkForNodeUpdates'), + click() { + // remove skipVersion + fs.writeFileSync( + path.join(Settings.userDataPath, 'skippedNodeVersion.json'), + '' // write no version + ); + + // true = will restart after updating and user consent + ClientBinaryManager.init(true); + } + }, + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.app.services', { + app: Settings.appName + }), + role: 'services', + submenu: [] + }, + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.app.hide', { + app: Settings.appName + }), + accelerator: 'Command+H', + role: 'hide' + }, + { + label: i18n.t('mist.applicationMenu.app.hideOthers', { + app: Settings.appName + }), + accelerator: 'Command+Alt+H', + role: 'hideothers' + }, + { + label: i18n.t('mist.applicationMenu.app.showAll', { + app: Settings.appName + }), + role: 'unhide' + }, + { + type: 'separator' + } + ); + } + + fileMenu.push({ + label: i18n.t('mist.applicationMenu.app.quit', { + app: Settings.appName + }), + accelerator: 'CommandOrControl+Q', + click() { + app.quit(); + } + }); + + menu.push({ + label: i18n.t('mist.applicationMenu.app.label', { + app: Settings.appName + }), + submenu: fileMenu + }); + + let swarmUpload = []; + if (global.mode !== 'wallet') { + swarmUpload.push( + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.file.swarmUpload'), + accelerator: 'Shift+CommandOrControl+U', + enabled: store.getState().settings.swarmState == SwarmState.Enabled, + click() { + const focusedWindow = BrowserWindow.getFocusedWindow(); + const paths = dialog.showOpenDialog(focusedWindow, { + properties: ['openFile', 'openDirectory'] + }); + if (paths && paths.length === 1) { + const isDir = fs.lstatSync(paths[0]).isDirectory(); + const defaultPath = path.join(paths[0], 'index.html'); + const uploadConfig = { + path: paths[0], + kind: isDir ? 'directory' : 'file', + defaultFile: fs.existsSync(defaultPath) ? '/index.html' : null + }; + swarmNode + .upload(uploadConfig) + .then(hash => { + focusedWindow.webContents.executeJavaScript(` + Tabs.update('browser', {$set: { + url: 'bzz://${hash}', + redirect: 'bzz://${hash}' + }}); + LocalStore.set('selectedTab', 'browser'); + `); + swarmLog.info('Hash uploaded:', hash); + }) + .catch(e => swarmLog.error(e)); + } + } + } + ); + } + + menu.push({ + label: i18n.t('mist.applicationMenu.file.label'), + submenu: [ + { + label: i18n.t('mist.applicationMenu.file.newAccount'), + accelerator: 'CommandOrControl+N', + click() { + Windows.createPopup('requestAccount'); + } + }, + { + label: i18n.t('mist.applicationMenu.file.importPresale'), + accelerator: 'CommandOrControl+I', + enabled: ethereumNode.isMainNetwork, + click() { + Windows.createPopup('importAccount'); + } + }, + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.file.backup'), + submenu: [ + { + label: i18n.t('mist.applicationMenu.file.backupKeyStore'), + click() { + let userPath = Settings.userHomePath; + + // eth + if (ethereumNode.isEth) { + if (process.platform === 'win32') { + userPath = `${Settings.appDataPath}\\Web3\\keys`; + } else { + userPath += '/.web3/keys'; + } + + // geth + } else { + if (process.platform === 'darwin') { + userPath += '/Library/EtherCore/keystore'; + } + + if ( + process.platform === 'freebsd' || + process.platform === 'linux' || + process.platform === 'sunos' + ) { + userPath += '/.ethercore/keystore'; + } + + if (process.platform === 'win32') { + userPath = `${Settings.appDataPath}\\EtherCore\\keystore`; + } + } + + shell.showItemInFolder(userPath); + } + }, + { + label: i18n.t('mist.applicationMenu.file.backupMist'), + click() { + shell.openItem(Settings.userDataPath); + } + } + ] + }, + ...swarmUpload + ] + }); + + // EDIT + menu.push({ + label: i18n.t('mist.applicationMenu.edit.label'), + submenu: [ + { + label: i18n.t('mist.applicationMenu.edit.undo'), + accelerator: 'CommandOrControl+Z', + role: 'undo' + }, + { + label: i18n.t('mist.applicationMenu.edit.redo'), + accelerator: 'Shift+CommandOrControl+Z', + role: 'redo' + }, + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.edit.cut'), + accelerator: 'CommandOrControl+X', + role: 'cut' + }, + { + label: i18n.t('mist.applicationMenu.edit.copy'), + accelerator: 'CommandOrControl+C', + role: 'copy' + }, + { + label: i18n.t('mist.applicationMenu.edit.paste'), + accelerator: 'CommandOrControl+V', + role: 'paste' + }, + { + label: i18n.t('mist.applicationMenu.edit.selectAll'), + accelerator: 'CommandOrControl+A', + role: 'selectall' + } + ] + }); + + // LANGUAGE (VIEW) + const switchLang = langCode => (menuItem, browserWindow) => { + store.dispatch(setLanguage(langCode, browserWindow)); + }; + + const currentLanguage = Settings.language; + const languageMenu = Object.keys(i18n.options.resources) + .filter(langCode => langCode !== 'dev') + .map(langCode => { + const menuItem = { + label: i18n.t(`mist.applicationMenu.view.langCodes.${langCode}`), + type: 'checkbox', + checked: langCode === currentLanguage, + click: switchLang(langCode) + }; + return menuItem; + }); + + languageMenu.unshift( + { + label: i18n.t('mist.applicationMenu.view.default'), + click: switchLang(i18n.getBestMatchedLangCode(app.getLocale())) + }, + { + type: 'separator' + } + ); + + // VIEW + menu.push({ + label: i18n.t('mist.applicationMenu.view.label'), + submenu: [ + { + label: i18n.t('mist.applicationMenu.view.fullscreen'), + accelerator: switchForSystem({ + darwin: 'Command+Control+F', + default: 'F11' + }), + click() { + const mainWindow = Windows.getByType('main'); + + mainWindow.window.setFullScreen(!mainWindow.window.isFullScreen()); + } + }, + { + label: i18n.t('mist.applicationMenu.view.languages'), + submenu: languageMenu + } + ] + }); + + // DEVELOP + const devToolsMenu = []; + let devtToolsSubMenu; + let curWindow; + + // change for wallet + if (Settings.uiMode === 'mist') { + devtToolsSubMenu = [ + { + label: i18n.t('mist.applicationMenu.develop.devToolsMistUI'), + accelerator: 'Alt+CommandOrControl+I', + click() { + curWindow = BrowserWindow.getFocusedWindow(); + if (curWindow) { + curWindow.toggleDevTools(); + } + } + }, + { + type: 'separator' + } + ]; + + // add webviews + webviews.forEach(webview => { + devtToolsSubMenu.push({ + label: i18n.t('mist.applicationMenu.develop.devToolsWebview', { + webview: webview.name + }), + click() { + Windows.getByType('main').send( + 'uiAction_toggleWebviewDevTool', + webview._id + ); + } + }); + }); + + // wallet + } else { + devtToolsSubMenu = [ + { + label: i18n.t('mist.applicationMenu.develop.devToolsWalletUI'), + accelerator: 'Alt+CommandOrControl+I', + click() { + curWindow = BrowserWindow.getFocusedWindow(); + if (curWindow) { + curWindow.toggleDevTools(); + } + } + } + ]; + } + + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.devTools'), + submenu: devtToolsSubMenu + }); + + if (Settings.uiMode === 'mist') { + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.openRemix'), + enabled: true, + click() { + Windows.createPopup('remix'); + } + }); + } + + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.runTests'), + enabled: Settings.uiMode === 'mist', + click() { + Windows.getByType('main').send('uiAction_runTests', 'webview'); + } + }); + + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.logFiles'), + click() { + try { + shell.showItemInFolder( + path.join(Settings.userDataPath, 'logs', 'all.log') + ); + } catch (error) { + log.error(error); + } + } + }); + + // add node switching menu + devToolsMenu.push({ + type: 'separator' + }); + + // add node switch + if (process.platform === 'darwin' || process.platform === 'win32') { + const nodeSubmenu = []; + + const ethClient = ClientBinaryManager.getClient('eth'); + const gethClient = ClientBinaryManager.getClient('geth'); + + if (gethClient) { + nodeSubmenu.push({ + label: `Geth ${gethClient.version}`, + checked: ethereumNode.isOwnNode && ethereumNode.isGeth, + enabled: ethereumNode.isOwnNode, + type: 'checkbox', + click() { + restartNode('geth', null, 'fast', webviews); + } + }); + } + + if (ethClient) { + nodeSubmenu.push({ + label: `Eth ${ethClient.version} (C++)`, + checked: ethereumNode.isOwnNode && ethereumNode.isEth, + enabled: ethereumNode.isOwnNode, + // enabled: false, + type: 'checkbox', + click() { + restartNode('eth'); + } + }); + } + + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.ethereumNode'), + submenu: nodeSubmenu + }); + } + + // add network switch + devToolsMenu.push({ + label: i18n.t('mist.applicationMenu.develop.network'), + submenu: [ + { + label: i18n.t('mist.applicationMenu.develop.mainNetwork'), + accelerator: 'CommandOrControl+Alt+1', + checked: ethereumNode.isOwnNode && ethereumNode.isMainNetwork, + enabled: ethereumNode.isOwnNode, + type: 'checkbox', + click() { + restartNode(ethereumNode.type, 'main'); + } + }, + { + label: 'ERE - Test network', + accelerator: 'CommandOrControl+Alt+2', + checked: ethereumNode.isOwnNode && ethereumNode.network === 'test', + enabled: ethereumNode.isOwnNode, + type: 'checkbox', + click() { + restartNode(ethereumNode.type, 'test'); + } + } + ] + }); + + // Light mode switch should appear when not in Solo Mode (dev network) + // if ( + // ethereumNode.isOwnNode && + // ethereumNode.isGeth && + // !ethereumNode.isDevNetwork + // ) { + // devToolsMenu.push({ + // label: 'Sync with Light client (beta)', + // enabled: true, + // checked: ethereumNode.isLightMode, + // type: 'checkbox', + // click() { + // restartNode('geth', null, ethereumNode.isLightMode ? 'fast' : 'light'); + // } + // }); + // } + + // Enables mining menu: only in Solo mode and Ropsten network (testnet) + if ( + ethereumNode.isOwnNode && + (ethereumNode.isTestNetwork || ethereumNode.isDevNetwork) + ) { + devToolsMenu.push({ + label: global.mining + ? i18n.t('mist.applicationMenu.develop.stopMining') + : i18n.t('mist.applicationMenu.develop.startMining'), + accelerator: 'CommandOrControl+Shift+M', + enabled: true, + click() { + if (global.mining) { + stopMining(webviews); + } else { + startMining(webviews); + } + } + }); + } + + if (global.mode !== 'wallet') { + devToolsMenu.push( + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.develop.enableSwarm'), + enabled: true, + checked: [SwarmState.Enabling, SwarmState.Enabled].includes( + global.store.getState().settings.swarmState + ), + type: 'checkbox', + click() { + store.dispatch(toggleSwarm()); + } + } + ); + } + + menu.push({ + label: + (global.mining ? '⛏ ' : '') + + i18n.t('mist.applicationMenu.develop.label'), + submenu: devToolsMenu + }); + + // WINDOW + menu.push({ + label: i18n.t('mist.applicationMenu.window.label'), + role: 'window', + submenu: [ + { + label: i18n.t('mist.applicationMenu.window.minimize'), + accelerator: 'CommandOrControl+M', + role: 'minimize' + }, + { + label: i18n.t('mist.applicationMenu.window.close'), + accelerator: 'CommandOrControl+W', + role: 'close' + }, + { + type: 'separator' + }, + { + label: i18n.t('mist.applicationMenu.window.toFront'), + role: 'front' + } + ] + }); + + // HELP + const helpMenu = []; + + if ( + process.platform === 'freebsd' || + process.platform === 'linux' || + process.platform === 'sunos' || + process.platform === 'win32' + ) { + helpMenu.push( + { + label: i18n.t('mist.applicationMenu.app.about', { + app: Settings.appName + }), + click() { + Windows.createPopup('about'); + } + }, + { + label: i18n.t('mist.applicationMenu.app.checkForUpdates'), + click() { + updateChecker.runVisibly(); + } + } + ); + } + helpMenu.push( + { + label: i18n.t('mist.applicationMenu.help.discord'), + click() { + shell.openExternal('https://discord.gg/3XQRbNk'); + } + }, + { + label: i18n.t('mist.applicationMenu.help.reddit'), + click() { + shell.openExternal('https://www.reddit.com/u/ethercore'); + } + }, + { + label: i18n.t('mist.applicationMenu.help.reportBug'), + click() { + shell.openExternal('https://github.com/ethercore/desktop-wallet/issues'); + } + } + ); + + menu.push({ + label: i18n.t('mist.applicationMenu.help.label'), + role: 'help', + submenu: helpMenu + }); + return menu; +}; + +module.exports = createMenu; diff --git a/modules/nodeSync.js b/modules/nodeSync.js new file mode 100644 index 0000000..e3b358f --- /dev/null +++ b/modules/nodeSync.js @@ -0,0 +1,200 @@ +/** +The nodeSync module, +checks the current node whether its synching or not and how much it kept up already. + +@module nodeSync +*/ + +const _ = global._; +const Q = require('bluebird'); +const EventEmitter = require('events').EventEmitter; +const { ipcMain: ipc } = require('electron'); +const ethereumNode = require('./ethereumNode'); +const log = require('./utils/logger').create('NodeSync'); + +const SYNC_CHECK_INTERVAL_MS = 2000; + +class NodeSync extends EventEmitter { + constructor() { + super(); + + ethereumNode.on('state', _.bind(this._onNodeStateChanged, this)); + } + + /** + * @return {Promise} + */ + start() { + if (this._syncPromise) { + log.warn('Sync already in progress, returning Promise'); + + return Q.resolve(this._syncPromise); + } + + this._syncPromise = Q.try(() => { + if (!ethereumNode.isIpcConnected) { + throw new Error('Cannot sync - EtherCore node not yet connected'); + } + + return new Q((resolve, reject) => { + log.info('Starting sync loop'); + + this._syncInProgress = true; + this._onSyncDone = resolve; + this._onSyncError = reject; + + this.emit('starting'); + + ipc.on('backendAction_skipSync', () => { + ipc.removeAllListeners('backendAction_skipSync'); + log.info('Sync has been skipped'); + + this._onSyncDone(); + }); + + this._sync(); + }); + }) + .then(() => { + this.emit('finished'); + }) + .catch(err => { + log.error('Sync error', err); + + this.emit('error', err); + }) + .finally(() => { + log.info('Sync loop ended'); + + this._clearState(); + }); + + return this._syncPromise; + } + + /** + * @return {Promise} + */ + stop() { + return Q.try(() => { + if (!this._syncInProgress) { + log.debug('Sync not already in progress.'); + } else { + log.info('Stopping sync loop'); + + this._clearState(); + + return Q.delay(SYNC_CHECK_INTERVAL_MS).then(() => { + this.emit('stopped'); + }); + } + }); + } + + _clearState() { + ipc.removeAllListeners('backendAction_skipSync'); + + this._syncInProgress = this._syncPromise = this._onSyncDone = this._onSyncError = false; + } + + _sync() { + _.delay(() => { + if (!this._syncInProgress) { + log.debug('Sync no longer in progress, so ending sync loop.'); + + return; + } + + log.trace('Check sync status'); + + ethereumNode + .send('eth_syncing', []) + .then(ret => { + const result = ret.result; + + // got a result, check for error + if (result) { + log.trace('Sync status', result); + + // got an error? + if (result.error) { + if (result.error.code === -32601) { + log.warn('Sync method not implemented, skipping sync.'); + + return this._onSyncDone(); + } + + throw new Error(`Unexpected error: ${result.error}`); + } else { + // no error, so call again in a bit + this.emit('nodeSyncing', result); + + return this._sync(); + } + } else { + // got no result, let's check the block number + log.debug('Check latest block number'); + + return ethereumNode + .send('eth_getBlockByNumber', ['latest', false]) + .then(ret2 => { + const blockResult = ret2.result; + const now = Math.floor(new Date().getTime() / 1000); + + if (!blockResult) { + return this._sync(); + } + + log.debug( + `Last block: ${Number(blockResult.number)}; timestamp: ${ + blockResult.timestamp + }` + ); + + const diff = now - +blockResult.timestamp; + + // need sync if > 1 minute + if (diff > 60) { + this.emit('nodeSyncing', result); + + log.trace('Keep syncing...'); + + return this._sync(); + } + + log.info('No more sync necessary'); + + return this._onSyncDone(); + }); + } + }) + .catch(err => { + log.error('Node crashed while syncing?', err); + + this._onSyncError(err); + }); + }, SYNC_CHECK_INTERVAL_MS); + } + + _onNodeStateChanged(state) { + switch (state) { // eslint-disable-line default-case + // stop syncing when node about to be stopped + case ethereumNode.STATES.STOPPING: + log.info('EtherCore node stopping, so stop sync'); + + this.stop(); + break; + // auto-sync whenever node gets connected + case ethereumNode.STATES.CONNECTED: + log.info('EtherCore node connected, re-start sync'); + + // stop syncing, then start again + this.stop().then(() => { + this.start(); + }); + break; + } + } +} + +module.exports = new NodeSync(); diff --git a/modules/preloader/.eslintrc.yml b/modules/preloader/.eslintrc.yml new file mode 100644 index 0000000..35f46c4 --- /dev/null +++ b/modules/preloader/.eslintrc.yml @@ -0,0 +1,2 @@ +globals: + Helpers: true diff --git a/modules/preloader/browser.js b/modules/preloader/browser.js new file mode 100644 index 0000000..f469657 --- /dev/null +++ b/modules/preloader/browser.js @@ -0,0 +1,166 @@ +/** +@module preloader browser +*/ +const _ = require('underscore'); +require('./include/common')('browser'); +const { ipcRenderer, webFrame, remote } = require('electron'); +const mist = require('./include/mistAPI.js'); +require('./include/getFavicon.js'); +require('./include/getMetaTags.js'); +require('./include/setBasePath')('interface'); +const packageJson = require('./../../package.json'); +const fs = remote.require('fs'); +const path = remote.require('path'); + +// set navigator.language +Object.defineProperty(navigator, 'language', { + get() { + return ipcRenderer.sendSync('backendAction_getLanguage'); + } +}); + +// notifiy the tab to store the webview id +ipcRenderer.sendToHost('setWebviewId'); + +const isValidJsonRpc = function(message) { + return !!( + Object.prototype.hasOwnProperty.call(message, 'method') || + Object.prototype.hasOwnProperty.call(message, 'id') || + Object.prototype.hasOwnProperty.call(message, 'params') || + Object.prototype.hasOwnProperty.call(message, 'jsonrpc') + ); +}; + +const sanatizeJsonRpc = function(message) { + // sanitize + return { + jsonrpc: message.jsonrpc, + id: message.id, + method: message.method, + params: message.params + }; +}; + +// Wait for post messages +window.addEventListener('message', function message(event) { + let data; + try { + data = JSON.parse(event.data); + } catch (e) { + data = event.data; + } + + if (typeof data !== 'object') { + return; + } + + // EthereumProvider: connect + if (data.type === 'create') { + ipcRenderer.send('ipcProvider-create'); + + // EthereumProvider: write + } else if (data.type === 'write') { + let messageIsArray = _.isArray(data.message); + + // only accept valid JSON rpc requests + if (messageIsArray) { + for (let i = 0; i < data.message.length; i++) { + if (isValidJsonRpc(data.message[i])) { + data.message[i] = sanatizeJsonRpc(data.message[i]); + } else { + return; + } + } + } else { + if (isValidJsonRpc(data.message)) { + data.message = sanatizeJsonRpc(data.message); + } else { + return; + } + } + + // make sure we only send allowed properties + ipcRenderer.send('ipcProvider-write', JSON.stringify(data.message)); + + // mistAPI + } else if (/^mistAPI_[a-z]/i.test(data.type)) { + if (data.type === 'mistAPI_requestAccount') { + ipcRenderer.send(data.type, data.message); + } else { + ipcRenderer.sendToHost(data.type, data.message); + } + } +}); + +const postMessage = function(payload) { + if (typeof payload === 'object') { + payload = JSON.stringify(payload); + } + + window.postMessage( + payload, + !location.origin || location.origin === 'null' ? '*' : location.origin + ); +}; + +// custom Events +['uiAction_windowMessage', 'mistAPI_callMenuFunction'].forEach(function(type) { + ipcRenderer.on(type, function onIpcRenderer(e, result) { + // this type needs special packaging + if (type === 'uiAction_windowMessage') { + result = { + type: arguments[1], + error: arguments[2], + value: arguments[3] + }; + } + + postMessage({ + type: type, + message: result + }); + }); +}); + +// add IPCbackend events +['data', 'error', 'end', 'timeout', 'connect'].forEach(function(type) { + ipcRenderer.on(`ipcProvider-` + type, function onIpcRenderer(e, result) { + postMessage({ + type: type, + message: JSON.parse(result) + }); + }); +}); + +// load ethereumProvider +const bignumber = fs + .readFileSync(path.join(__dirname, '/injected/BigNumber.js')) + .toString(); +const eventEmitter3 = fs + .readFileSync(path.join(__dirname, '/injected/EventEmitter3.js')) + .toString(); +let mistAPI = fs + .readFileSync(path.join(__dirname, '/injected/mistAPI.js')) + .toString(); +const ethereumProvider = fs + .readFileSync(path.join(__dirname, '/injected/EthereumProvider.js')) + .toString(); + +mistAPI = mistAPI + .replace('__version__', packageJson.version) + .replace('__license__', packageJson.license) + .replace('__platform__', process.platform) + .replace( + '__solidityVersion__', + String(packageJson.dependencies.solc).match(/\d+\.\d+\.\d+/)[0] + ); + +webFrame.executeJavaScript( + mistAPI + bignumber + eventEmitter3 + ethereumProvider +); + +// notifiy the tab to store the webview id +ipcRenderer.sendToHost('setWebviewId'); + +// destroy the old socket +ipcRenderer.send('ipcProvider-destroy'); diff --git a/modules/preloader/dapps.js b/modules/preloader/dapps.js new file mode 100644 index 0000000..38cbd38 --- /dev/null +++ b/modules/preloader/dapps.js @@ -0,0 +1,4 @@ +/** +@module preloader dapps +*/ +require('./browser.js'); diff --git a/modules/preloader/include/common.js b/modules/preloader/include/common.js new file mode 100644 index 0000000..a53e7b1 --- /dev/null +++ b/modules/preloader/include/common.js @@ -0,0 +1,16 @@ +module.exports = windowType => { + const { ipcRenderer, webFrame } = require('electron'); + + if (process.env.TEST_MODE) { + window.electronRequire = require; + } + + // disable pinch zoom + webFrame.setZoomLevelLimits(1, 1); + + require('./consoleLogCapture')(windowType); // !!! + require('./suppressWindowPrompt')(); + + // register with window manager + ipcRenderer.send('backendAction_setWindowId'); +}; diff --git a/modules/preloader/include/consoleLogCapture.js b/modules/preloader/include/consoleLogCapture.js new file mode 100644 index 0000000..1875693 --- /dev/null +++ b/modules/preloader/include/consoleLogCapture.js @@ -0,0 +1,60 @@ +const { ipcRenderer } = require('electron'); + +const extractLineNumberFromStack = function(stack) { + // / + // / Get the line/filename detail from a Webkit stack trace. See http://stackoverflow.com/a/3806596/1037948 + // / + // / the stack string + + let line = stack.split('\n')[2]; + // fix for various display text + if (line) { + line = + line.indexOf(' (') >= 0 + ? line.split(' (')[1].substring(0, line.length - 1) + : line.split('at ')[1]; + return line; + } +}; + +module.exports = function(windowId) { + if (typeof window === 'undefined') { + return; + } + + windowId = windowId || window.location.url; + + const console = window.console; + + // send console logging to IPC backend + ['trace', 'debug', 'info', 'warn', 'error', 'log'].forEach(method => { + console[`_${method}`] = console[method]; + console[method] = (function(origMethod) { + return function() { + const args = Array.from(arguments); + + const suffix = `@ ${ + this.lineNumber + ? `${this.fileName}:${this.lineNumber}:1` + : extractLineNumberFromStack(new Error().stack) + }`; + + origMethod.apply(console, args.concat([suffix])); + + try { + ipcRenderer.send( + 'console_log', + windowId, + method === 'log' ? 'info' : method, + JSON.stringify(args) + ); + } catch (err) { + console._warn( + 'Unable to stringify arguments to log to backend', + err.stack + ); + } + }; + })(console[method]); + }); +}; diff --git a/modules/preloader/include/getFavicon.js b/modules/preloader/include/getFavicon.js new file mode 100644 index 0000000..af30520 --- /dev/null +++ b/modules/preloader/include/getFavicon.js @@ -0,0 +1,28 @@ +/** +Gets the favicon url + +@module getFavicon +*/ + +const { ipcRenderer } = require('electron'); + +(function() { + document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); + + function DOMContentLoaded(event) { + const icon = + document.querySelector('link[rel="apple-touch-icon"]') || + document.querySelector('link[type="image/x-icon"]') || + document.querySelector('link[rel="shortcut"]') || + document.querySelector('link[rel="shortcut icon"]') || + document.querySelector('link[rel="icon"]'); + + if (icon) { + ipcRenderer.sendToHost('favicon', icon.href); + } else { + ipcRenderer.sendToHost('favicon', null); + } + + document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false); + } +})(); diff --git a/modules/preloader/include/getMetaTags.js b/modules/preloader/include/getMetaTags.js new file mode 100644 index 0000000..815cd9d --- /dev/null +++ b/modules/preloader/include/getMetaTags.js @@ -0,0 +1,25 @@ +/** +Gest the meta[name="ethereum-dapp-url-bar-style"] meta tag + +@module getMetaTags +*/ + +const { ipcRenderer } = require('electron'); + +module.export = (function() { + document.addEventListener('DOMContentLoaded', DOMContentLoaded, false); + + function DOMContentLoaded(event) { + const appBar = document.querySelector( + 'meta[name="ethereum-dapp-url-bar-style"]' + ); + + if (appBar) { + ipcRenderer.sendToHost('appBar', appBar.content); + } else { + ipcRenderer.sendToHost('appBar', null); + } + + document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false); + } +})(); diff --git a/modules/preloader/include/legacyWeb3IpcProvider.js b/modules/preloader/include/legacyWeb3IpcProvider.js new file mode 100644 index 0000000..2f3b19d --- /dev/null +++ b/modules/preloader/include/legacyWeb3IpcProvider.js @@ -0,0 +1,207 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** @file ipcprovider.js + * @authors: + * Fabian Vogelsteller + * @date 2015 + */ + +'use strict'; + +var _ = require('underscore'); +var errors = { + InvalidConnection: function(host) { + return new Error( + "CONNECTION ERROR: Couldn't connect to node " + host + '.' + ); + }, + InvalidResponse: function(result) { + var message = + !!result && !!result.error && !!result.error.message + ? result.error.message + : 'Invalid JSON RPC response: ' + JSON.stringify(result); + return new Error(message); + } +}; + +var IpcProvider = function(path, net) { + var _this = this; + this.responseCallbacks = {}; + this.path = path; + + this.connection = net.connect({ path: this.path }); + + this.connection.on('error', function(e) { + console.error('IPC Connection Error', e); + _this._timeout(); + }); + + this.connection.on('end', function() { + _this._timeout(); + }); + + // LISTEN FOR CONNECTION RESPONSES + this.connection.on('data', function(data) { + /*jshint maxcomplexity: 6 */ + + _this._parseResponse(data.toString()).forEach(function(result) { + var id = null; + + // get the id which matches the returned id + if (_.isArray(result)) { + result.forEach(function(load) { + if (_this.responseCallbacks[load.id]) id = load.id; + }); + } else { + id = result.id; + } + + // fire the callback + if (_this.responseCallbacks[id]) { + _this.responseCallbacks[id](null, result); + delete _this.responseCallbacks[id]; + } + }); + }); +}; + +/** +Will parse the response and make an array out of it. + +@method _parseResponse +@param {String} data +*/ +IpcProvider.prototype._parseResponse = function(data) { + var _this = this, + returnValues = []; + + // DE-CHUNKER + var dechunkedData = data + .replace(/\}[\n\r]?\{/g, '}|--|{') // }{ + .replace(/\}\][\n\r]?\[\{/g, '}]|--|[{') // }][{ + .replace(/\}[\n\r]?\[\{/g, '}|--|[{') // }[{ + .replace(/\}\][\n\r]?\{/g, '}]|--|{') // }]{ + .split('|--|'); + + dechunkedData.forEach(function(data) { + // prepend the last chunk + if (_this.lastChunk) data = _this.lastChunk + data; + + var result = null; + + try { + result = JSON.parse(data); + } catch (e) { + _this.lastChunk = data; + + // start timeout to cancel all requests + clearTimeout(_this.lastChunkTimeout); + _this.lastChunkTimeout = setTimeout(function() { + _this._timeout(); + throw errors.InvalidResponse(data); + }, 1000 * 15); + + return; + } + + // cancel timeout and set chunk to null + clearTimeout(_this.lastChunkTimeout); + _this.lastChunk = null; + + if (result) returnValues.push(result); + }); + + return returnValues; +}; + +/** +Get the adds a callback to the responseCallbacks object, +which will be called if a response matching the response Id will arrive. + +@method _addResponseCallback +*/ +IpcProvider.prototype._addResponseCallback = function(payload, callback) { + var id = payload.id || payload[0].id; + var method = payload.method || payload[0].method; + + this.responseCallbacks[id] = callback; + this.responseCallbacks[id].method = method; +}; + +/** +Timeout all requests when the end/error event is fired + +@method _timeout +*/ +IpcProvider.prototype._timeout = function() { + for (var key in this.responseCallbacks) { + if (this.responseCallbacks.hasOwnProperty(key)) { + this.responseCallbacks[key](errors.InvalidConnection('on IPC')); + delete this.responseCallbacks[key]; + } + } +}; + +/** +Check if the current connection is still valid. + +@method isConnected +*/ +IpcProvider.prototype.isConnected = function() { + var _this = this; + + // try reconnect, when connection is gone + if (!_this.connection.writable) + _this.connection.connect({ path: _this.path }); + + return !!this.connection.writable; +}; + +IpcProvider.prototype.send = function(payload) { + if (this.connection.writeSync) { + var result; + + // try reconnect, when connection is gone + if (!this.connection.writable) this.connection.connect({ path: this.path }); + + var data = this.connection.writeSync(JSON.stringify(payload)); + + try { + result = JSON.parse(data); + } catch (e) { + throw errors.InvalidResponse(data); + } + + return result; + } else { + throw new Error( + 'You tried to send "' + + payload.method + + '" synchronously. Synchronous requests are not supported by the IPC provider.' + ); + } +}; + +IpcProvider.prototype.sendAsync = function(payload, callback) { + // try reconnect, when connection is gone + if (!this.connection.writable) this.connection.connect({ path: this.path }); + + this.connection.write(JSON.stringify(payload)); + this._addResponseCallback(payload, callback); +}; + +module.exports = IpcProvider; diff --git a/modules/preloader/include/mistAPI.js b/modules/preloader/include/mistAPI.js new file mode 100644 index 0000000..1b985fd --- /dev/null +++ b/modules/preloader/include/mistAPI.js @@ -0,0 +1,243 @@ +/** +@module MistAPI +*/ + +const _ = require('underscore'); +const { ipcRenderer } = require('electron'); +const packageJson = require('./../../../package.json'); + +module.exports = () => { + let queue = []; + const prefix = 'entry_'; + const MIST_SUBMENU_LIMIT = 100; + + // todo: error handling + const filterAdd = options => { + if (!(options instanceof Object)) { + return false; + } + + return ['name'].every(e => e in options); + }; + + // filterId the id to only contain a-z A-Z 0-9 + const filterId = str => { + const filteredStr = String(str); + let newStr = ''; + if (filteredStr) { + for (let i = 0; i < filteredStr.length; i += 1) { + if (/[a-zA-Z0-9_-]/.test(filteredStr.charAt(i))) { + newStr += filteredStr.charAt(i); + } + } + } + return newStr; + }; + + /** + Mist API + + Provides an API for all dapps, which specifically targets features from the Mist browser + + @class mist + @constructor + */ + const mist = { + callbacks: {}, + version: packageJson.version, + license: packageJson.license, + platform: process.platform, + requestAccount(callback) { + if (callback) { + if (!this.callbacks.connectAccount) { + this.callbacks.connectAccount = []; + } + this.callbacks.connectAccount.push(callback); + } + + ipcRenderer.send('mistAPI_requestAccount'); + }, + solidity: { + version: String(packageJson.dependencies.solc).match(/\d+\.\d+\.\d+/)[0] + }, + sounds: { + bip: function playSound() { + ipcRenderer.sendToHost( + 'mistAPI_sound', + `file://${__dirname}/../../../sounds/bip.mp3` + ); + }, + bloop: function playSound() { + ipcRenderer.sendToHost( + 'mistAPI_sound', + `file://${__dirname}/../../../sounds/bloop.mp3` + ); + }, + invite: function playSound() { + ipcRenderer.sendToHost( + 'mistAPI_sound', + `file://${__dirname}/../../../sounds/invite.mp3` + ); + } + }, + menu: { + entries: {}, + /** + Sets the badge text for the apps menu button + + Example + + mist.menu.setBadge('Some Text') + + @method setBadge + @param {String} text + */ + setBadge(text) { + ipcRenderer.sendToHost('mistAPI_setBadge', text); + }, + /** + Adds/Updates a menu entry + + Example + + mist.menu.add('tkrzU', { + name: 'My Meny Entry', + badge: 50, + position: 1, + selected: true + }, function(){ + // Router.go('/chat/1245'); + }) + + @method add + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + add(id, options, callback) { + const args = Array.prototype.slice.call(arguments); + callback = _.isFunction(args[args.length - 1]) ? args.pop() : null; + options = _.isObject(args[args.length - 1]) ? args.pop() : null; + id = + _.isString(args[args.length - 1]) || _.isFinite(args[args.length - 1]) + ? args.pop() + : null; + + if (!filterAdd(options)) { + return false; + } + + const filteredId = prefix + filterId(id); + + // restricting to 100 menu entries + if ( + !(filteredId in this.entries) && + Object.keys(this.entries).length >= MIST_SUBMENU_LIMIT + ) { + return false; + } + + const entry = { + id: filteredId || 'mist_defaultId', + position: options.position, + selected: !!options.selected, + name: options.name, + badge: options.badge + }; + + queue.push({ + action: 'addMenu', + entry + }); + + if (callback) { + entry.callback = callback; + } + + this.entries[filteredId] = entry; + return true; + }, + /** + Updates a menu entry from the mist sidebar. + + @method update + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + update() { + this.add.apply(this, arguments); + }, + /** + Removes a menu entry from the mist sidebar. + + @method remove + @param {String} id + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + remove(id) { + const filteredId = prefix + filterId(id); + + delete this.entries[filteredId]; + + queue.push({ + action: 'removeMenu', + filteredId + }); + }, + /** + Marks a menu entry as selected + + @method select + @param {String} id + */ + select(id) { + const filteredId = prefix + filterId(id); + queue.push({ action: 'selectMenu', id: filteredId }); + + for (const e in this.entries) { + if ({}.hasOwnProperty.call(this.entries, e)) { + this.entries[e].selected = e === filteredId; + } + } + }, + /** + Removes all menu entries. + + @method clear + */ + clear() { + this.entries = {}; + queue.push({ action: 'clearMenu' }); + } + } + }; + + ipcRenderer.on('mistAPI_callMenuFunction', (e, id) => { + if (mist.menu.entries[id] && mist.menu.entries[id].callback) { + mist.menu.entries[id].callback(); + } + }); + + ipcRenderer.on('uiAction_windowMessage', (e, type, error, value) => { + console.log('uiAction_windowMessage', type, error, value); + if (mist.callbacks[type]) { + mist.callbacks[type].forEach(cb => { + cb(error, value); + }); + delete mist.callbacks[type]; + } + }); + + // work up queue every 500ms + setInterval(() => { + if (queue.length > 0) { + ipcRenderer.sendToHost('mistAPI_menuChanges', queue); + queue = []; + } + }, 500); + + return mist; +}; diff --git a/modules/preloader/include/openExternal.js b/modules/preloader/include/openExternal.js new file mode 100644 index 0000000..d596fc4 --- /dev/null +++ b/modules/preloader/include/openExternal.js @@ -0,0 +1,32 @@ +/** +Opens windows and popups + +@module openExternal +*/ + +const { shell } = require('electron'); + +// open a[target="_blank"] in external browser +document.addEventListener( + 'click', + e => { + let node = false; + + if (e.target.nodeName === 'A') { + node = e.target; + } else if (e.target.parentNode && e.target.parentNode.nodeName === 'A') { + node = e.target.parentNode; + } + + // open in browser + if ( + node && + node.attributes.target && + node.attributes.target.value === '_blank' + ) { + e.preventDefault(); + shell.openExternal(node.href); + } + }, + false +); diff --git a/modules/preloader/include/setBasePath.js b/modules/preloader/include/setBasePath.js new file mode 100644 index 0000000..938b384 --- /dev/null +++ b/modules/preloader/include/setBasePath.js @@ -0,0 +1,19 @@ +/** +Sets the base path in production for the file protocol, so assets are loaded properly + +@module setBasePath +*/ + +const { remote } = require('electron'); +const path = require('path'); + +module.exports = appPath => { + // set the base path for relative assets in production mode + if (remote.getGlobal('production') && ~location.origin.indexOf('file://')) { + window.basePathHref = `${String( + path.resolve(`${__dirname}/../../${appPath}`) + ) + .replace(/\\/g, '/') + .replace('/interface', '/app.asar/interface')}/`; + } +}; diff --git a/modules/preloader/include/suppressWindowPrompt.js b/modules/preloader/include/suppressWindowPrompt.js new file mode 100644 index 0000000..74ca5a5 --- /dev/null +++ b/modules/preloader/include/suppressWindowPrompt.js @@ -0,0 +1,5 @@ +module.exports = () => { + window.prompt = () => { + console.warn("Mist doesn't support window.prompt()"); + }; +}; diff --git a/modules/preloader/include/web3CurrentProvider.js b/modules/preloader/include/web3CurrentProvider.js new file mode 100644 index 0000000..1beb5ad --- /dev/null +++ b/modules/preloader/include/web3CurrentProvider.js @@ -0,0 +1,21 @@ +/** +Sets the ethereum provider, as well as "web3" for backwards compatibility. + +@module ethereumProvider +*/ +const Web3 = require('web3'); +const BigNumber = require('bignumber.js'); +const ipcProviderWrapper = require('../../ipc/ipcProviderWrapper.js'); +const LegacyWeb3IpcProvider = require('./legacyWeb3IpcProvider.js'); + +// SET ETHEREUM PROVIDER +// window.ethereumProvider = new Web3.providers.IpcProvider('', ipcProviderWrapper); + +// LEGACY +window.BigNumber = BigNumber; +window.web3 = { + currentProvider: new LegacyWeb3IpcProvider('', ipcProviderWrapper) +}; + +// for now still add this too: WILL BE REMOVED with web3 1.0 +window.web3 = new Web3(new Web3.providers.IpcProvider('', ipcProviderWrapper)); diff --git a/modules/preloader/injected/BigNumber.js b/modules/preloader/injected/BigNumber.js new file mode 100644 index 0000000..89a4661 --- /dev/null +++ b/modules/preloader/injected/BigNumber.js @@ -0,0 +1,1321 @@ +(function() { + /* bignumber.js v4.0.0 https://github.com/MikeMcl/bignumber.js/LICENCE */ + !(function(e) { + 'use strict'; + function n(e) { + function a(e, n) { + var t, + r, + i, + o, + u, + s, + l = this; + if (!(l instanceof a)) + return z && x(26, 'constructor call without new', e), new a(e, n); + if (null != n && V(n, 2, 64, C, 'base')) { + if (((n = 0 | n), (s = e + ''), 10 == n)) + return (l = new a(e instanceof a ? e : s)), I(l, B + l.e + 1, P); + if ( + ((o = 'number' == typeof e) && 0 * e != 0) || + !new RegExp( + '^-?' + (t = '[' + v.slice(0, n) + ']+') + '(?:\\.' + t + ')?$', + 37 > n ? 'i' : '' + ).test(s) + ) + return U(l, s, o, n); + o + ? ((l.s = 0 > 1 / e ? ((s = s.slice(1)), -1) : 1), + z && s.replace(/^0\.0*|\./, '').length > 15 && x(C, w, e), + (o = !1)) + : (l.s = 45 === s.charCodeAt(0) ? ((s = s.slice(1)), -1) : 1), + (s = A(s, 10, n, l.s)); + } else { + if (e instanceof a) + return ( + (l.s = e.s), + (l.e = e.e), + (l.c = (e = e.c) ? e.slice() : e), + void (C = 0) + ); + if ((o = 'number' == typeof e) && 0 * e == 0) { + if (((l.s = 0 > 1 / e ? ((e = -e), -1) : 1), e === ~~e)) { + for (r = 0, i = e; i >= 10; i /= 10, r++); + return (l.e = r), (l.c = [e]), void (C = 0); + } + s = e + ''; + } else { + if (!h.test((s = e + ''))) return U(l, s, o); + l.s = 45 === s.charCodeAt(0) ? ((s = s.slice(1)), -1) : 1; + } + } + for ( + (r = s.indexOf('.')) > -1 && (s = s.replace('.', '')), + (i = s.search(/e/i)) > 0 + ? (0 > r && (r = i), + (r += +s.slice(i + 1)), + (s = s.substring(0, i))) + : 0 > r && (r = s.length), + i = 0; + 48 === s.charCodeAt(i); + i++ + ); + for (u = s.length; 48 === s.charCodeAt(--u); ); + if ((s = s.slice(i, u + 1))) + if ( + ((u = s.length), + o && z && u > 15 && (e > y || e !== p(e)) && x(C, w, l.s * e), + (r = r - i - 1), + r > G) + ) + l.c = l.e = null; + else if ($ > r) l.c = [(l.e = 0)]; + else { + if ( + ((l.e = r), + (l.c = []), + (i = (r + 1) % b), + 0 > r && (i += b), + u > i) + ) { + for (i && l.c.push(+s.slice(0, i)), u -= b; u > i; ) + l.c.push(+s.slice(i, (i += b))); + (s = s.slice(i)), (i = b - s.length); + } else i -= u; + for (; i--; s += '0'); + l.c.push(+s); + } + else l.c = [(l.e = 0)]; + C = 0; + } + function A(e, n, t, i) { + var o, + u, + l, + c, + h, + g, + p, + d = e.indexOf('.'), + m = B, + w = P; + for ( + 37 > t && (e = e.toLowerCase()), + d >= 0 && + ((l = W), + (W = 0), + (e = e.replace('.', '')), + (p = new a(t)), + (h = p.pow(e.length - d)), + (W = l), + (p.c = s(f(r(h.c), h.e), 10, n)), + (p.e = p.c.length)), + g = s(e, t, n), + u = l = g.length; + 0 == g[--l]; + g.pop() + ); + if (!g[0]) return '0'; + if ( + (0 > d + ? --u + : ((h.c = g), + (h.e = u), + (h.s = i), + (h = L(h, p, m, w, n)), + (g = h.c), + (c = h.r), + (u = h.e)), + (o = u + m + 1), + (d = g[o]), + (l = n / 2), + (c = c || 0 > o || null != g[o + 1]), + (c = + 4 > w + ? (null != d || c) && (0 == w || w == (h.s < 0 ? 3 : 2)) + : d > l || + (d == l && + (4 == w || + c || + (6 == w && 1 & g[o - 1]) || + w == (h.s < 0 ? 8 : 7)))), + 1 > o || !g[0]) + ) + e = c ? f('1', -m) : '0'; + else { + if (((g.length = o), c)) + for (--n; ++g[--o] > n; ) (g[o] = 0), o || (++u, g.unshift(1)); + for (l = g.length; !g[--l]; ); + for (d = 0, e = ''; l >= d; e += v.charAt(g[d++])); + e = f(e, u); + } + return e; + } + function E(e, n, t, i) { + var o, u, s, c, h; + if (((t = null != t && V(t, 0, 8, i, m) ? 0 | t : P), !e.c)) + return e.toString(); + if (((o = e.c[0]), (s = e.e), null == n)) + (h = r(e.c)), + (h = 19 == i || (24 == i && q >= s) ? l(h, s) : f(h, s)); + else if ( + ((e = I(new a(e), n, t)), + (u = e.e), + (h = r(e.c)), + (c = h.length), + 19 == i || (24 == i && (u >= n || q >= u))) + ) { + for (; n > c; h += '0', c++); + h = l(h, u); + } else if (((n -= s), (h = f(h, u)), u + 1 > c)) { + if (--n > 0) for (h += '.'; n--; h += '0'); + } else if (((n += u - c), n > 0)) + for (u + 1 == c && (h += '.'); n--; h += '0'); + return e.s < 0 && o ? '-' + h : h; + } + function D(e, n) { + var t, + r, + i = 0; + for (u(e[0]) && (e = e[0]), t = new a(e[0]); ++i < e.length; ) { + if (((r = new a(e[i])), !r.s)) { + t = r; + break; + } + n.call(t, r) && (t = r); + } + return t; + } + function F(e, n, t, r, i) { + return ( + (n > e || e > t || e != c(e)) && + x( + r, + (i || 'decimal places') + + (n > e || e > t ? ' out of range' : ' not an integer'), + e + ), + !0 + ); + } + function _(e, n, t) { + for (var r = 1, i = n.length; !n[--i]; n.pop()); + for (i = n[0]; i >= 10; i /= 10, r++); + return ( + (t = r + t * b - 1) > G + ? (e.c = e.e = null) + : $ > t ? (e.c = [(e.e = 0)]) : ((e.e = t), (e.c = n)), + e + ); + } + function x(e, n, t) { + var r = new Error( + [ + 'new BigNumber', + 'cmp', + 'config', + 'div', + 'divToInt', + 'eq', + 'gt', + 'gte', + 'lt', + 'lte', + 'minus', + 'mod', + 'plus', + 'precision', + 'random', + 'round', + 'shift', + 'times', + 'toDigits', + 'toExponential', + 'toFixed', + 'toFormat', + 'toFraction', + 'pow', + 'toPrecision', + 'toString', + 'BigNumber' + ][e] + + '() ' + + n + + ': ' + + t + ); + throw ((r.name = 'BigNumber Error'), (C = 0), r); + } + function I(e, n, t, r) { + var i, + o, + u, + s, + l, + f, + c, + a = e.c, + h = O; + if (a) { + e: { + for (i = 1, s = a[0]; s >= 10; s /= 10, i++); + if (((o = n - i), 0 > o)) + (o += b), + (u = n), + (l = a[(f = 0)]), + (c = ((l / h[i - u - 1]) % 10) | 0); + else if (((f = g((o + 1) / b)), f >= a.length)) { + if (!r) break e; + for (; a.length <= f; a.push(0)); + (l = c = 0), (i = 1), (o %= b), (u = o - b + 1); + } else { + for (l = s = a[f], i = 1; s >= 10; s /= 10, i++); + (o %= b), + (u = o - b + i), + (c = 0 > u ? 0 : ((l / h[i - u - 1]) % 10) | 0); + } + if ( + ((r = + r || + 0 > n || + null != a[f + 1] || + (0 > u ? l : l % h[i - u - 1])), + (r = + 4 > t + ? (c || r) && (0 == t || t == (e.s < 0 ? 3 : 2)) + : c > 5 || + (5 == c && + (4 == t || + r || + (6 == t && + ((o > 0 ? (u > 0 ? l / h[i - u] : 0) : a[f - 1]) % + 10) & + 1) || + t == (e.s < 0 ? 8 : 7)))), + 1 > n || !a[0]) + ) + return ( + (a.length = 0), + r + ? ((n -= e.e + 1), + (a[0] = h[(b - n % b) % b]), + (e.e = -n || 0)) + : (a[0] = e.e = 0), + e + ); + if ( + (0 == o + ? ((a.length = f), (s = 1), f--) + : ((a.length = f + 1), + (s = h[b - o]), + (a[f] = u > 0 ? p((l / h[i - u]) % h[u]) * s : 0)), + r) + ) + for (;;) { + if (0 == f) { + for (o = 1, u = a[0]; u >= 10; u /= 10, o++); + for (u = a[0] += s, s = 1; u >= 10; u /= 10, s++); + o != s && (e.e++, a[0] == N && (a[0] = 1)); + break; + } + if (((a[f] += s), a[f] != N)) break; + (a[f--] = 0), (s = 1); + } + for (o = a.length; 0 === a[--o]; a.pop()); + } + e.e > G ? (e.c = e.e = null) : e.e < $ && (e.c = [(e.e = 0)]); + } + return e; + } + var L, + U, + C = 0, + M = a.prototype, + T = new a(1), + B = 20, + P = 4, + q = -7, + k = 21, + $ = -1e7, + G = 1e7, + z = !0, + V = F, + j = !1, + H = 1, + W = 0, + J = { + decimalSeparator: '.', + groupSeparator: ',', + groupSize: 3, + secondaryGroupSize: 0, + fractionGroupSeparator: ' ', + fractionGroupSize: 0 + }; + return ( + (a.another = n), + (a.ROUND_UP = 0), + (a.ROUND_DOWN = 1), + (a.ROUND_CEIL = 2), + (a.ROUND_FLOOR = 3), + (a.ROUND_HALF_UP = 4), + (a.ROUND_HALF_DOWN = 5), + (a.ROUND_HALF_EVEN = 6), + (a.ROUND_HALF_CEIL = 7), + (a.ROUND_HALF_FLOOR = 8), + (a.EUCLID = 9), + (a.config = a.set = function() { + var e, + n, + t = 0, + r = {}, + i = arguments, + s = i[0], + l = + s && 'object' == typeof s + ? function() { + return s.hasOwnProperty(n) ? null != (e = s[n]) : void 0; + } + : function() { + return i.length > t ? null != (e = i[t++]) : void 0; + }; + return ( + l((n = 'DECIMAL_PLACES')) && V(e, 0, S, 2, n) && (B = 0 | e), + (r[n] = B), + l((n = 'ROUNDING_MODE')) && V(e, 0, 8, 2, n) && (P = 0 | e), + (r[n] = P), + l((n = 'EXPONENTIAL_AT')) && + (u(e) + ? V(e[0], -S, 0, 2, n) && + V(e[1], 0, S, 2, n) && + ((q = 0 | e[0]), (k = 0 | e[1])) + : V(e, -S, S, 2, n) && (q = -(k = 0 | (0 > e ? -e : e)))), + (r[n] = [q, k]), + l((n = 'RANGE')) && + (u(e) + ? V(e[0], -S, -1, 2, n) && + V(e[1], 1, S, 2, n) && + (($ = 0 | e[0]), (G = 0 | e[1])) + : V(e, -S, S, 2, n) && + (0 | e + ? ($ = -(G = 0 | (0 > e ? -e : e))) + : z && x(2, n + ' cannot be zero', e))), + (r[n] = [$, G]), + l((n = 'ERRORS')) && + (e === !!e || 1 === e || 0 === e + ? ((C = 0), (V = (z = !!e) ? F : o)) + : z && x(2, n + d, e)), + (r[n] = z), + l((n = 'CRYPTO')) && + (e === !0 || e === !1 || 1 === e || 0 === e + ? e + ? ((e = 'undefined' == typeof crypto), + !e && + crypto && + (crypto.getRandomValues || crypto.randomBytes) + ? (j = !0) + : z + ? x(2, 'crypto unavailable', e ? void 0 : crypto) + : (j = !1)) + : (j = !1) + : z && x(2, n + d, e)), + (r[n] = j), + l((n = 'MODULO_MODE')) && V(e, 0, 9, 2, n) && (H = 0 | e), + (r[n] = H), + l((n = 'POW_PRECISION')) && V(e, 0, S, 2, n) && (W = 0 | e), + (r[n] = W), + l((n = 'FORMAT')) && + ('object' == typeof e + ? (J = e) + : z && x(2, n + ' not an object', e)), + (r[n] = J), + r + ); + }), + (a.max = function() { + return D(arguments, M.lt); + }), + (a.min = function() { + return D(arguments, M.gt); + }), + (a.random = (function() { + var e = 9007199254740992, + n = + (Math.random() * e) & 2097151 + ? function() { + return p(Math.random() * e); + } + : function() { + return ( + 8388608 * ((1073741824 * Math.random()) | 0) + + ((8388608 * Math.random()) | 0) + ); + }; + return function(e) { + var t, + r, + i, + o, + u, + s = 0, + l = [], + f = new a(T); + if ( + ((e = null != e && V(e, 0, S, 14) ? 0 | e : B), (o = g(e / b)), j) + ) + if (crypto.getRandomValues) { + for ( + t = crypto.getRandomValues(new Uint32Array((o *= 2))); + o > s; + + ) + (u = 131072 * t[s] + (t[s + 1] >>> 11)), + u >= 9e15 + ? ((r = crypto.getRandomValues(new Uint32Array(2))), + (t[s] = r[0]), + (t[s + 1] = r[1])) + : (l.push(u % 1e14), (s += 2)); + s = o / 2; + } else if (crypto.randomBytes) { + for (t = crypto.randomBytes((o *= 7)); o > s; ) + (u = + 281474976710656 * (31 & t[s]) + + 1099511627776 * t[s + 1] + + 4294967296 * t[s + 2] + + 16777216 * t[s + 3] + + (t[s + 4] << 16) + + (t[s + 5] << 8) + + t[s + 6]), + u >= 9e15 + ? crypto.randomBytes(7).copy(t, s) + : (l.push(u % 1e14), (s += 7)); + s = o / 7; + } else (j = !1), z && x(14, 'crypto unavailable', crypto); + if (!j) for (; o > s; ) (u = n()), 9e15 > u && (l[s++] = u % 1e14); + for ( + o = l[--s], + e %= b, + o && e && ((u = O[b - e]), (l[s] = p(o / u) * u)); + 0 === l[s]; + l.pop(), s-- + ); + if (0 > s) l = [(i = 0)]; + else { + for (i = -1; 0 === l[0]; l.shift(), i -= b); + for (s = 1, u = l[0]; u >= 10; u /= 10, s++); + b > s && (i -= b - s); + } + return (f.e = i), (f.c = l), f; + }; + })()), + (L = (function() { + function e(e, n, t) { + var r, + i, + o, + u, + s = 0, + l = e.length, + f = n % R, + c = (n / R) | 0; + for (e = e.slice(); l--; ) + (o = e[l] % R), + (u = (e[l] / R) | 0), + (r = c * o + u * f), + (i = f * o + (r % R) * R + s), + (s = ((i / t) | 0) + ((r / R) | 0) + c * u), + (e[l] = i % t); + return s && e.unshift(s), e; + } + function n(e, n, t, r) { + var i, o; + if (t != r) o = t > r ? 1 : -1; + else + for (i = o = 0; t > i; i++) + if (e[i] != n[i]) { + o = e[i] > n[i] ? 1 : -1; + break; + } + return o; + } + function r(e, n, t, r) { + for (var i = 0; t--; ) + (e[t] -= i), + (i = e[t] < n[t] ? 1 : 0), + (e[t] = i * r + e[t] - n[t]); + for (; !e[0] && e.length > 1; e.shift()); + } + return function(i, o, u, s, l) { + var f, + c, + h, + g, + d, + m, + w, + v, + y, + O, + R, + S, + A, + E, + D, + F, + _, + x = i.s == o.s ? 1 : -1, + L = i.c, + U = o.c; + if (!(L && L[0] && U && U[0])) + return new a( + i.s && o.s && (L ? !U || L[0] != U[0] : U) + ? (L && 0 == L[0]) || !U ? 0 * x : x / 0 + : NaN + ); + for ( + v = new a(x), + y = v.c = [], + c = i.e - o.e, + x = u + c + 1, + l || + ((l = N), (c = t(i.e / b) - t(o.e / b)), (x = (x / b) | 0)), + h = 0; + U[h] == (L[h] || 0); + h++ + ); + if ((U[h] > (L[h] || 0) && c--, 0 > x)) y.push(1), (g = !0); + else { + for ( + E = L.length, + F = U.length, + h = 0, + x += 2, + d = p(l / (U[0] + 1)), + d > 1 && + ((U = e(U, d, l)), + (L = e(L, d, l)), + (F = U.length), + (E = L.length)), + A = F, + O = L.slice(0, F), + R = O.length; + F > R; + O[R++] = 0 + ); + (_ = U.slice()), _.unshift(0), (D = U[0]), U[1] >= l / 2 && D++; + do { + if (((d = 0), (f = n(U, O, F, R)), 0 > f)) { + if ( + ((S = O[0]), + F != R && (S = S * l + (O[1] || 0)), + (d = p(S / D)), + d > 1) + ) + for ( + d >= l && (d = l - 1), + m = e(U, d, l), + w = m.length, + R = O.length; + 1 == n(m, O, w, R); + + ) + d--, r(m, w > F ? _ : U, w, l), (w = m.length), (f = 1); + else 0 == d && (f = d = 1), (m = U.slice()), (w = m.length); + if ( + (R > w && m.unshift(0), + r(O, m, R, l), + (R = O.length), + -1 == f) + ) + for (; n(U, O, F, R) < 1; ) + d++, r(O, R > F ? _ : U, R, l), (R = O.length); + } else 0 === f && (d++, (O = [0])); + (y[h++] = d), + O[0] ? (O[R++] = L[A] || 0) : ((O = [L[A]]), (R = 1)); + } while ((A++ < E || null != O[0]) && x--); + (g = null != O[0]), y[0] || y.shift(); + } + if (l == N) { + for (h = 1, x = y[0]; x >= 10; x /= 10, h++); + I(v, u + (v.e = h + c * b - 1) + 1, s, g); + } else (v.e = c), (v.r = +g); + return v; + }; + })()), + (U = (function() { + var e = /^(-?)0([xbo])(?=\w[\w.]*$)/i, + n = /^([^.]+)\.$/, + t = /^\.([^.]+)$/, + r = /^-?(Infinity|NaN)$/, + i = /^\s*\+(?=[\w.])|^\s+|\s+$/g; + return function(o, u, s, l) { + var f, + c = s ? u : u.replace(i, ''); + if (r.test(c)) o.s = isNaN(c) ? null : 0 > c ? -1 : 1; + else { + if ( + !s && + ((c = c.replace(e, function(e, n, t) { + return ( + (f = 'x' == (t = t.toLowerCase()) ? 16 : 'b' == t ? 2 : 8), + l && l != f ? e : n + ); + })), + l && ((f = l), (c = c.replace(n, '$1').replace(t, '0.$1'))), + u != c) + ) + return new a(c, f); + z && x(C, 'not a' + (l ? ' base ' + l : '') + ' number', u), + (o.s = null); + } + (o.c = o.e = null), (C = 0); + }; + })()), + (M.absoluteValue = M.abs = function() { + var e = new a(this); + return e.s < 0 && (e.s = 1), e; + }), + (M.ceil = function() { + return I(new a(this), this.e + 1, 2); + }), + (M.comparedTo = M.cmp = function(e, n) { + return (C = 1), i(this, new a(e, n)); + }), + (M.decimalPlaces = M.dp = function() { + var e, + n, + r = this.c; + if (!r) return null; + if (((e = ((n = r.length - 1) - t(this.e / b)) * b), (n = r[n]))) + for (; n % 10 == 0; n /= 10, e--); + return 0 > e && (e = 0), e; + }), + (M.dividedBy = M.div = function(e, n) { + return (C = 3), L(this, new a(e, n), B, P); + }), + (M.dividedToIntegerBy = M.divToInt = function(e, n) { + return (C = 4), L(this, new a(e, n), 0, 1); + }), + (M.equals = M.eq = function(e, n) { + return (C = 5), 0 === i(this, new a(e, n)); + }), + (M.floor = function() { + return I(new a(this), this.e + 1, 3); + }), + (M.greaterThan = M.gt = function(e, n) { + return (C = 6), i(this, new a(e, n)) > 0; + }), + (M.greaterThanOrEqualTo = M.gte = function(e, n) { + return (C = 7), 1 === (n = i(this, new a(e, n))) || 0 === n; + }), + (M.isFinite = function() { + return !!this.c; + }), + (M.isInteger = M.isInt = function() { + return !!this.c && t(this.e / b) > this.c.length - 2; + }), + (M.isNaN = function() { + return !this.s; + }), + (M.isNegative = M.isNeg = function() { + return this.s < 0; + }), + (M.isZero = function() { + return !!this.c && 0 == this.c[0]; + }), + (M.lessThan = M.lt = function(e, n) { + return (C = 8), i(this, new a(e, n)) < 0; + }), + (M.lessThanOrEqualTo = M.lte = function(e, n) { + return (C = 9), -1 === (n = i(this, new a(e, n))) || 0 === n; + }), + (M.minus = M.sub = function(e, n) { + var r, + i, + o, + u, + s = this, + l = s.s; + if (((C = 10), (e = new a(e, n)), (n = e.s), !l || !n)) + return new a(NaN); + if (l != n) return (e.s = -n), s.plus(e); + var f = s.e / b, + c = e.e / b, + h = s.c, + g = e.c; + if (!f || !c) { + if (!h || !g) return h ? ((e.s = -n), e) : new a(g ? s : NaN); + if (!h[0] || !g[0]) + return g[0] ? ((e.s = -n), e) : new a(h[0] ? s : 3 == P ? -0 : 0); + } + if (((f = t(f)), (c = t(c)), (h = h.slice()), (l = f - c))) { + for ( + (u = 0 > l) ? ((l = -l), (o = h)) : ((c = f), (o = g)), + o.reverse(), + n = l; + n--; + o.push(0) + ); + o.reverse(); + } else + for ( + i = (u = (l = h.length) < (n = g.length)) ? l : n, l = n = 0; + i > n; + n++ + ) + if (h[n] != g[n]) { + u = h[n] < g[n]; + break; + } + if ( + (u && ((o = h), (h = g), (g = o), (e.s = -e.s)), + (n = (i = g.length) - (r = h.length)), + n > 0) + ) + for (; n--; h[r++] = 0); + for (n = N - 1; i > l; ) { + if (h[--i] < g[i]) { + for (r = i; r && !h[--r]; h[r] = n); + --h[r], (h[i] += N); + } + h[i] -= g[i]; + } + for (; 0 == h[0]; h.shift(), --c); + return h[0] + ? _(e, h, c) + : ((e.s = 3 == P ? -1 : 1), (e.c = [(e.e = 0)]), e); + }), + (M.modulo = M.mod = function(e, n) { + var t, + r, + i = this; + return ( + (C = 11), + (e = new a(e, n)), + !i.c || !e.s || (e.c && !e.c[0]) + ? new a(NaN) + : !e.c || (i.c && !i.c[0]) + ? new a(i) + : (9 == H + ? ((r = e.s), + (e.s = 1), + (t = L(i, e, 0, 3)), + (e.s = r), + (t.s *= r)) + : (t = L(i, e, 0, H)), + i.minus(t.times(e))) + ); + }), + (M.negated = M.neg = function() { + var e = new a(this); + return (e.s = -e.s || null), e; + }), + (M.plus = M.add = function(e, n) { + var r, + i = this, + o = i.s; + if (((C = 12), (e = new a(e, n)), (n = e.s), !o || !n)) + return new a(NaN); + if (o != n) return (e.s = -n), i.minus(e); + var u = i.e / b, + s = e.e / b, + l = i.c, + f = e.c; + if (!u || !s) { + if (!l || !f) return new a(o / 0); + if (!l[0] || !f[0]) return f[0] ? e : new a(l[0] ? i : 0 * o); + } + if (((u = t(u)), (s = t(s)), (l = l.slice()), (o = u - s))) { + for ( + o > 0 ? ((s = u), (r = f)) : ((o = -o), (r = l)), r.reverse(); + o--; + r.push(0) + ); + r.reverse(); + } + for ( + o = l.length, + n = f.length, + 0 > o - n && ((r = f), (f = l), (l = r), (n = o)), + o = 0; + n; + + ) + (o = ((l[--n] = l[n] + f[n] + o) / N) | 0), + (l[n] = N === l[n] ? 0 : l[n] % N); + return o && (l.unshift(o), ++s), _(e, l, s); + }), + (M.precision = M.sd = function(e) { + var n, + t, + r = this, + i = r.c; + if ( + (null != e && + e !== !!e && + 1 !== e && + 0 !== e && + (z && x(13, 'argument' + d, e), e != !!e && (e = null)), + !i) + ) + return null; + if (((t = i.length - 1), (n = t * b + 1), (t = i[t]))) { + for (; t % 10 == 0; t /= 10, n--); + for (t = i[0]; t >= 10; t /= 10, n++); + } + return e && r.e + 1 > n && (n = r.e + 1), n; + }), + (M.round = function(e, n) { + var t = new a(this); + return ( + (null == e || V(e, 0, S, 15)) && + I( + t, + ~~e + this.e + 1, + null != n && V(n, 0, 8, 15, m) ? 0 | n : P + ), + t + ); + }), + (M.shift = function(e) { + var n = this; + return V(e, -y, y, 16, 'argument') + ? n.times('1e' + c(e)) + : new a( + n.c && n.c[0] && (-y > e || e > y) + ? n.s * (0 > e ? 0 : 1 / 0) + : n + ); + }), + (M.squareRoot = M.sqrt = function() { + var e, + n, + i, + o, + u, + s = this, + l = s.c, + f = s.s, + c = s.e, + h = B + 4, + g = new a('0.5'); + if (1 !== f || !l || !l[0]) + return new a(!f || (0 > f && (!l || l[0])) ? NaN : l ? s : 1 / 0); + if ( + ((f = Math.sqrt(+s)), + 0 == f || f == 1 / 0 + ? ((n = r(l)), + (n.length + c) % 2 == 0 && (n += '0'), + (f = Math.sqrt(n)), + (c = t((c + 1) / 2) - (0 > c || c % 2)), + f == 1 / 0 + ? (n = '1e' + c) + : ((n = f.toExponential()), + (n = n.slice(0, n.indexOf('e') + 1) + c)), + (i = new a(n))) + : (i = new a(f + '')), + i.c[0]) + ) + for (c = i.e, f = c + h, 3 > f && (f = 0); ; ) + if ( + ((u = i), + (i = g.times(u.plus(L(s, u, h, 1)))), + r(u.c).slice(0, f) === (n = r(i.c)).slice(0, f)) + ) { + if ( + (i.e < c && --f, + (n = n.slice(f - 3, f + 1)), + '9999' != n && (o || '4999' != n)) + ) { + (!+n || (!+n.slice(1) && '5' == n.charAt(0))) && + (I(i, i.e + B + 2, 1), (e = !i.times(i).eq(s))); + break; + } + if (!o && (I(u, u.e + B + 2, 0), u.times(u).eq(s))) { + i = u; + break; + } + (h += 4), (f += 4), (o = 1); + } + return I(i, i.e + B + 1, P, e); + }), + (M.times = M.mul = function(e, n) { + var r, + i, + o, + u, + s, + l, + f, + c, + h, + g, + p, + d, + m, + w, + v, + y = this, + O = y.c, + S = ((C = 17), (e = new a(e, n))).c; + if (!(O && S && O[0] && S[0])) + return ( + !y.s || !e.s || (O && !O[0] && !S) || (S && !S[0] && !O) + ? (e.c = e.e = e.s = null) + : ((e.s *= y.s), + O && S ? ((e.c = [0]), (e.e = 0)) : (e.c = e.e = null)), + e + ); + for ( + i = t(y.e / b) + t(e.e / b), + e.s *= y.s, + f = O.length, + g = S.length, + g > f && ((m = O), (O = S), (S = m), (o = f), (f = g), (g = o)), + o = f + g, + m = []; + o--; + m.push(0) + ); + for (w = N, v = R, o = g; --o >= 0; ) { + for ( + r = 0, p = S[o] % v, d = (S[o] / v) | 0, s = f, u = o + s; + u > o; + + ) + (c = O[--s] % v), + (h = (O[s] / v) | 0), + (l = d * c + h * p), + (c = p * c + (l % v) * v + m[u] + r), + (r = ((c / w) | 0) + ((l / v) | 0) + d * h), + (m[u--] = c % w); + m[u] = r; + } + return r ? ++i : m.shift(), _(e, m, i); + }), + (M.toDigits = function(e, n) { + var t = new a(this); + return ( + (e = null != e && V(e, 1, S, 18, 'precision') ? 0 | e : null), + (n = null != n && V(n, 0, 8, 18, m) ? 0 | n : P), + e ? I(t, e, n) : t + ); + }), + (M.toExponential = function(e, n) { + return E(this, null != e && V(e, 0, S, 19) ? ~~e + 1 : null, n, 19); + }), + (M.toFixed = function(e, n) { + return E( + this, + null != e && V(e, 0, S, 20) ? ~~e + this.e + 1 : null, + n, + 20 + ); + }), + (M.toFormat = function(e, n) { + var t = E( + this, + null != e && V(e, 0, S, 21) ? ~~e + this.e + 1 : null, + n, + 21 + ); + if (this.c) { + var r, + i = t.split('.'), + o = +J.groupSize, + u = +J.secondaryGroupSize, + s = J.groupSeparator, + l = i[0], + f = i[1], + c = this.s < 0, + a = c ? l.slice(1) : l, + h = a.length; + if ((u && ((r = o), (o = u), (u = r), (h -= r)), o > 0 && h > 0)) { + for (r = h % o || o, l = a.substr(0, r); h > r; r += o) + l += s + a.substr(r, o); + u > 0 && (l += s + a.slice(r)), c && (l = '-' + l); + } + t = f + ? l + + J.decimalSeparator + + ((u = +J.fractionGroupSize) + ? f.replace( + new RegExp('\\d{' + u + '}\\B', 'g'), + '$&' + J.fractionGroupSeparator + ) + : f) + : l; + } + return t; + }), + (M.toFraction = function(e) { + var n, + t, + i, + o, + u, + s, + l, + f, + c, + h = z, + g = this, + p = g.c, + d = new a(T), + m = (t = new a(T)), + w = (l = new a(T)); + if ( + (null != e && + ((z = !1), + (s = new a(e)), + (z = h), + (!(h = s.isInt()) || s.lt(T)) && + (z && + x( + 22, + 'max denominator ' + + (h ? 'out of range' : 'not an integer'), + e + ), + (e = !h && s.c && I(s, s.e + 1, 1).gte(T) ? s : null))), + !p) + ) + return g.toString(); + for ( + c = r(p), + o = d.e = c.length - g.e - 1, + d.c[0] = O[(u = o % b) < 0 ? b + u : u], + e = !e || s.cmp(d) > 0 ? (o > 0 ? d : m) : s, + u = G, + G = 1 / 0, + s = new a(c), + l.c[0] = 0; + (f = L(s, d, 0, 1)), (i = t.plus(f.times(w))), 1 != i.cmp(e); + + ) + (t = w), + (w = i), + (m = l.plus(f.times((i = m)))), + (l = i), + (d = s.minus(f.times((i = d)))), + (s = i); + return ( + (i = L(e.minus(t), w, 0, 1)), + (l = l.plus(i.times(m))), + (t = t.plus(i.times(w))), + (l.s = m.s = g.s), + (o *= 2), + (n = + L(m, w, o, P) + .minus(g) + .abs() + .cmp( + L(l, t, o, P) + .minus(g) + .abs() + ) < 1 + ? [m.toString(), w.toString()] + : [l.toString(), t.toString()]), + (G = u), + n + ); + }), + (M.toNumber = function() { + return +this; + }), + (M.toPower = M.pow = function(e, n) { + var t, + r, + i, + o = p(0 > e ? -e : +e), + u = this; + if ( + (null != n && ((C = 23), (n = new a(n))), + (!V(e, -y, y, 23, 'exponent') && + (!isFinite(e) || + (o > y && (e /= 0)) || + (parseFloat(e) != e && !(e = NaN)))) || + 0 == e) + ) + return (t = Math.pow(+u, e)), new a(n ? t % n : t); + for ( + n + ? e > 1 && u.gt(T) && u.isInt() && n.gt(T) && n.isInt() + ? (u = u.mod(n)) + : ((i = n), (n = null)) + : W && (t = g(W / b + 2)), + r = new a(T); + ; + + ) { + if (o % 2) { + if (((r = r.times(u)), !r.c)) break; + t ? r.c.length > t && (r.c.length = t) : n && (r = r.mod(n)); + } + if (((o = p(o / 2)), !o)) break; + (u = u.times(u)), + t + ? u.c && u.c.length > t && (u.c.length = t) + : n && (u = u.mod(n)); + } + return n + ? r + : (0 > e && (r = T.div(r)), i ? r.mod(i) : t ? I(r, W, P) : r); + }), + (M.toPrecision = function(e, n) { + return E( + this, + null != e && V(e, 1, S, 24, 'precision') ? 0 | e : null, + n, + 24 + ); + }), + (M.toString = function(e) { + var n, + t = this, + i = t.s, + o = t.e; + return ( + null === o + ? i ? ((n = 'Infinity'), 0 > i && (n = '-' + n)) : (n = 'NaN') + : ((n = r(t.c)), + (n = + null != e && V(e, 2, 64, 25, 'base') + ? A(f(n, o), 0 | e, 10, i) + : q >= o || o >= k ? l(n, o) : f(n, o)), + 0 > i && t.c[0] && (n = '-' + n)), + n + ); + }), + (M.truncated = M.trunc = function() { + return I(new a(this), this.e + 1, 1); + }), + (M.valueOf = M.toJSON = function() { + var e, + n = this, + t = n.e; + return null === t + ? n.toString() + : ((e = r(n.c)), + (e = q >= t || t >= k ? l(e, t) : f(e, t)), + n.s < 0 ? '-' + e : e); + }), + (M.isBigNumber = !0), + null != e && a.config(e), + a + ); + } + function t(e) { + var n = 0 | e; + return e > 0 || e === n ? n : n - 1; + } + function r(e) { + for (var n, t, r = 1, i = e.length, o = e[0] + ''; i > r; ) { + for (n = e[r++] + '', t = b - n.length; t--; n = '0' + n); + o += n; + } + for (i = o.length; 48 === o.charCodeAt(--i); ); + return o.slice(0, i + 1 || 1); + } + function i(e, n) { + var t, + r, + i = e.c, + o = n.c, + u = e.s, + s = n.s, + l = e.e, + f = n.e; + if (!u || !s) return null; + if (((t = i && !i[0]), (r = o && !o[0]), t || r)) + return t ? (r ? 0 : -s) : u; + if (u != s) return u; + if (((t = 0 > u), (r = l == f), !i || !o)) return r ? 0 : !i ^ t ? 1 : -1; + if (!r) return (l > f) ^ t ? 1 : -1; + for (s = (l = i.length) < (f = o.length) ? l : f, u = 0; s > u; u++) + if (i[u] != o[u]) return (i[u] > o[u]) ^ t ? 1 : -1; + return l == f ? 0 : (l > f) ^ t ? 1 : -1; + } + function o(e, n, t) { + return (e = c(e)) >= n && t >= e; + } + function u(e) { + return '[object Array]' == Object.prototype.toString.call(e); + } + function s(e, n, t) { + for (var r, i, o = [0], u = 0, s = e.length; s > u; ) { + for (i = o.length; i--; o[i] *= n); + for (o[(r = 0)] += v.indexOf(e.charAt(u++)); r < o.length; r++) + o[r] > t - 1 && + (null == o[r + 1] && (o[r + 1] = 0), + (o[r + 1] += (o[r] / t) | 0), + (o[r] %= t)); + } + return o.reverse(); + } + function l(e, n) { + return ( + (e.length > 1 ? e.charAt(0) + '.' + e.slice(1) : e) + + (0 > n ? 'e' : 'e+') + + n + ); + } + function f(e, n) { + var t, r; + if (0 > n) { + for (r = '0.'; ++n; r += '0'); + e = r + e; + } else if (((t = e.length), ++n > t)) { + for (r = '0', n -= t; --n; r += '0'); + e += r; + } else t > n && (e = e.slice(0, n) + '.' + e.slice(n)); + return e; + } + function c(e) { + return (e = parseFloat(e)), 0 > e ? g(e) : p(e); + } + var a, + h = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, + g = Math.ceil, + p = Math.floor, + d = ' not a boolean or binary digit', + m = 'rounding mode', + w = 'number type has more than 15 significant digits', + v = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_', + N = 1e14, + b = 14, + y = 9007199254740991, + O = [ + 1, + 10, + 100, + 1e3, + 1e4, + 1e5, + 1e6, + 1e7, + 1e8, + 1e9, + 1e10, + 1e11, + 1e12, + 1e13 + ], + R = 1e7, + S = 1e9; + (a = n()), + (a['default'] = a.BigNumber = a), + 'function' == typeof define && define.amd + ? define(function() { + return a; + }) + : 'undefined' != typeof module && module.exports + ? (module.exports = a) + : (e || + (e = + 'undefined' != typeof self ? self : Function('return this')()), + (e.BigNumber = a)); + })(this); + //# sourceMappingURL=bignumber.js.map + + window.BigNumber = BigNumber; +})(); diff --git a/modules/preloader/injected/EthereumProvider.js b/modules/preloader/injected/EthereumProvider.js new file mode 100644 index 0000000..c359a8a --- /dev/null +++ b/modules/preloader/injected/EthereumProvider.js @@ -0,0 +1,191 @@ +(function() { + var EventEmitter = window.EventEmitter; + + var postMessage = function(payload) { + if (typeof payload === 'object') { + payload = JSON.stringify(payload); + } + + window.postMessage( + payload, + !location.origin || location.origin === 'null' ? '*' : location.origin + ); + }; + + // on events are: "connect", "data", "error", "end", "timeout" + // "data" will get notifications + + function EthereumProvider() { + var _this = this; + // Call constructor of superclass to initialize superclass-derived members. + EventEmitter.call(this); + + this.responseCallbacks = {}; + + // fire the connect + this._connect(); + this._reconnectCheck(); + + // Wait for response messages + window.addEventListener('message', function(event) { + var data; + try { + data = JSON.parse(event.data); + } catch (e) { + data = event.data; + } + + if ( + typeof data !== 'object' || + (data.message && + (!Object.prototype.hasOwnProperty.call(data.message, 'jsonrpc') && + !Object.prototype.hasOwnProperty.call(data.message[0], 'jsonrpc'))) + ) { + return; + } + + if (data.type === 'data') { + var id = null; + var result = data.message; + + // get the id which matches the returned id + if ( + typeof result === 'object' && + result.forEach && + isFinite(result.length) + ) { + result.forEach(function(load) { + if (_this.responseCallbacks[load.id]) id = load.id; + }); + } else { + id = result.id; + } + + // notification + if ( + !id && + result.method && + result.method.indexOf('_subscription') !== -1 + ) { + // _this.listeners('data').forEach(function(callback){ + // if(typeof callback === 'function') + // callback(null, result); + // }); + _this.emit('data', result); + + // fire the callback + } else if (_this.responseCallbacks[id]) { + _this.responseCallbacks[id](null, result); + delete _this.responseCallbacks[id]; + } + + // make all other events listenable + } else if (data.type) { + // _this.listeners(data.type).forEach(function(callback){ + // if(typeof callback === 'function') + // callback(null, data.message); + // }); + // TODO check if secure + _this.emit('data.type', data.message); + } + }); + } + + EthereumProvider.prototype = Object.create(EventEmitter.prototype); + EthereumProvider.prototype.constructor = EthereumProvider; + + /** + Get the adds a callback to the responseCallbacks object, + which will be called if a response matching the response Id will arrive. + + @method _addResponseCallback + */ + EthereumProvider.prototype._addResponseCallback = function( + payload, + callback + ) { + var id = payload.id || payload[0].id; + var method = payload.method || payload[0].method; + + if (typeof callback !== 'function') { + throw new Error( + 'No callback given, sync calls are not possible anymore in Mist. Please use only async calls.' + ); + } + + this.responseCallbacks[id] = callback; + this.responseCallbacks[id].method = method; + }; + + /** + Will watch for connection drops and tries to reconnect. + + @method _reconnectCheck + */ + EthereumProvider.prototype._reconnectCheck = function() { + var _this = this; + var reconnectIntervalId; + + this.on('end', function() { + reconnectIntervalId = setInterval(function() { + _this._connect(); + }, 500); + }); + + this.on('connect', function() { + clearInterval(reconnectIntervalId); + }); + }; + + /** + Will try to make a connection + + @method connect + */ + EthereumProvider.prototype._connect = function(payload, callback) { + postMessage({ + type: 'create' + }); + }; + + /** + Sends the request + + @method send + @param {Object} payload example: {id: 1, jsonrpc: '2.0', 'method': 'eth_someMethod', params: []} + @param {Function} callback the callback to call + */ + // TODO transform to: send(method, params, callback) + EthereumProvider.prototype.send = function send(payload, callback) { + this._addResponseCallback(payload, callback); + postMessage( + { + type: 'write', + message: payload + }, + this.origin + ); + }; + + delete window.EventEmitter; + // TODO set real ethereum provider + // window.ethereum = new EthereumProvider(); + + // For backwards compatibility of web3.currentProvider; + EthereumProvider.prototype.sendSync = function() { + return { + jsonrpc: '2.0', + error: { + code: -32603, + message: 'Sync calls are not anymore supported in Mist :\\' + } + }; + }; + EthereumProvider.prototype.sendAsync = EthereumProvider.prototype.send; + EthereumProvider.prototype.isConnected = function() { + return true; + }; + window.web3 = { + currentProvider: new EthereumProvider() + }; +})(); diff --git a/modules/preloader/injected/EventEmitter3.js b/modules/preloader/injected/EventEmitter3.js new file mode 100644 index 0000000..d488300 --- /dev/null +++ b/modules/preloader/injected/EventEmitter3.js @@ -0,0 +1,340 @@ +(function() { + 'use strict'; + + var has = Object.prototype.hasOwnProperty, + prefix = '~'; + + /** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @api private + */ + function Events() {} + + // + // We try to not inherit from `Object.prototype`. In some engines creating an + // instance in this way is faster than calling `Object.create(null)` directly. + // If `Object.create(null)` is not supported we prefix the event names with a + // character to make sure that the built-in object properties are not + // overridden or used as an attack vector. + // + if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; + } + + /** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {Mixed} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @api private + */ + function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; + } + + /** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @api public + */ + function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; + } + + /** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @api public + */ + EventEmitter.prototype.eventNames = function eventNames() { + var names = [], + events, + name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; + }; + + /** + * Return the listeners registered for a given event. + * + * @param {String|Symbol} event The event name. + * @param {Boolean} exists Only check if there are listeners. + * @returns {Array|Boolean} + * @api public + */ + EventEmitter.prototype.listeners = function listeners(event, exists) { + var evt = prefix ? prefix + event : event, + available = this._events[evt]; + + if (exists) return !!available; + if (!available) return []; + if (available.fn) return [available.fn]; + + for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) { + ee[i] = available[i].fn; + } + + return ee; + }; + + /** + * Calls each of the listeners registered for a given event. + * + * @param {String|Symbol} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @api public + */ + EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt], + len = arguments.length, + args, + i; + + if (listeners.fn) { + if (listeners.once) + this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: + return listeners.fn.call(listeners.context), true; + case 2: + return listeners.fn.call(listeners.context, a1), true; + case 3: + return listeners.fn.call(listeners.context, a1, a2), true; + case 4: + return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: + return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: + return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len - 1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length, + j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) + this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: + listeners[i].fn.call(listeners[i].context); + break; + case 2: + listeners[i].fn.call(listeners[i].context, a1); + break; + case 3: + listeners[i].fn.call(listeners[i].context, a1, a2); + break; + case 4: + listeners[i].fn.call(listeners[i].context, a1, a2, a3); + break; + default: + if (!args) + for (j = 1, args = new Array(len - 1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; + }; + + /** + * Add a listener for a given event. + * + * @param {String|Symbol} event The event name. + * @param {Function} fn The listener function. + * @param {Mixed} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @api public + */ + EventEmitter.prototype.on = function on(event, fn, context) { + var listener = new EE(fn, context || this), + evt = prefix ? prefix + event : event; + + if (!this._events[evt]) (this._events[evt] = listener), this._eventsCount++; + else if (!this._events[evt].fn) this._events[evt].push(listener); + else this._events[evt] = [this._events[evt], listener]; + + return this; + }; + + /** + * Add a one-time listener for a given event. + * + * @param {String|Symbol} event The event name. + * @param {Function} fn The listener function. + * @param {Mixed} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @api public + */ + EventEmitter.prototype.once = function once(event, fn, context) { + var listener = new EE(fn, context || this, true), + evt = prefix ? prefix + event : event; + + if (!this._events[evt]) (this._events[evt] = listener), this._eventsCount++; + else if (!this._events[evt].fn) this._events[evt].push(listener); + else this._events[evt] = [this._events[evt], listener]; + + return this; + }; + + /** + * Remove the listeners of a given event. + * + * @param {String|Symbol} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {Mixed} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @api public + */ + EventEmitter.prototype.removeListener = function removeListener( + event, + fn, + context, + once + ) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + if (--this._eventsCount === 0) this._events = new Events(); + else delete this._events[evt]; + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + if (--this._eventsCount === 0) this._events = new Events(); + else delete this._events[evt]; + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) + this._events[evt] = events.length === 1 ? events[0] : events; + else if (--this._eventsCount === 0) this._events = new Events(); + else delete this._events[evt]; + } + + return this; + }; + + /** + * Remove all listeners, or those of the specified event. + * + * @param {String|Symbol} [event] The event name. + * @returns {EventEmitter} `this`. + * @api public + */ + EventEmitter.prototype.removeAllListeners = function removeAllListeners( + event + ) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) { + if (--this._eventsCount === 0) this._events = new Events(); + else delete this._events[evt]; + } + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; + }; + + // + // Alias methods names because people roll like that. + // + EventEmitter.prototype.off = EventEmitter.prototype.removeListener; + EventEmitter.prototype.addListener = EventEmitter.prototype.on; + + // + // This function doesn't apply anymore. + // + EventEmitter.prototype.setMaxListeners = function setMaxListeners() { + return this; + }; + + // + // Expose the prefix. + // + EventEmitter.prefixed = prefix; + + // + // Allow `EventEmitter` to be imported as module namespace. + // + EventEmitter.EventEmitter = EventEmitter; + + // + // Expose the module. + // + if ('undefined' !== typeof module) { + module.exports = EventEmitter; + } + + window.EventEmitter = EventEmitter; +})(); diff --git a/modules/preloader/injected/mistAPI.js b/modules/preloader/injected/mistAPI.js new file mode 100644 index 0000000..bdd8422 --- /dev/null +++ b/modules/preloader/injected/mistAPI.js @@ -0,0 +1,279 @@ +/** + @module MistAPI + */ + +(function() { + 'use strict'; + + var postMessage = function(payload) { + if (typeof payload === 'object') { + payload = JSON.stringify(payload); + } + + window.postMessage( + payload, + !location.origin || location.origin === 'null' ? '*' : location.origin + ); + }; + + var queue = []; + + const prefix = 'entry_'; + const MIST_SUBMENU_LIMIT = 100; + + // todo: error handling + const filterAdd = function(options) { + if (!(options instanceof Object)) { + return false; + } + + return ['name'].every(e => e in options); + }; + + // filterId the id to only contain a-z A-Z 0-9 + const filterId = function(str) { + const filteredStr = String(str); + let newStr = ''; + if (filteredStr) { + for (let i = 0; i < filteredStr.length; i += 1) { + if (/[a-zA-Z0-9_-]/.test(filteredStr.charAt(i))) { + newStr += filteredStr.charAt(i); + } + } + } + return newStr; + }; + + /** + Mist API + + Provides an API for all dapps, which specifically targets features from the Mist browser + + @class mist + @constructor + */ + const mist = { + callbacks: {}, + version: '__version__', + license: '__license__', + platform: '__platform__', + requestAccount(callback) { + if (callback) { + if (!this.callbacks.connectAccount) { + this.callbacks.connectAccount = []; + } + this.callbacks.connectAccount.push(callback); + } + + postMessage({ + type: 'mistAPI_requestAccount' + }); + }, + solidity: { + version: '__solidityVersion__' + }, + sounds: { + bip: function playSound() { + postMessage({ + type: 'mistAPI_sound', + message: 'bip' + }); + }, + bloop: function playSound() { + postMessage({ + type: 'mistAPI_sound', + message: 'bloop' + }); + }, + invite: function playSound() { + postMessage({ + type: 'mistAPI_sound', + message: 'invite' + }); + } + }, + menu: { + entries: {}, + /** + Sets the badge text for the apps menu button + + Example + + mist.menu.setBadge('Some Text') + + @method setBadge + @param {String} text + */ + setBadge(text) { + postMessage({ + type: 'mistAPI_setBadge', + message: text + }); + }, + /** + Adds/Updates a menu entry + + Example + + mist.menu.add('tkrzU', { + name: 'My Meny Entry', + badge: 50, + position: 1, + selected: true + }, function(){ + // Router.go('/chat/1245'); + }) + + @method add + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + add(id, options, callback) { + const args = Array.prototype.slice.call(arguments); + callback = + typeof args[args.length - 1] === 'function' ? args.pop() : null; + options = typeof args[args.length - 1] === 'object' ? args.pop() : null; + id = + typeof args[args.length - 1] === 'string' || + isFinite(args[args.length - 1]) + ? args.pop() + : null; + + if (!filterAdd(options)) { + return false; + } + + const filteredId = prefix + filterId(id); + + // restricting to 100 menu entries + if ( + !(filteredId in this.entries) && + Object.keys(this.entries).length >= MIST_SUBMENU_LIMIT + ) { + return false; + } + + const entry = { + id: filteredId || 'mist_defaultId', + position: options.position, + selected: !!options.selected, + name: options.name, + badge: options.badge + }; + + queue.push({ + action: 'addMenu', + entry + }); + + if (callback) { + entry.callback = callback; + } + + this.entries[filteredId] = entry; + return true; + }, + /** + Updates a menu entry from the mist sidebar. + + @method update + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + update() { + this.add.apply(this, arguments); + }, + /** + Removes a menu entry from the mist sidebar. + + @method remove + @param {String} id + @param {String} id The id of the menu, has to be the same accross page reloads. + @param {Object} options The menu options like {badge: 23, name: 'My Entry'} + @param {Function} callback Change the callback to be called when the menu is pressed. + */ + remove(id) { + const filteredId = prefix + filterId(id); + + delete this.entries[filteredId]; + + queue.push({ + action: 'removeMenu', + filteredId + }); + }, + /** + Marks a menu entry as selected + + @method select + @param {String} id + */ + select(id) { + const filteredId = prefix + filterId(id); + queue.push({ action: 'selectMenu', id: filteredId }); + + for (const e in this.entries) { + if ({}.hasOwnProperty.call(this.entries, e)) { + this.entries[e].selected = e === filteredId; + } + } + }, + /** + Removes all menu entries. + + @method clear + */ + clear() { + this.entries = {}; + queue.push({ action: 'clearMenu' }); + } + } + }; + + // Wait for response messages + window.addEventListener('message', function(event) { + var data; + try { + data = JSON.parse(event.data); + } catch (e) { + data = event.data; + } + + if (typeof data !== 'object') { + return; + } + + if (data.type === 'mistAPI_callMenuFunction') { + var id = data.message; + + if (mist.menu.entries[id] && mist.menu.entries[id].callback) { + mist.menu.entries[id].callback(); + } + } else if (data.type === 'uiAction_windowMessage') { + var params = data.message; + + if (mist.callbacks[params.type]) { + mist.callbacks[params.type].forEach(function(cb) { + cb(params.error, params.value); + }); + delete mist.callbacks[params.type]; + } + } + }); + + // work up queue every 500ms + setInterval(function() { + if (queue.length > 0) { + postMessage({ + type: 'mistAPI_menuChanges', + message: queue + }); + + queue = []; + } + }, 500); + + window.mist = mist; +})(); diff --git a/modules/preloader/mistUI.js b/modules/preloader/mistUI.js new file mode 100644 index 0000000..b1fdc44 --- /dev/null +++ b/modules/preloader/mistUI.js @@ -0,0 +1,195 @@ +/** +@module preloader MistUI +*/ + +// Initialise the Redux store +window.store = require('./rendererStore'); + +require('./include/common')('mist'); +require('./include/web3CurrentProvider.js'); +const { ipcRenderer, remote, webFrame } = require('electron'); // eslint-disable-line import/newline-after-import +const { Menu, MenuItem } = remote; +const dbSync = require('../dbSync.js'); +const i18n = require('../i18n.js'); +const mist = require('./include/mistAPI.js'); +const web3Admin = require('../web3Admin.js'); + +require('./include/setBasePath')('interface'); + +// add admin later +setTimeout(() => { + web3Admin.extend(window.web3); +}, 1000); + +window.mist = mist(); +window.mistMode = remote.getGlobal('mode'); +window.dbSync = dbSync; +window.dirname = remote.getGlobal('dirname'); +window.ipc = ipcRenderer; + +// remove require and module, because node-integration is on +delete window.module; +delete window.require; + +// prevent overwriting the Dapps Web3 +// delete global.Web3; +// delete window.Web3; + +// set the langauge for the electron interface +// ipcRenderer.send('setLanguage', navigator.language.substr(0,2)); + +// A message coming from other window, to be passed to a webview +ipcRenderer.on('uiAction_windowMessage', (e, type, id, error, value) => { + if (type === 'requestAccount' || (type === 'connectAccount' && !error)) { + Tabs.update( + { webviewId: id }, + { $addToSet: { 'permissions.accounts': value } } + ); + } + + // forward to the webview (TODO: remove and manage in the ipcCommunicator?) + const tab = Tabs.findOne({ webviewId: id }); + if (tab) { + webview = $(`webview[data-id=${tab._id}]`)[0]; + if (webview) { + webview.send('uiAction_windowMessage', type, error, value); + } + } +}); + +ipcRenderer.on('uiAction_enableBlurOverlay', (e, value) => { + $('html').toggleClass('has-blur-overlay', !!value); +}); + +// Wait for webview toggle +ipcRenderer.on('uiAction_toggleWebviewDevTool', (e, id) => { + const webview = Helpers.getWebview(id); + + if (!webview) { + return; + } + + if (webview.isDevToolsOpened()) { + webview.closeDevTools(); + } else { + webview.openDevTools(); + } +}); + +// randomize accounts and drop half +// also certainly remove the web3.ethbase one +const randomizeAccounts = (acc, coinbase) => { + let accounts = _.shuffle(acc); + accounts = _.rest(accounts, (accounts.length / 2).toFixed(0)); + accounts = _.without(accounts, coinbase); + return accounts; +}; + +// Run tests +ipcRenderer.on('uiAction_runTests', (e, type) => { + if (type === 'webview') { + web3.eth.getAccounts((error, accounts) => { + if (error) return; + + web3.eth.getCoinbase((coinbaseError, coinbase) => { + if (coinbaseError) return; + + Tabs.upsert('tests', { + position: -1, + name: 'Tests', + url: '', // is hardcoded in webview.html to prevent hijacking + permissions: { + accounts: randomizeAccounts(accounts, coinbase) + } + }); + + Tracker.afterFlush(() => { + LocalStore.set('selectedTab', 'tests'); + }); + + // update the permissions, when accounts change + Tracker.autorun(() => { + const accountList = _.pluck( + EthAccounts.find({}, { fields: { address: 1 } }).fetch(), + 'address' + ); + + Tabs.update('tests', { + $set: { + 'permissions.accounts': randomizeAccounts(accountList, coinbase) + } + }); + }); + }); + }); + } +}); + +// CONTEXT MENU + +const currentMousePosition = { x: 0, y: 0 }; +const menu = new Menu(); +// menu.append(new MenuItem({ type: 'separator' })); +menu.append( + new MenuItem({ + label: i18n.t('mist.rightClick.reload'), + accelerator: 'Command+R', + click() { + const webview = Helpers.getWebview(LocalStore.get('selectedTab')); + if (webview) { + webview.reloadIgnoringCache(); + } + } + }) +); +menu.append( + new MenuItem({ + label: i18n.t('mist.rightClick.openDevTools'), + click() { + const webview = Helpers.getWebview(LocalStore.get('selectedTab')); + if (webview) { + webview.openDevTools(); + } + } + }) +); +menu.append( + new MenuItem({ + label: i18n.t('mist.rightClick.inspectElements'), + click() { + const webview = Helpers.getWebview(LocalStore.get('selectedTab')); + if (webview) { + webview.inspectElement(currentMousePosition.x, currentMousePosition.y); + } + } + }) +); + +window.addEventListener( + 'contextmenu', + e => { + e.preventDefault(); + + // OPEN CONTEXT MENU over webviews + if ($('webview:hover')[0]) { + currentMousePosition.x = e.layerX; + currentMousePosition.y = e.layerY; + menu.popup(remote.getCurrentWindow()); + } + }, + false +); + +document.addEventListener( + 'keydown', + e => { + // RELOAD current webview + if (e.metaKey && e.keyCode === 82) { + const webview = Helpers.getWebview(LocalStore.get('selectedTab')); + if (webview) { + webview.reloadIgnoringCache(); + } + } + }, + false +); diff --git a/modules/preloader/popupWindows.js b/modules/preloader/popupWindows.js new file mode 100644 index 0000000..8e26a88 --- /dev/null +++ b/modules/preloader/popupWindows.js @@ -0,0 +1,18 @@ +/** +@module preloader PopupWindows +*/ + +require('./popupWindowsNoWeb3.js'); +require('./include/web3CurrentProvider.js'); +const Q = require('bluebird'); +const web3Admin = require('../web3Admin.js'); +const https = require('https'); + +web3Admin.extend(window.web3); + +// make variables globally accessable +window.Q = Q; +window.https = https; + +// Initialise the Redux store +window.store = require('./rendererStore'); diff --git a/modules/preloader/popupWindowsNoWeb3.js b/modules/preloader/popupWindowsNoWeb3.js new file mode 100644 index 0000000..af53dd4 --- /dev/null +++ b/modules/preloader/popupWindowsNoWeb3.js @@ -0,0 +1,24 @@ +/** +@module preloader PopupWindows +*/ + +require('./include/common')('popupWindow'); +const { ipcRenderer, remote, webFrame } = require('electron'); +const mist = require('./include/mistAPI.js'); +const dbSync = require('../dbSync.js'); +require('./include/setBasePath')('interface'); +require('./include/openExternal.js'); + +// receive data in from SendData +ipcRenderer.on('uiAction_sendData', (e, data) => { + Session.set('data', data); +}); + +window.mist = mist(); +window.mistMode = remote.getGlobal('mode'); +window.dirname = remote.getGlobal('dirname'); +window.dbSync = dbSync; +window.ipc = ipcRenderer; + +// Initialise the Redux store +window.store = require('./rendererStore'); diff --git a/modules/preloader/rendererStore.js b/modules/preloader/rendererStore.js new file mode 100644 index 0000000..93842af --- /dev/null +++ b/modules/preloader/rendererStore.js @@ -0,0 +1,20 @@ +// Create the client-side Redux store. +// This store's only purpose is to sync with the main store. +const { createStore, applyMiddleware } = require('redux'); +const { + forwardToMain, + getInitialStateRenderer, + replayActionRenderer +} = require('electron-redux'); +const thunk = require('redux-thunk').default; +const initialState = getInitialStateRenderer(); + +const store = createStore( + () => {}, + initialState, + applyMiddleware(forwardToMain, thunk) +); + +replayActionRenderer(store); + +module.exports = store; diff --git a/modules/preloader/splashScreen.js b/modules/preloader/splashScreen.js new file mode 100644 index 0000000..fada1bb --- /dev/null +++ b/modules/preloader/splashScreen.js @@ -0,0 +1,21 @@ +require('./include/common')('splashscreen'); +require('./include/web3CurrentProvider.js'); +const mist = require('./include/mistAPI.js'); +const { ipcRenderer, remote, webFrame } = require('electron'); + +require('./include/openExternal.js'); +require('./include/setBasePath')('interface'); + +// set appmenu language +ipcRenderer.send('backendAction_getLanguage'); + +// disable pinch zoom +webFrame.setZoomLevelLimits(1, 1); + +window.ipc = ipcRenderer; +window.mist = mist(); +window.mistMode = remote.getGlobal('mode'); +window.dirname = remote.getGlobal('dirname'); + +// Initialise the Redux store +window.store = require('./rendererStore'); diff --git a/modules/preloader/tests.js b/modules/preloader/tests.js new file mode 100644 index 0000000..16ecb7f --- /dev/null +++ b/modules/preloader/tests.js @@ -0,0 +1,22 @@ +/** +@module preloader tests +*/ + +if (location.origin !== 'file://') { + throw new Error('Wrong test file loaded'); +} else { + // load dapp preloader file + require('./dapps.js'); + + const electron = require('electron'); + const ipcRenderer = electron.ipcRenderer; + + window.ipcProvider = require('../ipc/ipcProviderWrapper.js'); + window.permissions = {}; + + ipcRenderer.sendToHost('sendTestData'); + ipcRenderer.on('uiAction_sendTestData', function(e, permissions, coinbase) { + window.permissions = permissions; + window.coinbase = coinbase; + }); +} diff --git a/modules/preloader/walletMain.js b/modules/preloader/walletMain.js new file mode 100644 index 0000000..563df3d --- /dev/null +++ b/modules/preloader/walletMain.js @@ -0,0 +1,25 @@ +/** +@module preloader wallet when loaded in the main window +*/ + +require('./dapps.js'); +require('./include/openExternal.js'); +require('./include/setBasePath')('interface/wallet'); +const { webFrame } = require('electron'); +const web3Admin = require('../web3Admin.js'); + +// make variables globally accessable +// window.dirname = __dirname; + +webFrame.executeJavaScript("window.mistMode = 'wallet';"); + +// add admin later +setTimeout(() => { + web3Admin.extend(window.web3); +}, 1000); + +setTimeout(() => { + if (document.getElementsByTagName('html')[0]) { + document.getElementsByTagName('html')[0].className = window.platform; + } +}, 500); diff --git a/modules/settings.js b/modules/settings.js new file mode 100644 index 0000000..e971d0f --- /dev/null +++ b/modules/settings.js @@ -0,0 +1,497 @@ +const { app } = require('electron'); +const path = require('path'); +const fs = require('fs'); +const packageJson = require('../package.json'); +const _ = require('./utils/underscore'); +const lodash = require('lodash'); + +import { + syncBuildConfig, + syncFlags, + setSwarmEnableOnStart +} from './core/settings/actions'; +import logger from './utils/logger'; + +const settingsLog = logger.create('Settings'); + +let instance = null; + +class Settings { + constructor() { + if (!instance) { + instance = this; + } + + return instance; + } + + init() { + const logLevel = { logLevel: argv.loglevel }; + const logFolder = { logFolder: path.join(this.userDataPath, 'logs') }; + const loggerOptions = Object.assign(argv, logLevel, logFolder); + logger.setup(loggerOptions); + + store.dispatch(syncFlags(argv)); + + // If -v flag provided, log the Mist version and exit + if (argv.version) { + settingsLog.info(`Mist v${this.appVersion}`); + process.exit(0); + } + + // Some Linux installations require this setting: + if (argv.ignoreGpuBlacklist) { + app.commandLine.appendSwitch('ignore-gpu-blacklist', 'true'); + store.dispatch({ type: '[MAIN]:IGNORE_GPU_BLACKLIST:SET' }); + } + + if (this.inAutoTestMode) { + settingsLog.info('AUTOMATED TESTING'); + store.dispatch({ type: '[MAIN]:TEST_MODE:SET' }); + } + + settingsLog.info(`Running in production mode: ${this.inProductionMode}`); + + if (this.rpcMode === 'http') { + settingsLog.warn( + 'Connecting to a node via HTTP instead of ipcMain. This is less secure!!!!'.toUpperCase() + ); + } + + store.dispatch(syncBuildConfig('appVersion', packageJson.version)); + store.dispatch(syncBuildConfig('rpcMode', this.rpcMode)); + store.dispatch(syncBuildConfig('productionMode', this.inProductionMode)); + store.dispatch(syncBuildConfig('uiMode', this.uiMode)); + } + + // @returns "Application Support/Mist" in production mode + // @returns "Application Support/Electron" in development mode + get userDataPath() { + return app.getPath('userData'); + } + + get dbFilePath() { + const dbFileName = this.inAutoTestMode ? 'mist.test.lokidb' : 'mist.lokidb'; + return path.join(this.userDataPath, dbFileName); + } + + get appDataPath() { + // Application Support/ + return app.getPath('appData'); + } + + get userHomePath() { + return app.getPath('home'); + } + + get cli() { + return argv; + } + + get appVersion() { + return packageJson.version; + } + + get appName() { + return this.uiMode === 'mist' ? 'Mist' : 'EtherCore Wallet'; + } + + get appLicense() { + return packageJson.license; + } + + get uiMode() { + return _.isString(argv.mode) ? argv.mode.toLowerCase() : argv.mode; + } + + get inProductionMode() { + return defaultConfig.production; + } + + get inAutoTestMode() { + return !!process.env.TEST_MODE; + } + + get swarmURL() { + return argv.swarmurl; + } + + get gethPath() { + return argv.gethpath; + } + + get ethPath() { + return argv.ethpath; + } + + get rpcMode() { + if (argv.rpc && argv.rpc.indexOf('http') === 0) return 'http'; + if (argv.rpc && argv.rpc.indexOf('ws:') === 0) { + settingsLog.warn( + 'Websockets are not yet supported by Mist, using default IPC connection' + ); + argv.rpc = null; + return 'ipc'; + } else return 'ipc'; + } + + get rpcConnectConfig() { + if (this.rpcMode === 'ipc') { + return { + path: this.rpcIpcPath + }; + } + + return { + hostPort: this.rpcHttpPath + }; + } + + get rpcHttpPath() { + return this.rpcMode === 'http' ? argv.rpc : null; + } + + get rpcIpcPath() { + let ipcPath = this.rpcMode === 'ipc' ? argv.rpc : null; + + if (ipcPath) { + return ipcPath; + } + + ipcPath = this.userHomePath; + + if (process.platform === 'darwin') { + ipcPath += '/Library/EtherCore/geth.ipc'; + } else if ( + process.platform === 'freebsd' || + process.platform === 'linux' || + process.platform === 'sunos' + ) { + ipcPath += '/.ethercore/geth.ipc'; + } else if (process.platform === 'win32') { + ipcPath = '\\\\.\\pipe\\geth.ipc'; + } + + settingsLog.debug(`IPC path: ${ipcPath}`); + + return ipcPath; + } + + get nodeType() { + return argv.node; + } + + get network() { + return argv.network; + } + + get syncmode() { + return argv.syncmode; + } + + get nodeOptions() { + return argv.nodeOptions; + } + + get language() { + return this.loadConfig('ui.i18n'); + } + + set language(langCode) { + this.saveConfig('ui.i18n', langCode); + } + + get enableSwarmOnStart() { + if (global.mode === 'wallet') { + return false; + } + + if (argv.swarm) { + return true; + } + + const enableOnStart = this.loadConfig('swarm.enableOnStart'); + + // Sync to redux + if (enableOnStart) { + store.dispatch(setSwarmEnableOnStart()); + } + + return enableOnStart; + } + + set enableSwarmOnStart(bool) { + this.saveConfig('swarm.enableOnStart', bool); + } + + get skiptimesynccheck() { + return argv.skiptimesynccheck; + } + + initConfig() { + global.config.insert({ + ui: { + i18n: i18n.getBestMatchedLangCode(app.getLocale()) + }, + swarm: { + enableOnStart: argv.swarm + } + }); + } + + saveConfig(key, value) { + let obj = global.config.get(1); + + if (!obj) { + this.initConfig(); + obj = global.config.get(1); + } + + if (lodash.get(obj, key) !== value) { + lodash.set(obj, key, value); + global.config.update(obj); + + settingsLog.debug(`Settings: saveConfig('${key}', '${value}')`); + settingsLog.trace(global.config.data); + } + } + + loadConfig(key) { + const obj = global.config.get(1); + + if (!obj) { + this.initConfig(); + return this.loadConfig(key); + } + + settingsLog.trace( + `Settings: loadConfig('${key}') = '${lodash.get(obj, key)}'` + ); + + return lodash.get(obj, key); + } + + loadUserData(path2) { + const fullPath = this.constructUserDataPath(path2); + + settingsLog.trace('Load user data', fullPath); + + // check if the file exists + try { + fs.accessSync(fullPath, fs.R_OK); + } catch (err) { + return null; + } + + // try to read it + try { + const data = fs.readFileSync(fullPath, { encoding: 'utf8' }); + settingsLog.debug(`Reading "${data}" from ${fullPath}`); + return data; + } catch (err) { + settingsLog.warn(`File not readable: ${fullPath}`, err); + } + + return null; + } + + saveUserData(path2, data) { + if (!data) return; // return so we dont write null, or other invalid data + + const fullPath = this.constructUserDataPath(path2); + + try { + settingsLog.debug(`Saving "${data}" to ${fullPath}`); + fs.writeFileSync(fullPath, data, { encoding: 'utf8' }); + } catch (err) { + settingsLog.warn(`Unable to write to ${fullPath}`, err); + } + } + + constructUserDataPath(filePath) { + return path.join(this.userDataPath, filePath); + } +} + +module.exports = new Settings(); + +/* ========================== +Command line argument parsing +============================= */ + +// Load config +const defaultConfig = { + mode: 'mist', + production: false +}; + +try { + _.extend(defaultConfig, require('../config.json')); +} catch (error) { + settingsLog.error(error); +} + +const argv = require('yargs') + .usage('Usage: $0 [Mist options] [Node options]') + .option({ + mode: { + alias: 'm', + demand: false, + default: defaultConfig.mode, + describe: 'App UI mode: wallet, mist.', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + node: { + demand: false, + default: null, + describe: 'Node to use: geth, eth', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + network: { + demand: false, + default: null, + describe: 'Network to connect to: main, test', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + gcmode: { + demand: false, + default: 'archive', + describe: '--gcmode archive', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + rpc: { + demand: false, + describe: + 'Path to node IPC socket file OR HTTP RPC hostport (if IPC socket file then --node-ipcpath will be set with this value).', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + swarm: { + describe: 'Enable Swarm on start.', + requiresArg: false, + nargs: 0, + type: 'boolean', + group: 'Mist options:' + }, + swarmurl: { + demand: false, + default: 'http://localhost:8500', + describe: + 'URL serving the Swarm HTTP API. If null, Mist will open a local node.', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + gethpath: { + demand: false, + describe: 'Path to Geth executable to use instead of default.', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + ethpath: { + demand: false, + describe: 'Path to Eth executable to use instead of default.', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + 'ignore-gpu-blacklist': { + demand: false, + describe: 'Ignores GPU blacklist (needed for some Linux installations).', + requiresArg: false, + nargs: 0, + type: 'boolean', + group: 'Mist options:' + }, + 'reset-tabs': { + demand: false, + describe: 'Reset Mist tabs to their default settings.', + requiresArg: false, + nargs: 0, + type: 'boolean', + group: 'Mist options:' + }, + loglevel: { + demand: false, + default: 'info', + describe: + 'Minimum logging threshold: info, debug, error, trace (shows all logs, including possible passwords over IPC!).', + requiresArg: true, + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + syncmode: { + demand: false, + requiresArg: true, + describe: 'Geth synchronization mode: [fast|light|full]', + nargs: 1, + type: 'string', + group: 'Mist options:' + }, + version: { + alias: 'v', + demand: false, + requiresArg: false, + nargs: 0, + describe: 'Display Mist version.', + group: 'Mist options:', + type: 'boolean' + }, + skiptimesynccheck: { + demand: false, + requiresArg: false, + nargs: 0, + describe: + 'Disable checks for the presence of automatic time sync on your OS.', + group: 'Mist options:', + type: 'boolean' + }, + '': { + describe: + 'To pass options to the underlying node (e.g. Geth) use the --node- prefix, e.g. --node-datadir', + group: 'Node options:' + } + }) + .help('h') + .alias('h', 'help') + .parse(process.argv.slice(1)); + +argv.nodeOptions = []; + +for (const optIdx in argv) { + if (optIdx.indexOf('node-') === 0) { + argv.nodeOptions.push(`--${optIdx.substr(5)}`); + + if (argv[optIdx] !== true) { + argv.nodeOptions.push(argv[optIdx]); + } + } +} + +// some options are shared +if (argv.ipcpath) { + argv.nodeOptions.push('--ipcpath', argv.ipcpath); +} + +if (argv.nodeOptions && argv.nodeOptions.syncmode) { + argv.push('--syncmode', argv.nodeOptions.syncmode); +} diff --git a/modules/socketManager.js b/modules/socketManager.js new file mode 100644 index 0000000..8511916 --- /dev/null +++ b/modules/socketManager.js @@ -0,0 +1,77 @@ +const _ = global._; +const Q = require('bluebird'); +const log = require('./utils/logger').create('Sockets'); + +const Web3IpcSocket = require('./sockets/web3Ipc'); +const Web3HttpSocket = require('./sockets/web3Http'); + +/** + * `Socket` manager. + */ +class SocketManager { + constructor() { + this._sockets = {}; + } + + /** + * Get socket with given id, creating it if it does not exist. + * + * @return {Socket} + */ + create(id, type) { + log.debug(`Create socket, id=${id}, type=${type}`); + + switch (type) { + case 'ipc': + this._sockets[id] = new Web3IpcSocket(this, id); + break; + case 'http': + this._sockets[id] = new Web3HttpSocket(this, id); + break; + default: + throw new Error(`Unrecognized socket type: ${type}`); + } + + return this._sockets[id]; + } + + /** + * Get socket with given id, creating it if it does not exist. + * + * @return {Socket} + */ + get(id, type) { + if (!this._sockets[id]) { + this.create(id, type); + } + + return this._sockets[id]; + } + + /** + * @return {Promise} + */ + destroyAll() { + log.info('Destroy all sockets'); + + return Q.all( + _.map(this._sockets, (s, id) => { + this.remove(id); + return s.destroy(); + }) + ); + } + + /** + * Remove socket with given id from this manager. + * + * Usually called by `Socket` instances when they're destroyed. + */ + remove(id) { + log.debug(`Remove socket, id=${id}`); + + delete this._sockets[id]; + } +} + +module.exports = new SocketManager(); diff --git a/modules/sockets/base.js b/modules/sockets/base.js new file mode 100644 index 0000000..65c9ab0 --- /dev/null +++ b/modules/sockets/base.js @@ -0,0 +1,213 @@ +const _ = global._; +const Q = require('bluebird'); +const EventEmitter = require('events').EventEmitter; + +const log = require('../utils/logger').create('Sockets'); + +const CONNECT_INTERVAL_MS = 1000; +const CONNECT_TIMEOUT_MS = 3000; + +/** + * Socket connecting to Ethereum Node. + */ +class Socket extends EventEmitter { + constructor(socketMgr, id) { + super(); + + this._mgr = socketMgr; + this._id = id; + + this._log = log.create(this._id); + + this._state = null; + } + + get id() { + return this._id; + } + + get isConnected() { + return STATE.CONNECTED === this._state; + } + + /** + * Connect to host. + * @param {Object} connectConfig + * @param {Object} [options] + * @param {Number} [options.timeout] Milliseconds to wait before timeout (default is 5000). + * @return {Promise} + */ + connect(connectConfig, options) { + this._log.info(`Connect to ${JSON.stringify(connectConfig)}`); + + options = _.extend( + { + timeout: CONNECT_TIMEOUT_MS + }, + options + ); + + return this._resetSocket().then(() => { + let connectTimerId = null; + let timeoutTimerId = null; + + this._log.debug('Connecting...'); + + this._log.debug( + `Will wait ${options.timeout}ms for connection to happen.` + ); + + this._state = STATE.CONNECTING; + + return new Q((resolve, reject) => { + this._socket.once('connect', () => { + if (STATE.CONNECTING === this._state) { + this._log.info('Connected!'); + + this._state = STATE.CONNECTED; + + clearTimeout(connectTimerId); + clearTimeout(timeoutTimerId); + + this.emit('connect'); + + resolve(); + } + }); + + this._socket.on('error', err => { + if (STATE.CONNECTING === this._state) { + this._log.warn( + `Connection failed, retrying after ${CONNECT_INTERVAL_MS}ms...` + ); + + connectTimerId = setTimeout(() => { + this._socket.connect(connectConfig); + }, CONNECT_INTERVAL_MS); + } + }); + + timeoutTimerId = setTimeout(() => { + if (STATE.CONNECTING === this._state) { + this._log.error(`Connection failed (${options.timeout}ms elapsed)`); + + this._state = STATE.CONNECTION_TIMEOUT; + + clearTimeout(connectTimerId); + + return reject(new Error('Unable to connect to socket: timeout')); + } + }, options.timeout); + + // initial kick-off + this._socket.connect(connectConfig); + }); + }); + } + + resume() { + this._socket.resume.apply(this, arguments); + } + + pause() { + this._socket.pause.apply(this, arguments); + } + + pipe() { + this._socket.pipe.apply(this, arguments); + } + + /** + * Disconnect from socket. + * @return {Promise} + */ + disconnect(options) { + if (!this._disconnectPromise) { + this._disconnectPromise = new Q((resolve, reject) => { + this._log.info('Disconnecting...'); + + this._state = STATE.DISCONNECTING; + + // remove all existing listeners + this._socket.removeAllListeners(); + + const timer = setTimeout(() => { + log.warn('Disconnection timed out, closing socket anyway...'); + + this._state = STATE.DISCONNECTION_TIMEOUT; + + resolve(); + }, 5000 /* wait 5 seconds for disconnection */); + + this._socket.once('close', () => { + // if we manually killed it then all good + if (STATE.DISCONNECTING === this._state) { + this._log.debug('Disconnected as expected'); + } else { + this._log.warn('Unexpectedly disconnected'); + } + + this._state = STATE.DISCONNECTED; + + clearTimeout(timer); + + resolve(); + }); + + this._socket.destroy(); + }).finally(() => { + this._disconnectPromise = null; + }); + } + + return this._disconnectPromise; + } + + /** + * An alias to `disconnect()`. + * @return {Promise} + */ + destroy() { + this.removeAllListeners(); + return this.disconnect(); + } + + /** + * Write data to socket. + * @param {String} data + */ + write(data) { + if (STATE.CONNECTED !== this._state) { + throw new Error('Socket not connected'); + } + + this._log.trace('Write data', data); + + this._socket.write(data); + } + + /** + * Reset socket. + * + * Upon completion `this._socket` will be set to a valid socket object, but + * not yet connected. + * + * To be implemented by subclasses. + */ + _resetSocket() { + return Q.reject(new Error('Not yet implemented')); + } +} + +exports.Socket = Socket; + +const STATE = (exports.STATE = Socket.STATE = { + CREATED: 0, + CONNECTING: 1, + CONNECTED: 2, + DISCONNECTING: 3, + DISCONNECTED: 4, + ERROR: -1, + DISCONNECTION_TIMEOUT: -2, + CONNECTION_TIMEOUT: -3 +}); diff --git a/modules/sockets/web3Base.js b/modules/sockets/web3Base.js new file mode 100644 index 0000000..8503a0c --- /dev/null +++ b/modules/sockets/web3Base.js @@ -0,0 +1,150 @@ +const _ = global._; +const Q = require('bluebird'); +const oboe = require('oboe'); +const SocketBase = require('./base'); + +const Socket = SocketBase.Socket; +const STATE = SocketBase.STATE; + +module.exports = class Web3Socket extends Socket { + constructor(socketMgr, id) { + super(socketMgr, id); + + this._sendRequests = {}; + + this._handleSocketResponse(); + } + + /** + * Send an RPC call. + * @param {Array|Object} single or array of payloads. + * @param {Object} options Additional options. + * @param {Boolean} [options.fullResult] If set then will return full result + * JSON, not just result value. + * @return {Promise} + */ + send(payload, options) { + return Q.try(() => { + if (!this.isConnected) { + throw new Error('Not connected'); + } + + const isBatch = _.isArray(payload); + + const finalPayload = isBatch + ? _.map(payload, p => this._finalizeSinglePayload(p)) + : this._finalizeSinglePayload(payload); + + /* + For batch requeests we use the id of the first request as the + id to refer to the batch as one. We can do this because the + response will also come back as a batch, in the same order as the + the requests within the batch were sent. + */ + const id = isBatch ? finalPayload[0].id : finalPayload.id; + + this._log.trace(isBatch ? 'Batch request' : 'Request', id, finalPayload); + + this._sendRequests[id] = { + options, + /* Preserve the original id of the request so that we can + update the response with it */ + origId: isBatch ? _.map(payload, p => p.id) : payload.id + }; + + this.write(JSON.stringify(finalPayload)); + + return new Q((resolve, reject) => { + _.extend(this._sendRequests[id], { + resolve, + reject + }); + }); + }); + } + + /** + * Construct a payload object. + * @param {Object} payload Payload to send. + * @param {String} payload.method Method name. + * @param {Object} [payload.params] Method arguments. + * @return {Object} final payload object + */ + _finalizeSinglePayload(payload) { + if (!payload.method) { + throw new Error('Method required'); + } + + return { + jsonrpc: '2.0', + id: _.uuid(), + method: payload.method, + params: payload.params || [] + }; + } + + /** + * Handle responses from Geth. + */ + _handleSocketResponse() { + oboe(this) + .done(result => { + this._log.trace('JSON response', result); + + try { + const isBatch = _.isArray(result); + + const firstItem = isBatch ? result[0] : result; + + const req = firstItem.id ? this._sendRequests[firstItem.id] : null; + + if (req) { + this._log.trace( + isBatch ? 'Batch response' : 'Response', + firstItem.id, + result + ); + + // if we don't want full JSON result, send just the result + if (!_.get(req, 'options.fullResult')) { + if (isBatch) { + result = _.map(result, r => r.result); + } else { + result = result.result; + } + } else { + // restore original ids + if (isBatch) { + req.origId.forEach((id, idx) => { + if (result[idx]) { + result[idx].id = id; + } + }); + } else { + result.id = req.origId; + } + } + + req.resolve({ + isBatch, + result + }); + } else { + // not a response to a request so pass it on as a notification + this.emit('data-notification', result); + } + } catch (err) { + this._log.error('Error handling socket response', err); + } + }) + .fail(err => { + this._log.error('Socket response error', err); + + _.each(this._sendRequests, req => { + req.reject(err); + }); + + this._sendRequests = {}; + }); + } +}; diff --git a/modules/sockets/web3Http.js b/modules/sockets/web3Http.js new file mode 100644 index 0000000..880ef83 --- /dev/null +++ b/modules/sockets/web3Http.js @@ -0,0 +1,128 @@ +const Q = require('bluebird'); +const EventEmitter = require('events').EventEmitter; +const got = require('got'); +const SocketBase = require('./base'); + +const STATE = SocketBase.STATE; + +const Web3SocketBase = require('./web3Base'); + +class HttpSocket extends EventEmitter { + constructor(_parentSocket) { + super(); + + this._log = _parentSocket._log.create('HttpSocket'); + } + + connect(connectConfig) { + this._log.trace('Connect', connectConfig); + + this._hostPort = connectConfig.hostPort; + + const payload = JSON.stringify({ + jsonrpc: '2.0', + id: 0, + method: 'eth_accounts', + params: [] + }); + + this._call(payload) + .then(() => { + this._log.trace('Connection successful'); + + this.emit('connect'); + }) + .catch(err => { + this._log.trace('Connection failed', err); + + this.emit.bind(this, new Error('Unable to connect to HTTP RPC')); + }); + } + + destroy() { + this._log.trace('Destroy'); + + this._hostPort = null; + + this.emit('close'); + } + + write(data) { + this._log.trace('Write data', data); + + this._call(data) + .then(body => { + this._log.trace('Got response', body); + + this.emit('data', body); + }) + .catch(this.emit.bind(this, 'error')); + } + + setEncoding(enc) { + this._log.trace('Set encoding', enc); + + this._encoding = enc; + } + + _call(dataStr) { + return got + .post(this._hostPort, { + encoding: this._encoding, + headers: { + 'Content-Type': 'application/json' + }, + body: dataStr + }) + .then(res => { + return res.body; + }); + } +} + +module.exports = class Web3HttpSocket extends Web3SocketBase { + /** + * Reset socket. + */ + _resetSocket() { + this._log.debug('Resetting socket'); + + return Q.try(() => { + if (STATE.CONNECTED === this._state) { + this._log.debug('Disconnecting prior to reset'); + + return this.disconnect(); + } + }).then(() => { + this._socket = new HttpSocket(this); + + this._socket.setEncoding('utf8'); + + this._socket.on('close', hadError => { + // if we did the disconnection then all good + if (STATE.DISCONNECTING === this._state) { + return; + } + + this.emit('close', hadError); + }); + + this._socket.on('data', data => { + this._log.trace('Got data'); + + this.emit('data', data); + }); + + this._socket.on('error', err => { + // connection errors will be handled in connect() code + if (STATE.CONNECTING === this._state) { + return; + } + + this._log.error(err); + + this.emit('error', err); + }); + }); + } +}; diff --git a/modules/sockets/web3Ipc.js b/modules/sockets/web3Ipc.js new file mode 100644 index 0000000..9fe18df --- /dev/null +++ b/modules/sockets/web3Ipc.js @@ -0,0 +1,68 @@ +const Q = require('bluebird'); +const net = require('net'); +const SocketBase = require('./base'); + +const STATE = SocketBase.STATE; + +const Web3SocketBase = require('./web3Base'); + +module.exports = class Web3IpcSocket extends Web3SocketBase { + /** + * Reset socket. + */ + _resetSocket() { + this._log.debug('Resetting socket'); + + return Q.try(() => { + if (STATE.CONNECTED === this._state) { + this._log.debug('Disconnecting prior to reset'); + + return this.disconnect(); + } + }).then(() => { + this._socket = new net.Socket(); + + this._socket.setTimeout(0); + this._socket.setEncoding('utf8'); + this._socket.unref(); /* allow app to exit even if socket fails to close */ + + this._socket.on('close', hadError => { + // if we did the disconnection then all good + if (STATE.DISCONNECTING === this._state) { + return; + } + + this.emit('close', hadError); + }); + + this._socket.on('end', () => { + this._log.debug('Got "end" event'); + + this.emit('end'); + }); + + this._socket.on('data', data => { + this._log.trace('Got data'); + + this.emit('data', data); + }); + + this._socket.on('timeout', () => { + this._log.trace('Timeout'); + + this.emit('timeout'); + }); + + this._socket.on('error', err => { + // connection errors will be handled in connect() code + if (STATE.CONNECTING === this._state) { + return; + } + + this._log.error(err); + + this.emit('error', err); + }); + }); + } +}; diff --git a/modules/swarmNode.js b/modules/swarmNode.js new file mode 100644 index 0000000..de6da49 --- /dev/null +++ b/modules/swarmNode.js @@ -0,0 +1,117 @@ +const EventEmitter = require('events').EventEmitter; +const Q = require('bluebird'); +const path = require('path'); +const fs = require('fs'); +const os = require('os'); +const clientBinaries = require('./../clientBinaries.json'); + +import Settings from './settings'; +import Swarm from 'swarm-js'; + +let instance = null; + +class SwarmNode extends EventEmitter { + constructor() { + super(); + + if (!instance) { + instance = this; + } + + return instance; + } + + getKeyPath() { + // TODO: replace by web3.utils.randomHex when we use it + function randomHex(bytes) { + let hex = ''; + for (let i = 0; i < bytes * 2; i = i + 1) { + hex += ((Math.random() * 16) | 0).toString(16); + } + return hex; + } + + // Gets Swarm Key path + const swarmKeyDir = path.join(Settings.userDataPath, 'swarmjs'); + const swarmKeyPath = path.join(swarmKeyDir, 'swarmKey'); + + // Generates the key if not there + if (!fs.existsSync(swarmKeyDir)) { + fs.mkdirSync(swarmKeyDir); + } + if (!fs.existsSync(swarmKeyPath)) { + fs.writeFileSync(swarmKeyPath, randomHex(32)); + } + + return swarmKeyPath; + } + + startUsingLocalNode() { + const totalSize = 7406937; // TODO: hardcoded & innacurate, use archives.json instead + let totalDownloaded = 0; + + const swarmBinDir = path.join(Settings.userDataPath, 'swarmjs', 'bin'); + const swarmBinExt = os.platform() === 'win32' ? '.exe' : ''; + const swarmBinPath = path.join(swarmBinDir, `swarm${swarmBinExt}`); + + const config = { + privateKey: this.getKeyPath(), + dataDir: path.join(Settings.userDataPath, 'swarmjs'), + ensApi: Settings.rpcIpcPath, + binPath: swarmBinPath, + onProgress: size => + this.emit('downloadProgress', (totalDownloaded += size) / totalSize), + archives: clientBinaries.swarm.archives + }; + + return new Q((resolve, reject) => { + Swarm.local(config)( + swarm => + new Q(stop => { + this.emit('started', true); + this._stop = stop; + this._swarm = swarm; + resolve(this); + }) + ).catch(reject); + }); + } + + startUsingGateway() { + return new Q((resolve, reject) => { + this.emit('started', false); + this._swarm = Swarm.at(Settings.swarmURL); + this._stop = () => {}; + resolve(this); + }); + } + + init() { + this.emit('starting'); + + if (Settings.swarmURL === 'http://localhost:8500') { + return this.startUsingLocalNode(); + } + return this.startUsingGateway(); + } + + stop() { + if (!this._swarm) { + return Q.reject(new Error('Swarm not initialized, unable to stop.')); + } + + this.emit('stopping'); + this._stop(); + this.emit('stopped'); + } + + upload(arg) { + if (!this._swarm) { + return Q.reject(new Error('Swarm not initialized, unable to upload.')); + } + + return this._swarm.upload(arg); + } +} + +module.exports = new SwarmNode(); diff --git a/modules/updateChecker.js b/modules/updateChecker.js new file mode 100644 index 0000000..29f1784 --- /dev/null +++ b/modules/updateChecker.js @@ -0,0 +1,110 @@ +const _ = global._; +const Windows = require('./windows'); +const Settings = require('./settings'); +const log = require('./utils/logger').create('updateChecker'); +const got = require('got'); +const semver = require('semver'); + +/** + * Check for updates to the app. + * @return {[type]} [description] + */ +const check = (exports.check = () => { + log.info('Check for update...'); + + let str = null; + + switch (Settings.uiMode) { // eslint-disable-line default-case + case 'mist': + str = 'mist'; + break; + case 'wallet': + str = 'wallet'; + break; + } + + return got('https://api.github.com/repos/ethercore/desktop-wallet/releases', { + timeout: 3000, + json: true + }) + .then(res => { + const releases = _.filter(res.body, release => { + return ( + !_.get(release, 'draft') && + _.get(release, 'name', '') + .toLowerCase() + .indexOf(str) >= 0 + ); + }); + + if (!releases.length) { + log.debug('No releases available to check against.'); + + return; + } + + const latest = releases[0]; + + if (semver.gt(latest.tag_name, Settings.appVersion)) { + log.info( + `App (${Settings.appVersion}) is out of date. New ${ + latest.tag_name + } found.` + ); + + return { + name: latest.name, + version: latest.tag_name, + url: latest.html_url + }; + } + + log.info('App is up-to-date.'); + }) + .catch(err => { + log.error('Error checking for update', err); + }); +}); + +function showWindow(options) { + log.debug('Show update checker window'); + + return Windows.createPopup('updateAvailable', options); +} + +exports.run = () => { + check() + .then(update => { + if (update) { + showWindow({ + sendData: { + uiAction_checkUpdateDone: update + } + }); + } + store.dispatch({ type: '[MAIN]:UPDATE_CHECKER:FINISHED' }); + }) + .catch(err => { + log.error(err); + }); +}; + +exports.runVisibly = () => { + const wnd = showWindow({ + sendData: 'uiAction_checkUpdateInProgress' + }); + + wnd.on('ready', () => { + check() + .then(update => { + wnd.send({ + uiAction_checkUpdateDone: update + }); + }) + .catch(err => { + log.error(err); + + wnd.send('uiAction_checkUpdateDone'); + }); + }); +}; diff --git a/modules/utils/logger.js b/modules/utils/logger.js new file mode 100644 index 0000000..4ab0ba1 --- /dev/null +++ b/modules/utils/logger.js @@ -0,0 +1,53 @@ +const _ = require('./underscore'); +import log4js from 'log4js'; + +/** + * Setup logging system. + * @param {Object} [options] + * @param {String} [options.logLevel] Minimum logging threshold (default: info). + * @param {String} [options.logFolder] Log folder to write logs to. + */ +exports.setup = function(options) { + const logFolder = options.logFolder; + const level = options.logLevel || 'info'; + + const config = { + appenders: { + out: { type: 'console' }, + all: { + type: 'file', + filename: `${logFolder}/all.log` + }, + main: { + type: 'file', + filename: `${logFolder}/category/main.log` + }, + EthereumNode: { + type: 'file', + filename: `${logFolder}/category/ethereum_node.log` + }, + swarm: { + type: 'file', + filename: `${logFolder}/category/swarm.log` + } + }, + categories: { + default: { appenders: ['out', 'all', 'main'], level }, + EthereumNode: { appenders: ['out', 'all', 'EthereumNode'], level }, + swarm: { appenders: ['out', 'all', 'swarm'], level } + } + }; + + log4js.configure(config); +}; + +exports.create = category => { + const logger = log4js.getLogger(category); + + // Allow for easy creation of sub-categories. + logger.create = subCategory => { + return exports.create(`${category}/${subCategory}`); + }; + + return logger; +}; diff --git a/modules/utils/underscore.js b/modules/utils/underscore.js new file mode 100644 index 0000000..3231f7b --- /dev/null +++ b/modules/utils/underscore.js @@ -0,0 +1,39 @@ +const _ = (module.exports = require('underscore')); +const uuid = require('uuid'); +const underscoreDeepExtend = require('underscore-deep-extend'); + +_.mixin({ + /** + * Get a deeply nested object property. + * + * @param {Object} obj The object. + * @param {String} path The path within the object to fetch. + * @param {*} fallbackValue The value to return if given path not found. + * + * @return {*} Returns value if found; otherwise the fallbackVAlue. + */ + get(obj, path, fallbackValue) { + if (this.isUndefined(obj) || obj === null || typeof path !== 'string') { + return fallbackValue; + } + + const fields = path.split('.'); + let result = obj; + + for (let i = 0; i < fields.length; ++i) { + if (!this.isObject(result) && !this.isArray(result)) { + return fallbackValue; + } + + result = result[fields[i]]; + } + + return result || fallbackValue; + }, + deepExtend: underscoreDeepExtend(_), + uuid() { + return uuid.v4(); + } +}); + +module.exports = _; diff --git a/modules/web3Admin.js b/modules/web3Admin.js new file mode 100644 index 0000000..3496f24 --- /dev/null +++ b/modules/web3Admin.js @@ -0,0 +1,227 @@ +module.exports = { + extend: web3 => { + function insertMethod(name, call, params, inputFormatter, outputFormatter) { + return new web3._extend.Method({ + name, + call, + params, + inputFormatter, + outputFormatter + }); + } + + function insertProperty(name, getter, outputFormatter) { + return new web3._extend.Property({ name, getter, outputFormatter }); + } + + // ADMIN + web3._extend({ + property: 'admin', + methods: [ + insertMethod( + 'addPeer', + 'admin_addPeer', + 1, + [null], + web3._extend.formatters.formatOutputBool + ), + insertMethod('exportChain', 'admin_exportChain', 1, [null], null), + insertMethod('importChain', 'admin_importChain', 1, [null], null), + insertMethod( + 'verbosity', + 'admin_verbosity', + 1, + [web3._extend.utils.formatInputInt], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'setSolc', + 'admin_setSolc', + 1, + [null], + web3._extend.formatters.formatOutputString + ), + insertMethod( + 'startRPC', + 'admin_startRPC', + 4, + [null, web3._extend.utils.formatInputInteger, null, null], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'stopRPC', + 'admin_stopRPC', + 0, + [], + web3._extend.formatters.formatOutputBool + ) + ], + properties: [ + insertProperty( + 'nodeInfo', + 'admin_nodeInfo', + web3._extend.formatters.formatOutputString + ), + insertProperty('peers', 'admin_peers', null), + insertProperty( + 'datadir', + 'admin_datadir', + web3._extend.formatters.formatOutputString + ), + insertProperty('chainSyncStatus', 'admin_chainSyncStatus', null) + ] + }); + + // DEBUG + web3._extend({ + property: 'debug', + methods: [ + insertMethod( + 'printBlock', + 'debug_printBlock', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputString + ), + insertMethod( + 'getBlockRlp', + 'debug_getBlockRlp', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputString + ), + insertMethod( + 'setHead', + 'debug_setHead', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'processBlock', + 'debug_processBlock', + 1, + [web3._extend.formatters.formatInputInt], + null + ), + insertMethod( + 'seedHash', + 'debug_seedHash', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputString + ), + insertMethod( + 'dumpBlock', + 'debug_dumpBlock', + 1, + [web3._extend.formatters.formatInputInt], + null + ) + ], + properties: [] + }); + + // MINER + web3._extend({ + property: 'miner', + methods: [ + insertMethod( + 'start', + 'miner_start', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'stop', + 'miner_stop', + 1, + [web3._extend.formatters.formatInputInt], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'setExtra', + 'miner_setExtra', + 1, + [null], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'setGasPrice', + 'miner_setGasPrice', + 1, + [web3._extend.utils.fromDecimal], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'startAutoDAG', + 'miner_startAutoDAG', + 0, + [], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'stopAutoDAG', + 'miner_stopAutoDAG', + 0, + [], + web3._extend.formatters.formatOutputBool + ), + insertMethod( + 'makeDAG', + 'miner_makeDAG', + 1, + [web3._extend.formatters.inputDefaultBlockNumberFormatter], + web3._extend.formatters.formatOutputBool + ) + ], + properties: [ + insertProperty( + 'hashrate', + 'miner_hashrate', + web3._extend.utils.toDecimal + ) + ] + }); + + // NETWORK + web3._extend({ + property: 'network', + methods: [ + insertMethod( + 'getPeerCount', + 'net_peerCount', + 0, + [], + web3._extend.formatters.formatOutputString + ) + ], + properties: [ + insertProperty( + 'listening', + 'net_listening', + web3._extend.formatters.formatOutputBool + ), + insertProperty( + 'peerCount', + 'net_peerCount', + web3._extend.utils.toDecimal + ), + insertProperty('peers', 'net_peers', null), + insertProperty( + 'version', + 'net_version', + web3._extend.formatters.formatOutputString + ) + ] + }); + + // TX POOL + web3._extend({ + property: 'txpool', + methods: [], + properties: [insertProperty('status', 'txpool_status', null)] + }); + } +}; diff --git a/modules/windows.js b/modules/windows.js new file mode 100644 index 0000000..ea40fe9 --- /dev/null +++ b/modules/windows.js @@ -0,0 +1,676 @@ +const { app, BrowserWindow, ipcMain: ipc } = require('electron'); +const Settings = require('./settings'); +const log = require('./utils/logger').create('Windows'); +const EventEmitter = require('events').EventEmitter; +import { + closeWindow, + openWindow, + resetGenericWindow, + reuseGenericWindow +} from './core/ui/actions'; + +class GenericWindow extends EventEmitter { + constructor(mgr) { + super(); + + this._mgr = mgr; + this._log = log.create('generic'); + this.isPrimary = false; + this.type = 'generic'; + this.isPopup = true; + this.ownerId = null; + this.isAvailable = true; + this.actingType = null; + + this._log.debug('Creating generic window'); + let electronOptions = this._mgr.getDefaultOptionsForType('generic'); + this.window = new BrowserWindow(electronOptions); + + // set Accept_Language header + this.session = this.window.webContents.session; + this.session.setUserAgent(this.session.getUserAgent(), Settings.language); + + this.webContents = this.window.webContents; + this.webContents.once('did-finish-load', () => { + this._log.debug(`Content loaded, id: ${this.id}`); + this.emit('ready'); + }); + + // prevent dropping files + this.webContents.on('will-navigate', e => e.preventDefault()); + + this.window.once('closed', () => { + this._log.debug('Closed'); + this.emit('closed'); + }); + + this.window.on('close', e => { + // Preserve window unless quitting Mist + if (store.getState().ui.appQuit) { + return this.emit('close', e); + } + e.preventDefault(); + this.hide(); + }); + + this.window.on('show', e => this.emit('show', e)); + + this.window.on('hide', e => this.emit('hide', e)); + + this.load(`${global.interfacePopupsUrl}#generic`); + } + + load(url) { + this._log.debug(`Load URL: ${url}`); + this.window.loadURL(url); + } + + send() { + this._log.trace('Sending data', arguments); + this.webContents.send.apply(this.webContents, arguments); + } + + hide() { + this._log.debug('Hide'); + this.window.hide(); + this.send('uiAction_switchTemplate', 'generic'); + this.actingType = null; + this.isAvailable = true; + this.emit('hidden'); + store.dispatch(resetGenericWindow()); + } + + show() { + this._log.debug('Show'); + this.window.show(); + } + + close() { + this._log.debug('Avoiding close of generic window'); + this.hide(); + } + + reuse(type, options, callback) { + this.isAvailable = false; + this.actingType = type; + if (callback) { + this.callback = callback; + } + if (options.ownerId) { + this.ownerId = options.ownerId; + } + if (options.sendData) { + if (_.isString(options.sendData)) { + this.send(options.sendData); + } else if (_.isObject(options.sendData)) { + for (const key in options.sendData) { + if ({}.hasOwnProperty.call(options.sendData, key)) { + this.send(key, options.sendData[key]); + } + } + } + } + this.window.setSize( + options.electronOptions.width, + options.electronOptions.height + ); + this.window.setAlwaysOnTop(true, 'floating', 1); + this.send('uiAction_switchTemplate', type); + this.show(); + store.dispatch(reuseGenericWindow(type)); + } +} + +class Window extends EventEmitter { + constructor(mgr, type, opts) { + super(); + + opts = opts || {}; + + this._mgr = mgr; + this._log = log.create(type); + this.isPrimary = !!opts.primary; + this.type = type; + this.isPopup = !!opts.isPopup; + this.ownerId = opts.ownerId; // the window which creates this new window + + let electronOptions = { + title: Settings.appName, + show: false, + width: 1100, + height: 720, + icon: global.icon, + titleBarStyle: 'hidden-inset', // hidden-inset: more space + backgroundColor: '#F6F6F6', + acceptFirstMouse: true, + darkTheme: true, + webPreferences: { + nodeIntegration: false, + webaudio: true, + webgl: false, + webSecurity: false, // necessary to make routing work on file:// protocol for assets in windows and popups. Not webviews! + textAreasAreResizable: true + } + }; + + electronOptions = _.deepExtend(electronOptions, opts.electronOptions); + + this._log.debug('Creating browser window'); + + this.window = new BrowserWindow(electronOptions); + + // set Accept_Language header + this.session = this.window.webContents.session; + this.session.setUserAgent(this.session.getUserAgent(), Settings.language); + + this.webContents = this.window.webContents; + + this.webContents.once('did-finish-load', () => { + this.isContentReady = true; + + this._log.debug(`Content loaded, id: ${this.id}`); + + if (opts.sendData) { + if (_.isString(opts.sendData)) { + this.send(opts.sendData); + } else if (_.isObject(opts.sendData)) { + for (const key in opts.sendData) { + if ({}.hasOwnProperty.call(opts.sendData, key)) { + this.send(key, opts.sendData[key]); + } + } + } + } + + if (opts.show) { + this.show(); + } + + this.emit('ready'); + }); + + // prevent droping files + this.webContents.on('will-navigate', e => { + e.preventDefault(); + }); + + this.window.once('closed', () => { + this._log.debug('Closed'); + + this.isShown = false; + this.isClosed = true; + this.isContentReady = false; + + this.emit('closed'); + store.dispatch(closeWindow(this.type)); + }); + + this.window.once('close', e => { + this.emit('close', e); + }); + + this.window.on('show', e => { + this.emit('show', e); + }); + + this.window.on('hide', e => { + this.emit('hide', e); + }); + + if (opts.url) { + this.load(opts.url); + } + } + + load(url) { + if (this.isClosed) { + return; + } + + this._log.debug(`Load URL: ${url}`); + + this.window.loadURL(url); + } + + send() { + if (this.isClosed || !this.isContentReady) { + return; + } + + this._log.trace('Sending data', arguments); + + this.webContents.send.apply(this.webContents, arguments); + } + + hide() { + if (this.isClosed) { + return; + } + + this._log.debug('Hide'); + + this.window.hide(); + + this.isShown = false; + } + + show() { + if (this.isClosed) { + return; + } + + this._log.debug('Show'); + + this.window.show(); + + this.isShown = true; + + store.dispatch(openWindow(this.type)); + } + + close() { + if (this.isClosed) { + return; + } + + this._log.debug('Close'); + + this.window.close(); + } +} + +class Windows { + constructor() { + this._windows = {}; + } + + init() { + log.info('Creating commonly-used windows'); + + this.loading = this.create('loading'); + this.generic = this.createGenericWindow(); + + this.loading.on('show', () => { + this.loading.window.center(); + store.dispatch(openWindow('loading')); + }); + + this.loading.on('hide', () => { + store.dispatch(closeWindow('loading')); + }); + + // when a window gets initalized it will send us its id + ipc.on('backendAction_setWindowId', event => { + const id = event.sender.id; + + log.debug('Set window id', id); + + const bwnd = BrowserWindow.fromWebContents(event.sender); + const wnd = _.find(this._windows, w => { + return w.window === bwnd; + }); + + if (wnd) { + log.trace(`Set window id=${id}, type=${wnd.type}`); + + wnd.id = id; + } + }); + + store.dispatch({ type: '[MAIN]:WINDOWS:INIT_FINISH' }); + } + + createGenericWindow() { + const wnd = (this._windows.generic = new GenericWindow(this)); + return wnd; + } + + create(type, opts, callback) { + store.dispatch({ + type: '[MAIN]:WINDOW:CREATE_START', + payload: { type } + }); + + const options = _.deepExtend( + this.getDefaultOptionsForType(type), + opts || {} + ); + + const existing = this.getByType(type); + + if (existing && existing.ownerId === options.ownerId) { + log.debug( + `Window ${type} with owner ${options.ownerId} already existing.` + ); + + return existing; + } + + const category = options.primary ? 'primary' : 'secondary'; + + log.info( + `Create ${category} window: ${type}, owner: ${options.ownerId || + 'notset'}` + ); + + const wnd = (this._windows[type] = new Window(this, type, options)); + wnd.on('closed', this._onWindowClosed.bind(this, wnd)); + + if (callback) { + wnd.callback = callback; + } + + store.dispatch({ + type: '[MAIN]:WINDOW:CREATE_FINISH', + payload: { type } + }); + + return wnd; + } + + getDefaultOptionsForType(type) { + const mainWebPreferences = { + mist: { + nodeIntegration: true /* necessary for webviews; + require will be removed through preloader */, + preload: `${__dirname}/preloader/mistUI.js`, + 'overlay-fullscreen-video': true, + 'overlay-scrollbars': true, + experimentalFeatures: true + }, + wallet: { + preload: `${__dirname}/preloader/walletMain.js`, + 'overlay-fullscreen-video': true, + 'overlay-scrollbars': true + } + }; + + switch (type) { + case 'main': + return { + primary: true, + electronOptions: { + width: Math.max(global.defaultWindow.width, 500), + height: Math.max(global.defaultWindow.height, 440), + x: global.defaultWindow.x, + y: global.defaultWindow.y, + webPreferences: mainWebPreferences[global.mode] + } + }; + case 'splash': + return { + primary: true, + url: `${global.interfacePopupsUrl}#splashScreen_${global.mode}`, + show: true, + electronOptions: { + width: 400, + height: 230, + resizable: false, + backgroundColor: '#F6F6F6', + useContentSize: true, + frame: false, + webPreferences: { + preload: `${__dirname}/preloader/splashScreen.js` + } + } + }; + case 'loading': + return { + show: false, + url: `${global.interfacePopupsUrl}#loadingWindow`, + electronOptions: { + title: '', + alwaysOnTop: true, + resizable: false, + width: 100, + height: 80, + center: true, + frame: false, + useContentSize: true, + titleBarStyle: '', // hidden-inset: more space + skipTaskbar: true, + webPreferences: { + preload: `${__dirname}/preloader/popupWindowsNoWeb3.js` + } + } + }; + case 'about': + return { + url: `${global.interfacePopupsUrl}#about`, + electronOptions: { + width: 420, + height: 230, + alwaysOnTop: true + } + }; + case 'remix': + return { + url: 'https://remix.ethereum.org', + electronOptions: { + width: 1024, + height: 720, + center: true, + frame: true, + resizable: true, + titleBarStyle: 'default' + } + }; + case 'importAccount': + return { + electronOptions: { + width: 600, + height: 370, + alwaysOnTop: true + } + }; + case 'requestAccount': + return { + electronOptions: { + width: 420, + height: 230, + alwaysOnTop: true + } + }; + case 'connectAccount': + return { + electronOptions: { + width: 460, + height: 520, + maximizable: false, + minimizable: false, + alwaysOnTop: true + } + }; + case 'sendTransactionConfirmation': + return { + electronOptions: { + width: 580, + height: 550, + alwaysOnTop: true, + enableLargerThanScreen: false, + resizable: true + } + }; + case 'updateAvailable': + return { + useWeb3: false, + electronOptions: { + width: 580, + height: 250, + alwaysOnTop: true, + resizable: false, + maximizable: false + } + }; + case 'clientUpdateAvailable': + return { + useWeb3: false, + electronOptions: { + width: 600, + height: 340, + alwaysOnTop: false, + resizable: false, + maximizable: false + } + }; + case 'generic': + return { + title: Settings.appName, + show: false, + icon: global.icon, + titleBarStyle: 'hidden-inset', // hidden-inset: more space + backgroundColor: '#F6F6F6', + acceptFirstMouse: true, + darkTheme: true, + webPreferences: { + preload: `${__dirname}/preloader/popupWindows.js`, + nodeIntegration: false, + webaudio: true, + webgl: false, + webSecurity: false, // necessary to make routing work on file:// protocol for assets in windows and popups. Not webviews! + textAreasAreResizable: true + } + }; + } + } + + createPopup(type, options, callback) { + const defaultPopupOpts = { + url: `${global.interfacePopupsUrl}#${type}`, + show: true, + ownerId: null, + useWeb3: true, + electronOptions: { + title: '', + width: 400, + height: 400, + resizable: false, + center: true, + useContentSize: true, + titleBarStyle: 'hidden', // hidden-inset: more space + autoHideMenuBar: true, // TODO: test on windows + webPreferences: { + textAreasAreResizable: false + } + } + }; + + let opts = _.deepExtend( + defaultPopupOpts, + this.getDefaultOptionsForType(type), + options || {} + ); + + // always show on top of main window + const parent = _.find(this._windows, w => { + return w.type === 'main'; + }); + + if (parent) { + opts.electronOptions.parent = parent.window; + } + + // mark it as a pop-up window + opts.isPopup = true; + + if (opts.useWeb3) { + opts.electronOptions.webPreferences.preload = `${__dirname}/preloader/popupWindows.js`; + } else { + opts.electronOptions.webPreferences.preload = `${__dirname}/preloader/popupWindowsNoWeb3.js`; + } + + // If generic window is available, recycle it (unless on blacklist) + const genericWindow = this.getByType('generic'); + const genericWindowBlacklist = [ + 'remix', + 'updateAvailable', + 'connectAccount' + ]; + if ( + !genericWindowBlacklist.includes(type) && + genericWindow && + genericWindow.isAvailable + ) { + genericWindow.reuse(type, opts, callback); + return genericWindow; + } else if (genericWindow) { + // If a generic window exists of the same actingType, focus that window + if (genericWindow.actingType === type) { + genericWindow.webContents.focus(); + return genericWindow; + } + } + + this.loading.show(); + + log.info(`Create popup window: ${type}`); + + const wnd = this.create(type, opts, callback); + + wnd.once('ready', () => { + this.loading.hide(); + }); + + return wnd; + } + + getByType(type) { + log.trace('Get by type', type); + + return _.find(this._windows, w => { + return w.type === type; + }); + } + + getById(id) { + log.trace('Get by id', id); + + return _.find(this._windows, w => { + return w.id === id; + }); + } + + broadcast() { + const data = arguments; + + log.trace('Broadcast', data); + + _.each(this._windows, wnd => { + wnd.send(...data); + }); + } + + /** + * Handle a window being closed. + * + * This will remove the window from the internal list. + * + * This also checks to see if any primary windows are still visible + * (even if hidden). If none found then it quits the app. + * + * @param {Window} wnd + */ + _onWindowClosed(wnd) { + log.debug(`Removing window from list: ${wnd.type}`); + + for (const t in this._windows) { + if (this._windows[t] === wnd) { + delete this._windows[t]; + + break; + } + } + + const anyOpen = _.find(this._windows, wnd => { + return wnd.isPrimary && !wnd.isClosed && wnd.isShown; + }); + + if (!anyOpen) { + log.info('All primary windows closed/invisible, so quitting app...'); + + app.quit(); + } + } +} + +module.exports = new Windows(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..a768442 --- /dev/null +++ b/package.json @@ -0,0 +1,85 @@ +{ + "name": "Mist", + "version": "0.10.0", + "license": "GPL-3.0", + "author": "EtherCore Contributor , Ethereum Mist Team ", + "repository": { + "type": "git", + "url": "https://github.com/ethercore/desktop-wallet.git" + }, + "scripts": { + "postinstall": "electron-builder install-app-deps; cd interface && yarn", + "dev:electron": "electron -r babel-register main.js", + "dev:meteor": "cd interface && meteor --no-release-check", + "dev:tools": "open http://remotedev.io/local/", + "test:basic": "gulp test --test=basic", + "test:unit": "mocha --compilers babel-register tests/unit/**/* --watch", + "test:unit:once": "mocha --compilers babel-register tests/unit/**/*" + }, + "main": "main.js", + "dependencies": { + "bignumber.js": "^4.0.1", + "bluebird": "^3.5.0", + "chai-as-promised": "^6.0.0", + "chai-string": "^1.3.0", + "electron-redux": "^1.3.1", + "electron-window-state": "^4.0.1", + "ethereum-client-binaries": "1.6.4", + "ethereum-keyfile-recognizer": "^1.0.2", + "ethereumjs-abi": "^0.6.3", + "ethereumjs-util": "^5.1.2", + "fs-promise": "^2.0.0", + "got": "^6.7.1", + "i18next": "^7.1.3", + "lodash": "^4.17.4", + "log-rotate": "^0.2.7", + "log4js": "^2.4.1", + "lokijs": "^1.4.3", + "minimongo-standalone": "^1.1.0-3", + "numeral": "^2.0.6", + "oboe": "^2.1.3", + "os-timesync": "^1.0.9", + "redux": "^3.7.2", + "redux-thunk": "^2.2.0", + "remote-redux-devtools": "^0.5.12", + "semver": "^5.1.0", + "solc": "^0.4.18", + "swarm-js": "^0.1.21", + "typescript": "^2.2.2", + "underscore": "^1.8.3", + "underscore-deep-extend": "^1.1.5", + "uuid": "^3.0.1", + "web3": "^0.18.4", + "yargs": "^7.0.2" + }, + "devDependencies": { + "babel-preset-es2016-node5": "^1.1.2", + "babel-register": "^6.26.0", + "chai": "^3.5.0", + "co-mocha": "^1.2.0", + "del": "^3.0.0", + "ecstatic": "^2.1.0", + "electron": "1.8.4", + "electron-builder": "^20.0.8", + "eslint": "^3.14.1", + "eslint-config-airbnb-base": "^11.0.1", + "eslint-plugin-import": "^2.2.0", + "express": "^4.15.3", + "genomatic": "^1.0.0", + "geth-private": "^1.3.0", + "gh-release-assets": "^1.1.0", + "gulp": "4.0.0", + "gulp-babel": "^7.0.0", + "gulp-spawn-mocha": "^3.3.0", + "json-structure-diff": "^0.0.2", + "minimist": "^1.2.0", + "mocha": "^3.2.0", + "redux-mock-store": "^1.3.0", + "require-dir": "^0.3.2", + "run-sequence": "^1.2.1", + "semver-compare": "^1.0.0", + "shelljs": "^0.7.7", + "spectron": "3.8.0", + "xml2js": "^0.4.17" + } +} diff --git a/release.js b/release.js new file mode 100644 index 0000000..63a45e6 --- /dev/null +++ b/release.js @@ -0,0 +1,12 @@ +module.exports = async ( + markdown, + metaData +) => `_Write a brief description of this release._ + +### Checksums + +| File | Checksum (SHA256) | +| ------------ | ----------------- | +| _Asset name_ | _Asset checksum_ | + +${markdown}`; diff --git a/scripts/Locate.nsh b/scripts/Locate.nsh new file mode 100755 index 0000000..a4ed008 --- /dev/null +++ b/scripts/Locate.nsh @@ -0,0 +1,51 @@ +!define locate::Open `!insertmacro locate::Open` + +!macro locate::Open _PATH _OPTIONS _HANDLE + locate::_Open /NOUNLOAD `${_PATH}` `${_OPTIONS}` + Pop ${_HANDLE} +!macroend + + +!define locate::Find `!insertmacro locate::Find` + +!macro locate::Find _HANDLE _PATHANDNAME _PATH _NAME _SIZE _TIME _ATTRIB + locate::_Find /NOUNLOAD `${_HANDLE}` + Pop ${_PATHANDNAME} + Pop ${_PATH} + Pop ${_NAME} + Pop ${_SIZE} + Pop ${_TIME} + Pop ${_ATTRIB} +!macroend + + +!define locate::Close `!insertmacro locate::Close` + +!macro locate::Close _HANDLE + locate::_Close /NOUNLOAD `${_HANDLE}` +!macroend + + +!define locate::GetSize `!insertmacro locate::GetSize` + +!macro locate::GetSize _PATH _OPTIONS _SIZE _FILES _DIRS + locate::_GetSize /NOUNLOAD `${_PATH}` `${_OPTIONS}` + Pop ${_SIZE} + Pop ${_FILES} + Pop ${_DIRS} +!macroend + + +!define locate::RMDirEmpty `!insertmacro locate::RMDirEmpty` + +!macro locate::RMDirEmpty _PATH _OPTIONS _REMOVED + locate::_RMDirEmpty /NOUNLOAD `${_PATH}` `${_OPTIONS}` + Pop ${_REMOVED} +!macroend + + +!define locate::Unload `!insertmacro locate::Unload` + +!macro locate::Unload + locate::_Unload +!macroend diff --git a/scripts/MoveFileFolder.nsh b/scripts/MoveFileFolder.nsh new file mode 100644 index 0000000..dea78c3 --- /dev/null +++ b/scripts/MoveFileFolder.nsh @@ -0,0 +1,256 @@ +;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +; MoveFile and MoveFolder macros +; +; Author: theblazingangel@aol.com (for the AutoPatcher project - www.autopatcher.com) +; Created: June 2007 +;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +;================== +; MoveFile macro +;================== + + !macro MoveFile sourceFile destinationFile + + !define MOVEFILE_JUMP ${__LINE__} + + ; Check source actually exists + + IfFileExists "${sourceFile}" +3 0 + SetErrors + goto done_${MOVEFILE_JUMP} + + ; Add message to details-view/install-log + + DetailPrint "Moving/renaming file: ${sourceFile} to ${destinationFile}" + + ; If destination does not already exists simply move file + + IfFileExists "${destinationFile}" +3 0 + rename "${sourceFile}" "${destinationFile}" + goto done_${MOVEFILE_JUMP} + + ; If overwriting without 'ifnewer' check + + ${If} $switch_overwrite == 1 + delete "${destinationFile}" + rename "${sourceFile}" "${destinationFile}" + delete "${sourceFile}" + goto done_${MOVEFILE_JUMP} + ${EndIf} + + ; If destination already exists + + Push $R0 + Push $R1 + Push $R2 + push $R3 + + GetFileTime "${sourceFile}" $R0 $R1 + GetFileTime "${destinationFile}" $R2 $R3 + + IntCmp $R0 $R2 0 older_${MOVEFILE_JUMP} newer_${MOVEFILE_JUMP} + IntCmp $R1 $R3 older_${MOVEFILE_JUMP} older_${MOVEFILE_JUMP} newer_${MOVEFILE_JUMP} + + older_${MOVEFILE_JUMP}: + delete "${sourceFile}" + goto time_check_done_${MOVEFILE_JUMP} + + newer_${MOVEFILE_JUMP}: + delete "${destinationFile}" + rename "${sourceFile}" "${destinationFile}" + delete "${sourceFile}" ;incase above failed! + + time_check_done_${MOVEFILE_JUMP}: + + Pop $R3 + Pop $R2 + Pop $R1 + Pop $R0 + + done_${MOVEFILE_JUMP}: + + !undef MOVEFILE_JUMP + + !macroend + +;================== +; MoveFolder macro +;================== + + !macro MoveFolder source destination mask + + !define MOVEFOLDER_JUMP ${__LINE__} + + Push $R0 + Push $R1 + + ; Move path parameters into registers so they can be altered if necessary + + StrCpy $R0 "${source}" + StrCpy $R1 "${destination}" + + ; Sort out paths - remove final backslash if supplied + + Push $0 + + ; Source + StrCpy $0 "$R0" 1 -1 + StrCmp $0 '\' 0 +2 + StrCpy $R0 "$R0" -1 + + ; Destination + StrCpy $0 "$R1" 1 -1 + StrCmp $0 '\' 0 +2 + StrCpy $R1 "$R1" -1 + + Pop $0 + + ; Create destination dir + + CreateDirectory "$R1\" + + ; Add message to details-view/install-log + + DetailPrint "Moving files: $R0\${mask} to $R1\" + + ; Push registers used by ${Locate} onto stack + + Push $R6 + Push $R7 + Push $R8 + Push $R9 + + ; Duplicate dir structure (to preserve empty folders and such) + + ${Locate} "$R0" "/L=D" ".MoveFolder_Locate_createDir" + + ; Locate files and move (via callback function) + + ${Locate} "$R0" "/L=F /M=${mask} /S= /G=1" ".MoveFolder_Locate_moveFile" + + ; Delete subfolders left over after move + + Push $R2 + deldir_loop_${MOVEFOLDER_JUMP}: + StrCpy $R2 0 + ${Locate} "$R0" "/L=DE" ".MoveFolder_Locate_deleteDir" + StrCmp $R2 0 0 deldir_loop_${MOVEFOLDER_JUMP} + Pop $R2 + + ; Delete empty subfolders moved - say the user just wanted to move *.apm files, they now also have a load of empty dir's from dir structure duplication! + + Push $R2 + delnewdir_loop_${MOVEFOLDER_JUMP}: + StrCpy $R2 0 + ${Locate} "$R1" "/L=DE" ".MoveFolder_Locate_deleteDir" + StrCmp $R2 0 0 delnewdir_loop_${MOVEFOLDER_JUMP} + Pop $R2 + + ; Pop registers used by ${Locate} off the stack again + + Pop $R9 + Pop $R8 + Pop $R7 + Pop $R6 + + ; Delete source folder if empty + + rmdir "$R0" + + Pop $R1 + Pop $R0 + + !undef MOVEFOLDER_JUMP + + !macroend + +;================== +; MoveFolder macro's ${Locate} callback functions +;================== + + Function .MoveFolder_Locate_createDir + + ${If} $R6 == "" + Push $R2 + StrLen $R2 "$R0" + StrCpy $R2 $R9 '' $R2 + CreateDirectory "$R1$R2" + Pop $R2 + ${EndIf} + + Push $R1 + + FunctionEnd + + Function .MoveFolder_Locate_moveFile + + Push $R2 + + ; Get path to file + + StrLen $R2 "$R0" + StrCpy $R2 $R9 '' $R2 + StrCpy $R2 "$R1$R2" + + ; If destination does not already exists simply move file + + IfFileExists "$R2" +3 0 + rename "$R9" "$R2" + goto done + + ; If overwriting without 'ifnewer' check + + ${If} $switch_overwrite == 1 + delete "$R2" + rename "$R9" "$R2" + delete "$R9" + goto done + ${EndIf} + + ; If destination already exists + + Push $0 + Push $1 + Push $2 + push $3 + + GetFileTime "$R9" $0 $1 + GetFileTime "$R2" $2 $3 + + IntCmp $0 $2 0 older newer + IntCmp $1 $3 older older newer + + older: + delete "$R9" + goto time_check_done + + newer: + delete "$R2" + rename "$R9" "$R2" + delete "$R9" ;incase above failed! + + time_check_done: + + Pop $3 + Pop $2 + Pop $1 + Pop $0 + + done: + + Pop $R2 + + Push $R1 + + FunctionEnd + + Function .MoveFolder_Locate_deleteDir + + ${If} $R6 == "" + RMDir $R9 + IntOp $R2 $R2 + 1 + ${EndIf} + + Push $R1 + + FunctionEnd diff --git a/scripts/SimpleFC.dll b/scripts/SimpleFC.dll new file mode 100755 index 0000000000000000000000000000000000000000..73b7d9634deddc41966698106dfcf3950c3cfb65 GIT binary patch literal 179712 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ν51={dZ1BY4A`^N;@_Z7WppVw&qD2_?OGw@eIc_w%^l<9ZW6-6g zfF*(WL&Y5wUo7UhL&ZWR^;NQu1}{DFqACvSe8PcHzQbC|X9%J!3Fnp>%vn;LODIkw zI`HWxDOMZy)Zj9El4CC(S>7ST*l&PdHe=ELb%a&D@NfnXIOh0~PT<{%V1{TlA+1V$ zfppMhB2!$DMieZ8u9 za^*UDP6I(6ya`R?IHM3}@M~Or<=S;EoW5`A@xJsCMw*B~Xyv*XDb{NDHSS`h`jLq!$hS1v63sECUOxs=p8=R@wUxGQ;CLqSl3de zAOG23X?jbC1B**LR4Z>L-Ol^2#Upo9RC+%yz6K?Duc@PCg+a;M#bj_tp=kwzDEa_Y z%j3O-2=aBMc4F^KSMl>otZj%T5%U)igY$nTu%c7;8~E>FmtOp@M**m(=nE1^d)rS2 zY43`}x#)xgiQ!oE#6CA{*5c>+@E*JbA}a^HDhJHLLKOUj1{BT^v&lETQzGWgRY4jp z8KqFXaVQnv{}P3~gLu;n@VknV9a?hB3^5i@PuZb5$a^;&wR6DaJ!DjgJc#&HdW6Zk zxU`}1l`uqGK&k2E;%g+OGfPCnhv=O-OZ?*I$B6Q|ae5pmC9){8r?kNgRe`m^*-IvD zqv9ZmVicmDKJ-)r%#3ZFSYs{0ZT4;xuhpZ^dd8F#U-xEQ`#9BGWQaVCpOUtp_`XO< zTXy+-2W!DAXOQ2Zs(G3a0@vazr@C~w@Ehfs?BJYr-2(|8gM z2t99i#o;@i1k?cU-#i+^B$hA;xA^zAPzOpq<pz-5byCOxKL}X+R@q=RUvF}>5oVt zz6O<2L2jj>C3srWR}26RPtgFpq_^mT*HbhAFBvFK(ld>|*{XZVI1#r{#L4gwQRqR7 zc8{U8yyaLX6Vccp@f6i}(e7x)^K2VDsp`R=-;*bCfffoOeWH>&BXQWjE|>`e<|)#M zevcXCL2TV!C9t)p8h^H>P^o+Fz_{W50e)-oXWLxzdj@`NZ&G`%I2~xu&B#FERS5z- z-XSRgUQuwEht?t2V(v?Los8GZ_ BC*}K5P`+D&^F74*?m_?Xw*du*dDI>MzQ0m9 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 literal 0 HcmV?d00001 diff --git a/scripts/ZipDLL.dll b/scripts/ZipDLL.dll new file mode 100755 index 0000000000000000000000000000000000000000..5925d5916b7e74d2ec4e5f14779c3ccf01ea0d4d GIT binary patch literal 167424 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%0DTOL?>OC_kR4i%4Ljx=K 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�)8$?5WD&aECZDs9cxmCwxXZD4kj^ zU&b&Dvz*0hX*?#u%M8ua1#by!N)fz2WR|wmuy(=Q!OQQV{4p;-$t>Y-3EK0Fu@jAq z7Wt5Y2&Wk=ZC7ET2;N)+v2dZhke9FI<@G4f=H>Tz`7@MrdAXOD$0u3ZCi3#cBx;|F z@d;O5ZuvGIm(OmoY#Tx~yCZLnX4bepdJP_Xu|u%#_s~VO!q6Q2(2EelW z06~igdYYghLBAs?M9{+o{TG;a-%C&p)!jkR5`u0aXazx=30g&vNYEOB8VITmkC~rX@g1b@S|)sk*Q8MS=tVAMXWH9scto`Um|#K z<#4-c{Q|*zgu|yz>*omGUX$n*y!%X+n|JdzFPSXcb^+?X;+uFJU1T(c>` zCw4o=ljT1!o@S$W{Du_hJ$xe?6hnZVWD+2lOaeJjzGu88TuW?|55`esSr(b`Ud)-q z%96QW6ujvizBqGzz2Ke9;pv&{mkQnj4$sP5?-#rk9Inh{cX9as%=KA<_Yn?1p1Iy8cxy77Mhf2A%nhkzB4ikHM=zw=lWDnmKR1)UOv^Tk z&iERw_<+`E>4pVZpWDXp^%=q=TG1OTidO87x%d7dld)L--o2QUm?K*8XzbFxom6Fy zR@@sK8?E?pEN$;!sA5#K;^x?py?-ZoFt>7Xk)Z5D-zz4NqSj3yMOjhaZKv`pb}ElW zc|x4ZGvidwLiy4OQnIk;F!{JEICu@s|C9-mN!arj);Vn?vlbu~BUKDB7K3>hcsvuvs#hTkTQ`jM`DJt^e<_wksc<) z*yKTmv113DhZx4D3>}*~427}7En}@3*$Bhfkz+wO$}rZJMpdH;PlPF8iyu+Cj62U1w0X# z4H{5HdGKKKz>1+mhNRG*gl*L9*%wq!i5aw)*}`#g!@A6q|@0Ej$7{Uh?cT=>~GlG zP2pEbK4rf&q)NRp9*@@)cY2OW<|=h96}TW`dMG~6ZWXP9;uazW#lAV&4oN9Nbt)JrM`~s(KAYSdmxjb8t9lVJMHCY)40?K^rjm%S zFCv+ns}LY4%ghm<&GHlz6sO=hB~FlA(wQ{Pui7!Lpb+s5SH}XXsS%XQ;euzMGzyH1 zi#_1rvo(*NGsp9O(>~c}PI9-Hn;v)4Xb*QPz6=Bo$x5X;Vpe=v1k0UCk#uKAaqK

q5a|~KFBgjdLq;R!xeK_OJ!;zLgnh|dnLr2~rOfr>~QAa3DVd5~s zJC#X8x_o_bbgZn5*E?8~J0N)7Y(oxaR#qJi?CypX|1`AM7!w(IaRa{I?seV zLP|@jG#tj6EOZTaFz1=Fn6)KQo=WAOW6r~1k{)PCxqC^^*YbXc5ZO_QGitm9X7=fl za9kP{EzL2+#t2F)uNNYw4P|q$KPAZa4NN&$`@Q|94(ylra#6tfYD3DBp1)tvP4~av z4Z`JMNIBv>bxbl8Vn*UQM;L@TWUz8FtOD*G(0zruC}^;Mo0 z6ocTMguq!s4JnhmfvJ&YC%SxU7K}C`or+YRmdx@iKmlrSEEe1b$&7+eMVT|mVNK(? zMW;u7r~OsxhCW);U@t?Ny;wi*!?#S6u-x#RMEoWSN=cI7mH4t*&7_gCug|3T`jp~6 zd7lXsF^k43JHZNvCEqE@Bv+n_gUMXU4CCbz=|hmLa*LUXMj>LHGpBn24+vK=>2hKm zjuY#OzRlKXc|6>)*`)NwlAQ5q#*MrU^g1;5g5ZT5SLpjOROw2Zq4xecm$yvfNoe;X%R3`gQBvFl}l|rgOP+bf*u__w6 zwD3DSvr}h}4(x2?1)b?~TUu9XEL*sax)-8^(+0ZwGbT>(E(UarL(NP?1QEbA=Yxj# zTG^-ks4slR(mIK1T293+t>bw60E3^8r&)3C!$A39NCgFo?=%dlnIls*q~bdT*I{=1 zdYg=(1=aUTx)*Y290Jl*#n)Tx5BP&veJq}4)=t8{UQ6pwK^3p;1s=|24(pbAE9%5p z95c#?;{ISj9fu84K9Cv{^l|7@^&@Snau8aP4tDITBKARbHIySCuwv$D-o8gbF$2a5 zPb<4OT6T2!8)%}YXbsT{@%WMVwUjEIQ+y|m_8Pl3 zCOJDeS!Qv#V@tMDt>P&}Ms1nkJX|v6(40AQQIL9LBYTd4X>2H`)vQ+boleq}gqf;E z_qEG87F*aQES5B94s~K)aEO81g{6g!dfAdrd6V4)%LA23yGS6v1j&77aT0DrY>H&X zBQ-9W{kUn+>_AMx-2w)@y6js9M}~nG?@wiDN0f*{qCPXGCt7Cm2i0GHMpJ9UK4pxT zVa1s>&sQb4SPfzd^0K^!7~%{z!)mFOS`;ZU?K1HQ+vUV=V6 zo#^8d$TvFC^RPtE!=Nv{W1DmcS3^;sEz$8SC(n(GI<_I~;XWNBOXnj?KYwIgeDNBk z#Rl2n2h$DGNKbn9;d(p@$!ih9uHE8 z>gkLuI~7@m4Lvndty)^0@Bkrrs~CcZRKdLr{-K00zNxjDmS9HZi{% zf|3IeE=8>b#Dn=13g+|Sq2bUFA@dQAC@*&&*Lf}Lm7c)`VUOIE6lpmX8y4}Mj+q7b zAjyakm6d_cjq3s@1!E+PSUrC}7ano;mlS7YVC4mKh6{nR=_E?e*ov42d$RhG+0^^=#=WtLD{+rEjU_XB|69a`ifF$h03(0lO#P zdGxbLF>LZd+KI3LhhsTlF~rmC;C8rE?lnluL(y;tu0j30J`43+e{{v1+K{c|f~s;V z97IVcu0s0qasIVoq3yTXYkrTCu)CKQ2*w2)kt%&aANhCCjO;Y3)xzNYm3;pq@Xa|Tt zMc!W>m%$j8>R!!^g6fUnAa~h9Y7+sS_JFzuKqyduhI|hEDz{N#f z2aEbT8Z!OrVFV}yVz1kV2||peJFQ~W(u}Ite$FZU>Tu2{70XPwg`u!i!~_oX#SP(- zAjJ}?Y5)PFQ+jK3 zL&CzC0Se_9?b{dH*k#!4zr)6UfIcs@v3%6Y2eOxk)Nv$StW^Tu z8;T>P_KdDldsYcvD+0D7O-4EUnvE0`(z_<*6b1Vi4?(bhC?07mK(k0&AUWz=r zJ$o#Cen;_ha4iR4>hN&ClE*cV`GIkCe><_^8{tjY6B2)?c8*bECeU+^9C{qu8t=fCB=iL!fE6Vk|swWWUo0G6oQgJCERY z+U~)EC~P%cH_Of=SgUcc58!Zq7Zfmn!Q=r1=Xa5`qi)>5yPtZa`QjKvRSKS=0 zs8vkF#eNBH61upd8bJf)Y$v0|hP9J?tFV(it+12)t^j_Mg`MPD3A712$=ec`F6<-+ z9BuQXslT4!cv>-*5FstJR%}Ks>dp?K-_tY+U_fj%-UHQ#2$tLsnnGQP(6;XeXX) zH-jVRCy;1INZ!uQQO*Pk?KYlkXXD7x2_)JPlD9K))YsUX_^}G@Hl1sCx{3zzUIK}B zgrs&|Z4c>W+;mkC22>+D&~?yCV|kZ1e_hphOO~#-t$L&GGlW0F@lRZUC-&WM68-?k z@3;U@_R+nY@OwC3)bW<^gQ(Q{fDgo*Q)FDaU7!o7bv%?OH?>KZY-WNpMxBr>R;`P5 z@dZc{D^{S(#4bQ`n;oYM^wD4S0YhKJmW1hQJ1|gR4{(WI!&c4pCC=0(dL+>l61D0L zVv^2RNg!8iNG{Q0KEfTGpWM%Hw$5*HqRBvh2{}CpB;=&dw0S)=P|n*p-zoikaplhU zfgA~KIuex8Hap^99GvP~IsMl>RH4)TMcT&9@%5X4^sA%MD}wk?v@JVDYb5eU2NR8O zK`OTs4u^xTw%;YR;26-Np10W1-vVOkEg;qt=fuh$sr9ge)35HQ2j52$d@m)wI^7~p zSJ+PnZo39>o2YTC;8dggsd(?e;liY=ZO;JuD>V8-PX7r)Ds8ekJ#d`b{S5YfJ0Rz+y+T z`;le)8w?GG`YiN_n0BxM(yUOu75u8zzhb%7Z-wa9>K@I<;1yP+Z8Z^%Lda>tIOD{vANaET=fXAjv2>)hmat|Mt={S)w+ z@jOzcdI%lV)CAS#f5T88rjA&RE)c%Fi8k7I+;n0o901(|%#m9*u~0jO>6X?n_D5go{1^L-BKuj#xp=lCM z6VF!gI=n+7Mpp5PXqe~`*6W=G{p!!L1_NTic3 zvWpe~bjFSQM!jW7UIF}wwAILCF1*SOK1iZ_I;COmmQ9jf8$m2X?oE=$Bs6vs_5uxw z7~cm?{o{*E^=dmzm~>|ePli@eqiIm-#92&!zEMA3FNRIvcz|2c@FQRA2H-s7FH`%l zW}@NW;g|s%Ae3Ky9(^TjK&*g5-UW7=dlLJYX)>|+;xFHbD6v1|&318kV2nKPArVG}fs&;EC5=U|`Aa~e8e)U`WVB

>tM7s$6jWc2K_Kq0Xj$Mc!dk6co(GDmsfi82Oj%lA z2Z!i(+L)@MWp+P59S783z|C+^5>VH2|C!$JNi3};7y~xAU6}o8(j~%!j{(31pQUvV zW(yyqF=;r^ze6pY-$STtFgW9|tGs(rr3QvVu*34ZCeZ)KbJLu!go3JRh1^G-2MAFh{{ld6r|5!-6SP>Qo+jR}{!O<|OY1(+BnCrK#f6m5 zCn&=|@2AA{Si-->ZX>tTrit<22pngv`a!R#;gdB|^0Tyu$nB4Cu6faRia-Q;7M&mE z7IZYMI;09Zdnt`DmT)c@ajYeL89=#x7jHd#Kx=q{MC-|VYY{JOX9@Tiz#_O?u!#e- zwEh(W>a5-csBEV=6*qxAO09RmfN&ispEb~jDH4`nS-P&Akmh7#b@JIHX{5jU9Of6m z#ERszMk&i5-%XYXTzoefq2BgO-ZnjUxqQ|nU8I@Lx%S)mo??p)MHPG=+#rtTxRbTC z&V+;sPoT3p`Yx6+zgOHwE~VP9K8KnIw_*Y#<>m)Xu-8br^+B@RNO`Kl*J5NFU8gC0 zk;n(qBirbXt^2<)NANlAJhHjW-A<8>n8~{t;5G!fo`5vR^p;F-kft@zj2u>L z3Df<&!oz9jVfXe!G;UAz5RW!h%sNjjqxbzh;RdSC}nk z_N!0AZ)y4vr(K|n=Z}BS$l*;fc<$}uyD3&uCw`jPo6@keXqDRbB)3yE&!kB**91O& zk+~`mqsp68VSKx|#c4ztx@{9K9k|~Qz&$6o^FYXOd~=u^o*^;W<)Xs9JaUyWZp5nB2aH z#wU)!QlE%$%&(fETy3B3210J9KwQHkG{=6VVrn$}VUBMFJ_&d0+@q6&`fqshe{L8f zst`wKL9{Ra%w>*ULRL{~&yYrHW&zYn*a4X!OyZZI(oN!ugh_y6_uK#1<}gY>#ahDK z5e*GA2SfrHczHpOxC<}i_8f)hDy3U%o1x6y9m36=!ozq^m!TKY0HM%)JDjJ_!9nj6u4ON)fyf)?I1w+VBd8h`0N-R2z-3J*2rV^;M4t|bf=qK z%L8z=856jmM*4!5sVbmQqec2KMiyHV-JBZF52`P~tHkp|>ir*am1-2&AXv;D-JDJo zbmS(AmVp%T3@kP#(oVfL3|g*rn1nv&qeJZ!Ve71_(gUY#=&3)cevmow-m$oyPX58? zC{PL|3_mh;1^K9{t9f3`a|)0nQz?|*S&B@(0+tuluVu#r4ym&s8yH>1?OMAW{W%x6 z04jCh^al*xL`s7qxR;LM4ziMta8Na)Hw*Z*x|~U7t;~vpSRC3(b0KF!S0WVH5EqAJ ziZt47M53KCr}vZKl)*`IB(HmF76k1|CYiC~m^7uDpEawYh{^g{^ZD;PYZ7nmp5QfZ z=X6gniW@M$Aqc6b-=w)p1ut8up0ua_fuGLklewj2KlFwqk2Dz1BWcdsaJ3tOOK6cFfOm(gMC>|M-9!i?Bye*2|xeX zcNDB@@as&N0RP~Ej~*IOD~aPIIv6l{(jxTDG+WT_*D(*1No!rnG~HybYCfM}x`_{| zQvg@1^FAaapeezpZhX2z>Q2Cu|nI!Dj@q>;3wM0)lo5NHvyhsZU_Wrq0&4Lai8-?ds#PNotubGuIdND#k5r-F z4O@<-Xd2#4Q}5-%)SR!{^|X?q*%$R6CftlqL#;y(Ay1Wtpls^-aKDuWdOlQ+5w>Tw z-GscC@6G`|!m8KD6n1M?OX`Tx<~(fy@BXRt{YH zIa~&C=|elD$>^D`E^N+Mdp_rVTJb!kbfV{Uyn8rEPvg;8IdDX|2yd5RrblB(-#+^3 z(PKl8OQ(q*R2iTyMHinKk2VeWfNq1i$>IU+`XTeD05NWnJ;Qk%kQI=v^7_F&@AMp# z-(mQ!@ipab>S_VLA=T=ZEw81ahJpbn`DPj&AHcsjxb*KF+-tFt|JGmz^T8PAJ6|0r z>Jlz04E=xMZ$*HywMd(g?m)T^=~1NpNXL*qMfwUUWf5Z&kz7buA}vK)i*y6h9Z2*$ zgy%a*Cy>5EdK!s-A+`p8t60b8vbBIjq?N1@`3%r0kHtO?MMn1nilRHRGk=Td_*wXfvu2bKt5 z0gk2k=Yyo|f)e3N*g|NYsDe8G3u~r=!Uwuiwg5clK`OlF|A!hHQ;9y#Mg8N|bWFVy zL^KIqXk(|ksVs*ctZyNI@N5^^n;-JRUK78RYW)2#>b~o@0(AecZNJx0-nj0nm5n8h z^k=bgy;RmzSBJPFsZweb*UY|NtXs4$v}SePocfhb>?LDkv)I&Fw>HGsiwU@dvD1d~ zIx)0n?do+KnoHL-)vXfOHC+#y9mYh{MeF+cF*lpD?%L~CHr17_X{=kc=Gr>;E-ORh z`S`P7sw!dsbzV8do<~_DU9>K6eY041EpNsSBrUAFcHR2A{yrhg^B2}Zj#oLqvNcW3 zdI#){^J_r!GOwA_xURX5Eis#Lxham&aXl5BS?d#jaSdb*ckhm%c3dNx3Pp(2Yd?? zywA6m#NUp$!j=p`(Vs|Dsz7-K(nh4$o%lO$7h_|K;UnQX#?NM~U;<;e19vCVy-2@8 z`YqB^NW>|L84*J#Gg!t-v5t?bR?|%_O%Wx?iIP6c`xK$<67rxc5QIo z=-T3vUE5rW>vq>qT|al-rbv%T(7x8`AhO^ z^H=3xoqtXKy8Pz+4f!|bZ^@VQ|Fh`jqH(j(Nfyomcr0=(chozY9M?N;cHHW?-SKnB zqmDz4q?}7~#yTI&dm``Syt8>pt~A%huBonoYb_+%q%F;>n+#E zt`n|4S8BdJ|Ni{P@(<*{lON0P%^zGaydbUM;(|#9Qw#D6yajU#Ruw#2V0Mpo=eVog zb?$BMnEM-d#>|$PAI>~E^UIk-JQ*H`XO1W25k0qgRu(oC-duQ-cbhlrz014P` zZ-@6!-Z#A;dQW;!d%y7xDjHrip(wv-QPH}h+lqc&bfD<{qQ0U@vplnw%(`*bJ+nGz zy)o;HSrkan?VZJu?WlHK?PzuU%JG!rb;mc35jj(HuFSbAXGhL~oD(@Cb7$u^=5EdX zY3{?hPvkz6+m-ur?z_1k=1y~Nc1D~JIe+7P%9%W4)QpQ}Q8&YocX3{Jo;$B3 z?~i$%c^~C<=bg?ox+b{hxCGa$uJrte^AF{}mj6Zm*ZCs~>;=;cstSSyR~1}c&|I*w zU~|E(1txcjJJUVMJp)=W%uJg(WoFsT&`h&uqNmjJL(f&7+daEHPk5g3obkjxp~CA5 zrNVm(A1-{XaChOp!ao<5dY5=_@XFr1y$^eT@7?PiSCmzhU6fPgEt*|aQM9e-$)abA zo-aC5^m&nM){a@Mm@#@+lI$pP_#HvVQpZ)8^J^U&G2=gRJmh%O@u}miV_44UoQ#~w zInJD!ITbmTIn_ChIa_k>%DFG+H#v{zJdyKs&ht4(bKc7NTh6yRDY@3%nYksomAOlE zugPu64d>pS`)F=^?%~{5a*yYJl6x}u>s;m>;>>dToK?=H&N}Bc@X7!F{c{ccA9i4Z AdjJ3c literal 0 HcmV?d00001 diff --git a/scripts/windows-installer.nsi b/scripts/windows-installer.nsi new file mode 100644 index 0000000..d1b0fcf --- /dev/null +++ b/scripts/windows-installer.nsi @@ -0,0 +1,269 @@ +# Add current directory to plugin path +!addplugindir .\ + +# Architecture detection +!include x64.nsh + +# Include LogicLib (http://nsis.sourceforge.net/LogicLib) +!include 'LogicLib.nsh' + +# Include ZipDLL plugin (http://nsis.sourceforge.net/ZipDLL_plug-in) +!include 'ZipDLL.nsh' + +# Include Locate plugin (http://nsis.sourceforge.net/Locate_plugin) +!include 'locate.nsh' + +# Include MoveFileFolder plugin (http://nsis.sourceforge.net/MoveFileFolder) +!include 'FileFunc.nsh' +!insertmacro Locate +Var /GLOBAL switch_overwrite +!include 'MoveFileFolder.nsh' + +# Enable CRC +CRCCheck on + +# Require admin privledges when UAC is on +RequestExecutionLevel admin + +!searchreplace APPNAMENOHYPEN ${APPNAME} "-" " " +!define GROUPNAME "Ethereum" +!define HELPURL "https://github.com/ethercore/desktop-wallet/releases/issues" +!define UPDATEURL "https://github.com/ethercore/desktop-wallet/releases" +!define ABOUTURL "https://ethercore.org" +!define /date NOW "%Y%m%d" + +## These must be integers and can be set on the command line by NSIS with "/DMAJORVERSION=0 /DMINORVERSION=8 /DBUILDVERSION=7" +#!define VERSIONMAJOR 0 +#!define VERSIONMINOR 8 +#!define VERSIONBUILD 7 + +# Define some script globals +Name "${GROUPNAME} ${APPNAME}" +Icon "..\dist_${TYPE}\build\icon.ico" +OutFile "..\dist_${TYPE}\release\${APPNAME}-installer-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.exe" +var FILEDIR +var DATADIR +var NODEDATADIR +var ARCHDIR +var SHORTCUTDIR +var DESKTOPDIR + +# Check for administrative rights +!macro VerifyUserIsAdmin +UserInfo::GetAccountType +pop $0 +${If} $0 != "admin" + messageBox mb_iconstop "Administrator rights required!" + setErrorLevel 740 ;ERROR_ELEVATION_REQUIRED + quit +${EndIf} +!macroend + +# Create a shared function function for setting environment variables +!macro ENVFUNC un + Function ${un}setenv + + SetShellVarContext current + StrCpy $DATADIR "$APPDATA\${APPNAME}" + StrCpy $NODEDATADIR "$APPDATA\EtherCore" + StrCpy $SHORTCUTDIR "$SMPROGRAMS\${APPNAMENOHYPEN}" + StrCpy $DESKTOPDIR "$DESKTOP" + + ${If} ${RunningX64} + StrCpy $FILEDIR "$PROGRAMFILES64\${APPNAME}" + StrCpy $ARCHDIR "win-unpacked" + ${Else} + StrCpy $FILEDIR "$PROGRAMFILES32\${APPNAME}" + StrCpy $ARCHDIR "win-ia32-unpacked" + ${Endif} + + SetShellVarContext all + + FunctionEnd +!macroend + +!insertmacro ENVFUNC "" +!insertmacro ENVFUNC "un." + +function .onInit + !insertmacro VerifyUserIsAdmin + call setenv +functionEnd + +# The license page. Can use .txt or .rtf data +PageEx license + LicenseData ..\LICENSE +PageExEnd + +# Components is a good place to allow the user to select optional software to install +# For example, it could be used to allow the user to select which node they want installed and then download it +#Page components + +# Select the location to install the main program files +PageEx directory + DirVar $FILEDIR +PageExEnd + +## Select the location for Mist's data directory +#PageEx directory +# DirText "Select a location for Mist's data files (watched contracts, etc.)" +# DirVar $DATADIR +#PageExEnd + +# Select the location for the node's data directory +PageEx directory + DirText "Select a location where blockchain data will be stored" + DirVar $NODEDATADIR +PageExEnd + +# Installation +Page instfiles + +# Uninstaller confirmation page. Useful to remind the user what data (if any) will remain, for example chaindata or keystore +UninstPage uninstConfirm + +# Uninstallation section +UninstPage instfiles + +# Show details by default +ShowInstDetails show +ShowUninstDetails show + +# Mist installer instructions +Section Mist MIST_IDX + StrCpy $switch_overwrite 1 + + # set the installation directory as the destination for the following actions + SetOutPath $TEMP + # include both architecture zip files + file "..\dist_${TYPE}\release\${APPNAME}-win64-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" + file "..\dist_${TYPE}\release\${APPNAME}-win32-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" + file "..\dist_${TYPE}\build\icon.ico" + + # Extract the zip file from TEMP to the user's selected installation directory + ${If} ${RunningX64} + ZipDLL::extractALL "$TEMP\${APPNAME}-win64-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" "$FILEDIR" + StrCpy $ARCHDIR "win-unpacked" + ${Else} + ZipDLL::extractALL "$TEMP\${APPNAME}-win32-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" "$FILEDIR" + StrCpy $ARCHDIR "win-ia32-unpacked" + ${Endif} + + # Move files out of subfolder + !insertmacro MoveFolder "$FILEDIR\$ARCHDIR" "$FILEDIR" "*.*" + # Copy icon from installer (not included in zip) + !insertmacro MoveFile "$TEMP\icon.ico" "$FILEDIR\logo.ico" + + # create the uninstaller + WriteUninstaller "$FILEDIR\uninstall.exe" + + # create shortcuts with flags in the start menu programs directory + createDirectory "$SHORTCUTDIR" + createShortCut "$SHORTCUTDIR\${APPNAMENOHYPEN}.lnk" "$FILEDIR\${APPNAMENOHYPEN}.exe" '--node-datadir="$NODEDATADIR"' "$FILEDIR\${APPNAMENOHYPEN}.exe" 0 + + # create desktop shortcut + createShortCut "$DESKTOPDIR\${APPNAMENOHYPEN}.lnk" "$FILEDIR\${APPNAMENOHYPEN}.exe" '--node-datadir="$NODEDATADIR"' "$FILEDIR\${APPNAMENOHYPEN}.exe" 0 + + # create a shortcut for the program uninstaller + CreateShortCut "$SHORTCUTDIR\Uninstall.lnk" "$FILEDIR\uninstall.exe" + + ## Firewall - add rules + #SimpleFC::AdvAddRule "Geth incoming peers (TCP:30303)" "" 6 1 1 2147483647 1 "$DATADIR\binaries\Geth\unpacked\geth.exe" "" "" "EtherCore" 30303 "" "" "" + #SimpleFC::AdvAddRule "Geth outgoing peers (TCP:30303)" "" 6 2 1 2147483647 1 "$DATADIR\binaries\Geth\unpacked\geth.exe" "" "" "EtherCore" "" 30303 "" "" + #SimpleFC::AdvAddRule "Geth UDP discovery (UDP:30303)" "" 17 2 1 2147483647 1 "$DATADIR\binaries\Geth\unpacked\geth.exe" "" "" "EtherCore" "" 30303 "" "" + + # write registry strings for uninstallation + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "DisplayName" "${GROUPNAME} ${APPNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "UninstallString" '"$FILEDIR\uninstall.exe"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "InstallLocation" '"$FILEDIR"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "InstallDate" "${NOW}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "DisplayIcon" '"$FILEDIR\logo.ico"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "Publisher" "${GROUPNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "HelpLink" '"${HELPURL}"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "URLUpdateInfo" '"${UPDATEURL}"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "URLInfoAbout" '"${ABOUTURL}"' + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "DisplayVersion" "${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}" + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "VersionMajor" ${VERSIONMAJOR} + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "VersionMinor" ${VERSIONMINOR} + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "NoRepair" 1 + # calculate and store installation size + Call GetInstalledSize + Pop $0 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" "EstimatedSize" "$0" + + # write registry strings for current user options + WriteRegStr HKCU "Software\${GROUPNAME} ${APPNAME}" "DATADIR" "$DATADIR" + WriteRegStr HKCU "Software\${GROUPNAME} ${APPNAME}" "NODEDATADIR" "$NODEDATADIR" + WriteRegStr HKCU "Software\${GROUPNAME} ${APPNAME}" "DESKTOPDIR" "$DESKTOPDIR" + + # Clean up temporary files + Delete "$TEMP\${APPNAME}-win32-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" + Delete "$TEMP\${APPNAME}-win64-${VERSIONMAJOR}-${VERSIONMINOR}-${VERSIONBUILD}.zip" +SectionEnd + +Function .onInstSuccess + ExecShell "open" "$SHORTCUTDIR" +FunctionEnd + +function un.onInit + call un.setenv + !insertmacro VerifyUserIsAdmin +functionEnd + +# uninstaller section start +Section "uninstall" + # get user settings from registry + ClearErrors + ReadRegStr $0 HKCU "Software\${GROUPNAME} ${APPNAME}" 'DATADIR' + ReadRegStr $1 HKCU "Software\${GROUPNAME} ${APPNAME}" 'NODEDATADIR' + ReadRegStr $2 HKCU "Software\${GROUPNAME} ${APPNAME}" 'DESKTOPDIR' + + IfErrors 0 +2 + MessageBox MB_ICONEXCLAMATION|MB_OK "Unable to read from the registry. Not all shortcuts will be removed" + + StrCpy $DATADIR $0 + StrCpy $NODEDATADIR $1 + StrCpy $DESKTOPDIR $2 + + # remove the link from the start menu + rmDir /r "$SHORTCUTDIR" + + # remove desktop shortcut + Delete "$DESKTOPDIR\${APPNAME}.lnk" + + # remove files from installation directory + rmDir /r /REBOOTOK "$FILEDIR" + + ## Firewall - remove rules (if exists) + #SimpleFC::AdvRemoveRule "Geth incoming peers (TCP:30303)" + #SimpleFC::AdvRemoveRule "Geth outgoing peers (TCP:30303)" + #SimpleFC::AdvRemoveRule "Geth UDP discovery (UDP:30303)" + + # delete registry strings + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GROUPNAME} ${APPNAME}" + DeleteRegKey HKCU "Software\${GROUPNAME} ${APPNAME}" +SectionEnd + +Function un.onUnInstSuccess + MessageBox MB_OK "Opening leftover data directories (backup before deleting!)" + ExecShell "open" "$DATADIR" + ExecShell "open" "$NODEDATADIR" +FunctionEnd + + +# Return on top of stack the total size (as DWORD) of the selected/installed sections. +Var GetInstalledSize.total +Function GetInstalledSize + StrCpy $GetInstalledSize.total 0 + + ${if} ${SectionIsSelected} ${MIST_IDX} + ${locate::GetSize} "$FILEDIR" "/S=Kb" $0 $1 $2 + # TODO check for return of -1 for error + IntOp $GetInstalledSize.total $GetInstalledSize.total + $0 + ${endif} + + IntFmt $GetInstalledSize.total "0x%08X" $GetInstalledSize.total + Push $GetInstalledSize.total +FunctionEnd diff --git a/scripts/zipdll.nsh b/scripts/zipdll.nsh new file mode 100755 index 0000000..f35cdbd --- /dev/null +++ b/scripts/zipdll.nsh @@ -0,0 +1,419 @@ +;ZipDLL include file for NSIS +;Written by Tim Kosse (mailto:tim.kosse@gmx.de) +;some improvements by deguix + +;Supported languages with their translators in alphabetical order: + +;Arabic translation by asdfuae +;Brazilian Portuguese translation by "deguix" +;Chinese, Simplified translation by Kii Ali +;Chinese, Traditional traslation by "matini" and Kii Ali +;Croatian translation by "iostriz" +;Danish translation by Claus Futtrup +;French translation by "veekee" +;German translation by Tim Kosse +;Hungarian translation by Toth Laszlo +;Korean translation by Seongab Kim +;Lithuanian translation by Vytautas Krivickas +;Polish translation by Krzysztof Galuszka +;Russion translation by Sergey +;Spanish translation by "dark_boy" + +!ifndef ZIPDLL_USED + +!define ZIPDLL_USED + +!macro ZIPDLL_EXTRACT SOURCE DESTINATION FILE + + !define "FILE_${FILE}" + + !ifndef FILE_ + Push "${FILE}" + !endif + + IfFileExists "${DESTINATION}" +2 + CreateDirectory "${DESTINATION}" + + Push "${DESTINATION}" + + IfFileExists "${SOURCE}" +2 + SetErrors + + Push "${SOURCE}" + + ;The strings that will be translated are (ready to copy, + ;remove leading semicolons in your language block): + + !ifdef LANG_ENGLISH + + ;English is default language of ZipDLL, no need to push the untranslated strings + + ;StrCmp $LANGUAGE ${LANG_ENGLISH} 0 +1 + + ;Push " Error: %s" + ;Push "Could not get file attributes." + ;Push "Error: Could not get file attributes." + ;Push "Could not extract %s" + ;Push " Error: Could not extract %s" + + ;!ifdef FILE_ + ;Push " Extract: %s" + ;Push " Extracting %d files and directories" + ;Push "Extracting contents of %s to %s" + ;!else + ;Push "Specified file does not exist in archive." + ;Push "Error: Specified file does not exist in archive." + ;Push "Extracting the file %s from %s to %s" + ;!endif + + ;Push "/TRANSLATE" + + !endif + + !ifdef LANG_HUNGARIAN + + StrCmp $LANGUAGE ${LANG_HUNGARIAN} 0 +10 + + Push " Hiba: %s" + Push "Nem olvasható a fájl attribútumai." + Push "Hiba: Nem olvasható a fájl attribútumai." + Push "Nem sikerült kicsomagolni a(z) %s" + Push " Hiba: Nem sikerült kicsomagolni a(z) %s" + + !ifdef FILE_ + Push " Kicsomagolás: %s" + Push " %d fájl és mappa kicsomagolása" + Push "%s tartalom kicsomagolása a %s helyre" + !else + Push "A megadott fájl nem található az arhívumban." + Push "Hiba: A megadott fájl nem található az arhívumban." + Push "%s fájl kcsomagolása a(z) %s fájlból a %s helyre" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_FRENCH + + StrCmp $LANGUAGE ${LANG_FRENCH} 0 +10 + + Push " Erreur : %s" + Push "Impossible de récupérer les informations sur le fichier." + Push "Erreur : Impossible de récupérer les informations sur le fichier." + Push "Impossible de décompresser %s." + Push " Erreur : Impossible de décompresser %s." + + !ifdef FILE_ + Push " Décompression : %s" + Push " Décompression de %d fichiers et répertoires" + Push "Décompression des données de %s vers %s" + !else + Push "Le fichier spécifié n'existe pas dans l'archive" + Push "Erreur : Le fichier spécifié n'existe pas dans l'archive" + Push "Décompression du fichier %s depuis %s vers %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_GERMAN + + StrCmp $LANGUAGE ${LANG_GERMAN} 0 +10 + + Push " Fehler: %s" + Push "Dateiattribute konnten nicht ermittelt werden." + Push "Fehler: Dateiattribute konnten nicht ermittelt werden." + Push "%s konnte nicht dekomprimiert werden." + Push " Fehler: %s konnte nicht dekomprimiert werden." + + !ifdef FILE_ + Push " Dekomprimiere: %s" + Push " Dekomprimiere %d Dateien und Verzeichnisse" + Push "Dekomprimiere Inhalt von %s nach %s" + !else + Push "Die angegebene Datei existiert nicht im Archiv" + Push "Fehler: Die angegebene Datei existiert nicht im Archiv" + Push "Dekomprimiere Datei %s von %s nach %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_SPANISH + + StrCmp $LANGUAGE ${LANG_SPANISH} 0 +10 + + Push " Error: %s" + Push "No se obtuvieron atributos del archivo" + Push "Error: No se obtuvieron atributos del archivo" + Push "No se pudo extraer %s" + Push " Error: No se pudo extraer %s" + + !ifdef FILE_ + Push " Extraer: %s" + Push " Extrayendo %d archivos y directorios" + Push "Extraer archivos de %s a %s" + !else + Push "Archivo especificado no existe en el ZIP" + Push "Error: El archivo especificado no existe en el ZIP" + Push "Extrayendo el archivo %s de %s a %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_PORTUGUESEBR + + StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} 0 +10 + + Push " Erro: %s" + Push "Não se pode ler os atributos do arquivo" + Push "Error: Não se pode ler os atributos do arquivo" + Push "Não se pode extrair %s" + Push " Erro: Não se pode extrair %s" + + !ifdef FILE_ + Push " Extraindo: %s" + Push " Extraindo %d arquivos e diretórios" + Push "Extraindo arquivos de %s a %s" + !else + Push "O arquivo especificado não existe no ZIP" + Push "Erro: O arquivo especificado não existe no ZIP" + Push "Extraindo o arquivo %s de %s a %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_TRADCHINESE + + StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +11 + + Push " ¿ù»~: %s" + Push "µLªk¨ú±oÀÉ®×ÄÝ©Ê¡C" + Push "¿ù»~: µLªk¨ú±oÀÉ®×ÄÝ©Ê¡C" + Push "µLªk¸ÑÀ£ÁY %s" + Push " ¿ù»~¡GµLªk¸ÑÀ£ÁY %s" + + !ifdef FILE_ + Push " ¸ÑÀ£ÁY¡G%s" + Push " ¥¿¦b¸ÑÀ£ÁY %d ÀÉ®×»P¥Ø¿ý" + Push "¥¿¦b¸ÑÀ£ÁY %s ªº¤º®e¨ì %s" + !else + Push "«ü©wªºÀɮר䣦s¦b©óÀ£ÁY¥]¡C" + Push "¿ù»~¡G«ü©wªºÀɮר䣦s¦b©óÀ£ÁY¥]¡C" + Push "¥¿¦b¸ÑÀ£ÁYÀÉ®× %s ¡A±q %s ¨ì %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_SIMPCHINESE + + StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +11 + + Push " ´íÎó: %s" + Push "ÎÞ·¨È¡µÃÎļþÊôÐÔ¡£" + Push "´íÎó: ÎÞ·¨È¡µÃÎļþÊôÐÔ¡£" + Push "ÎÞ·¨½âѹËõ %s" + Push " ´íÎó£ºÎÞ·¨½âѹËõ %s" + + !ifdef FILE_ + Push " ½âѹËõ£º%s" + Push " ÕýÔÚ½âѹËõ %d ÎļþÓëĿ¼" + Push "ÕýÔÚ½âѹËõ %s µÄÄÚÈݵ½ %s" + !else + Push "Ö¸¶¨µÄÎļþ²¢²»´æÔÚÓÚѹËõ°ü¡£" + Push "´íÎó£ºÖ¸¶¨µÄÎļþ²¢²»´æÔÚÓÚѹËõ°ü¡£" + Push "ÕýÔÚ½âѹËõÎļþ %s £¬´Ó %s µ½ %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_LITHUANIAN + + StrCmp $LANGUAGE ${LANG_LITHUANIAN} 0 +10 + + Push " Klaida: %s" + Push "Negaleta gauti bylos nuorodu." + Push "Klaida: Negaleta gauti bylos nuorodu." + Push "Negaleta ištraukti %s" + Push " Klaida: Negaleta ištraukti %s" + + !ifdef FILE_ + Push " Ištraukiam : %s" + Push " Ištraukiame %d bylas ir katalogus" + Push "Ištraukiame viska is %s i %s" + !else + Push "Parinkta byla nesurasta šiame archyve." + Push "Klaida: Parinkta byla nesurasta šiame archyve." + Push "Ištraukiame byla %s iš %s i %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef "LANG_POLISH" + + strcmp $LANGUAGE ${LANG_POLISH} 0 +10 + + Push " B³¹d: %s" + Push "Nie mo¿e pobraæ atrybutu pliku." + Push "B³¹d: Nie mo¿e pobraæ atrybutu pliku." + Push "Nie mo¿e rozpakowaæ %s." + Push " B³¹d: Nie mo¿e rozpakowaæ %s." + + !ifdef FILE_ + Push " Rozpakuj: %s" + Push " Rozpakowywanie %d plików i katalogów" + Push "Rozpakowywanie zawartoœci %s do %s" + !else + Push "Plik nie istnieje w archiwum" + Push "B³¹d: Plik nie istnieje w archiwum" + Push "Rozpakowywanie pliku %s z %s do %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef "LANG_KOREAN" + + strcmp $LANGUAGE ${LANG_KOREAN} 0 +10 + + Push " 오류 : %s" + Push "파일 속성을 얻어올 수 없습니다." + Push "오류: 파일 속성을 얻어올 수 없습니다." + Push "%s을(를) 풀 수 없습니다." + Push " 오류: %s을(를) 풀 수 없습니다." + + !ifdef FILE_ + Push " 풀기 : %s" + Push " %d개의 파일과 폴더를 푸는 중" + Push "%s의 내용을 %s에 푸는 중" + !else + Push "지정된 파일이 압축 파일 안에 없습니다." + Push "오류: 지정된 파일이 압축 파일 안에 없습니다." + Push "%s 파일을 %s에서 %s로 푸는 중" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef "LANG_RUSSIAN" + + strcmp $LANGUAGE ${LANG_RUSSIAN} 0 +10 + + Push " Îøèáêà: %s" + Push "Íå ìîãó ïîëó÷èòü àòðèáóòû ôàéëà." + Push "Îøèáêà: Íå ìîãó ïîëó÷èòü àòðèáóòû ôàéëà." + Push "Íå ìîãó èçâëå÷ü %s" + Push " Îøèáêà: Íå ìîãó èçâëå÷ü %s" + + !ifdef LANG_ + Push " Èçâëåêàþ : %s" + Push " Èçâëå÷åíèå %d ôàéëîâ è ïàïîê" + Push "Ñïèñîê èçâëåêàåìûõ ôàéëîâ èç %s â %s" + !else + Push "Èçâëåêàåìûé ôàéë íå îáíàðóæåí â àðõèâå." + Push "Îøèáêà: SÈçâëåêàåìûé ôàéë íå îáíàðóæåí â àðõèâå." + Push "Èçâëå÷åíèå ôàéëà %s èç %s â %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_ARABIC + + StrCmp $LANGUAGE ${LANG_ARABIC} 0 +10 + + Push " ÎØÇÁ: %s" + Push "áã íÍÕá Úáì ÎÕÇÆÕ ÇáãáÝ." + Push "ÎØÇÁ: áã íÍÕá Úáì ÎÕÇÆÕ ÇáãáÝ." + Push "áÇ íãßä ÇÓÊÎÑÇÌ %s" + Push " ÎØÇÁ: áÇ íãßä ÇÓÊÎÑÇÌ %s" + + !ifdef FILE_ + Push " ÇÓÊÎÑÇÌ : %s" + Push " ÇÓÊÎÑÇÌ ãÌáÏÇÊ æ ãáÝÇÊ %d" + Push "ÇÓÊÎÑÇÌ ãÍÊæíÇÊ %s Åáì %s" + !else + Push "ÇáãáÝ ÛíÑ ãæÌæÏ Ýí ÇáÓÌá." + Push "ÎØÇÁ: ÇáãáÝ ÛíÑ ãæÌæÏ Ýí ÇáÓÌá." + Push "ÇÓÊÎÑÇÌ ÇáãáÝ %s ãä %s Åáì %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_DANISH + + StrCmp $LANGUAGE ${LANG_DANISH} 0 +10 + + Push " Fejl: %s" + Push "Kunne ikke læse fil attributter." + Push "Fejl: Kunne ikke læse fil attributter." + Push "Kunne ikke udpakke %s" + Push " Fejl: Kunne ikke udpakke %s" + + !ifdef FILE_ + Push " Udpakker: %s" + Push " Udpakker %d filer og mapper" + Push "Udpakker indhold fra %s til %s" + !else + Push "Specificeret fil eksisterer ikke i filarkivet" + Push "Fejl: Specificeret fil eksisterer ikke i filarkivet" + Push "Udpakker fil %s fra %s til %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef LANG_CROATIAN + + StrCmp $LANGUAGE ${LANG_CROATIAN} 0 +10 + + Push " Greška: %s" + Push "Ne mogu dohvatiti atribute datoteke." + Push "Greška: Ne mogu dohvatiti atribute datoteke." + Push "Ne mogu ekstrahirati %s" + Push " Greška: Ne mogu ekstrahirati %s" + + !ifdef FILE_ + Push " Ekstrakcija: %s" + Push " Ekstrakcija %d datoteka i mapa" + Push "Ekstrakcija sadržaja %s u %s" + !else + Push "Tražena datoteka ne postoji u arhivi." + Push "Greška: Tražena datoteka ne postoji u arhivi." + Push "Ekstrakcija datoteke %s iz %s u %s" + !endif + + Push "/TRANSLATE" + + !endif + + !ifdef FILE_ + ZipDLL::extractall + !else + ZipDLL::extractfile + !endif + + !undef "FILE_${FILE}" + +!macroend + +!endif diff --git a/sounds/bip.mp3 b/sounds/bip.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2c7e790cf7fca6269e61a6c95d234603b04b5663 GIT binary patch literal 13837 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 a7ZNa?0dGV@NpjRqBGfi-L`K}u^)vtz_8++b literal 0 HcmV?d00001 diff --git a/sounds/invite.mp3 b/sounds/invite.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..be60274061dc2c27be4eb1ecbaec1892f4815213 GIT binary patch literal 76025 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

Z#y%)KccjhA062LHlpv`jD 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

8^VJ@p76rr~k9n7w<9~>Pqa!gd^cp=aD!^ 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 AY5)KL literal 0 HcmV?d00001 diff --git a/tests/.eslintrc.yml b/tests/.eslintrc.yml new file mode 100644 index 0000000..0be095d --- /dev/null +++ b/tests/.eslintrc.yml @@ -0,0 +1,9 @@ +globals: # don't warn about missing declarations + describe: true + it: true + expect: true + chai: true + $: true + LastVisitedPages: true + History: true + localStorage: true diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..13a868f --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,4 @@ +mist.log +webdriver/ +chrome.log + diff --git a/tests/_base.js b/tests/_base.js new file mode 100644 index 0000000..38d531c --- /dev/null +++ b/tests/_base.js @@ -0,0 +1,489 @@ +require('co-mocha'); +const _ = require('underscore'); +const genomatic = require('genomatic'); +const Q = require('bluebird'); +const fs = require('fs'); +const Web3 = require('web3'); +const shell = require('shelljs'); +const path = require('path'); +const gethPrivate = require('geth-private'); +const Application = require('spectron').Application; +const chai = require('chai'); +const http = require('http'); +const ecstatic = require('ecstatic'); +const express = require('express'); +const ClientBinaryManager = require('ethereum-client-binaries').Manager; +const logger = require('../modules/utils/logger'); + +chai.should(); + +process.env.TEST_MODE = 'true'; + +const log = logger.create('base'); + +const startGeth = function*() { + let gethPath; + + const config = JSON.parse( + fs.readFileSync(path.join('clientBinaries.json')).toString() + ); + const manager = new ClientBinaryManager(config); + yield manager.init(); + + if (!manager.clients.Geth.state.available) { + gethPath = manager.clients.Geth.activeCli.fullPath; + console.info('Downloading geth...'); + const downloadedGeth = yield manager.download('Geth'); + gethPath = downloadedGeth.client.activeCli.fullPath; + console.info('Geth downloaded at:', gethPath); + } + + const geth = gethPrivate({ + gethPath, + balance: 5, + genesisBlock: { + config: { + chainId: 33333 + }, + difficulty: '0x01', + extraData: '0x01' + }, + gethOptions: { + port: 58546, + rpcport: 58545 + } + }); + + console.info('Geth starting...'); + yield geth.start(); + console.info('Geth started'); + + return geth; +}; + +const startFixtureServer = function(serverPort) { + log.info('Starting fixture server...'); + const app = express(); + app.use(express.static(path.join(__dirname, 'fixtures'))); + + app.get('/redirect', (req, res) => { + // Redirects to param ?url=XX + res.redirect(302, req.query.to); + }); + app.listen(serverPort); + log.info('Fixture server started'); + return app; +}; + +exports.mocha = (_module, options) => { + const tests = {}; + + options = _.extend( + { + app: 'mist' + }, + options + ); + + _module.exports[options.name || path.basename(_module.filename)] = { + *before() { + this.timeout(1e7); + + this.assert = chai.assert; + this.expect = chai.expect; + + const mistLogFile = path.join(__dirname, 'mist.log'); + const chromeLogFile = path.join(__dirname, 'chrome.log'); + const webdriverLogDir = path.join(__dirname, 'webdriver'); + + _.each([mistLogFile, webdriverLogDir, chromeLogFile], e => { + console.info('Removing log files', e); + shell.rm('-rf', e); + }); + + this.geth = yield startGeth(); + + const appFileName = options.app === 'wallet' ? 'EtherCore Wallet' : 'Mist'; + const platformArch = `${process.platform}-${process.arch}`; + console.info(`${appFileName} :: ${platformArch}`); + + let appPath; + const ipcProviderPath = path.join(this.geth.dataDir, 'geth.ipc'); + + switch (platformArch) { + case 'darwin-x64': + appPath = path.join( + process.cwd(), + `dist_${options.app}`, + 'dist', + 'mac', + `${appFileName}.app`, + 'Contents', + 'MacOS', + appFileName + ); + break; + case 'linux-x64': + appPath = path.join( + process.cwd(), + `dist_${options.app}`, + 'dist', + 'linux-unpacked', + appFileName.toLowerCase() + ); + break; + default: + throw new Error( + `Cannot run tests on ${platformArch}, please run on: darwin-x64, linux-x64` + ); + } + console.info(`appPath: ${appPath}`); + + // check that appPath exists + if (!shell.test('-f', appPath)) { + throw new Error(`Cannot find binary: ${appPath}`); + } + + this.web3 = new Web3( + new Web3.providers.HttpProvider('http://localhost:58545') + ); + this.app = new Application({ + requireName: 'electronRequire', + startTimeout: 10000, + waitTimeout: 10000, + quitTimeout: 10000, + path: appPath, + args: [ + '--loglevel', + 'debug', + '--logfile', + mistLogFile, + '--node-datadir', + this.geth.dataDir, + '--rpc', + ipcProviderPath + ], + webdriverLogPath: webdriverLogDir, + chromeDriverLogPath: chromeLogFile + }); + + console.info('Starting app...'); + yield this.app.start(); + console.info('App started'); + + this.client = this.app.client; + + /* + Starting HTTP server for HTML fixtures + */ + const serverPort = 8080; + this.httpServer = startFixtureServer(serverPort); + this.fixtureBaseUrl = `http://localhost:${serverPort}/`; + + /* + Utility methods + */ + for (const key in Utils) { + this[key] = genomatic.bind(Utils[key], this); + } + + // Loop over windows trying to select Main Window + const app = this; + const selectMainWindow = function*(mainWindowSearch, retries = 20) { + console.log(`selectMainWindow retries remaining: ${retries}`); + let windowHandles = (yield app.client.windowHandles()).value; + + for (let handle in windowHandles) { + yield app.client.window(windowHandles[handle]); + const windowUrl = yield app.client.getUrl(); + const isMainWindow = mainWindowSearch.test(windowUrl); + if (isMainWindow) return true; + } + + if (retries === 0) throw new Error('Failed to select main window'); + + // not main window. try again after 2 seconds. + yield Q.delay(2000); + yield selectMainWindow(mainWindowSearch, --retries); + }; + + const mainWindowSearch = + options.app === 'wallet' ? /^file:\/\/\/$/ : /interface\/index\.html$/; + yield selectMainWindow(mainWindowSearch); + console.log('Main window selected'); + + this.mainWindowHandle = (yield this.client.windowHandle()).value; + }, + + *beforeEach() { + yield this.app.client.window(this.mainWindowHandle); + + yield this.client.execute(() => { + // Code executed in context of browser + Tabs.remove({}); + LastVisitedPages.remove({}); + History.remove({}); + + Tabs.insert({ + _id: 'browser', + url: 'http://localhost:8080/', + redirect: 'http://localhost:8080/', + position: 0 + }); + Tabs.upsert( + { _id: 'wallet' }, + { + $set: { + url: 'https://wallet.ethereum.org', + redirect: 'https://wallet.ethereum.org', + position: 1, + permissions: { admin: true } + } + } + ); + + LocalStore.set('selectedTab', 'browser'); + }); + yield Q.delay(1000); + }, + + // * afterEach() { }, + + *after() { + if (this.app && this.app.isRunning()) { + console.log('Stopping app...'); + yield this.app.stop(); + } + + if (this.geth && this.geth.isRunning) { + console.log('Stopping geth...'); + yield this.geth.stop(); + } + + if (this.httpServer && this.httpServer.isListening) { + console.log('Stopping http server...'); + yield this.httpServer.close(); + } + }, + + tests + }; + + return tests; +}; + +const Utils = { + *waitUntil(msg, promiseFn) { + yield this.client.waitUntil(promiseFn, 10000, msg, 500); + }, + *waitForText( + selector, + text, + ms = 5000, + message = "Element couldn't be found" + ) { + const client = this.client; + yield client.waitUntil( + () => { + return client.getText(selector).then(e => { + return e === text; + }); + }, + ms, + message + ); + }, + *getUiElements(selector) { + const elems = yield this.client.elements(selector); + + return elems.value; + }, + *getUiElement(selector) { + const elem = yield this.client.element(selector); + + return elem.value; + }, + *openAndFocusNewWindow(type, fnPromise) { + yield fnPromise(); + const handle = yield this.selectWindowHandleByType(type); + yield this.client.window(handle); + }, + *selectWindowHandleByType(type) { + const client = this.client; + const windowHandles = (yield client.windowHandles()).value; + + for (let handle in windowHandles) { + yield client.window(windowHandles[handle]); + const windowUrl = yield client.getUrl(); + if (new RegExp(type).test(windowUrl)) { + return windowHandles[handle]; + } + } + }, + *execElemsMethod(clientElementIdMethod, selector) { + const elems = yield this.client.elements(selector); + + const values = yield elems.value.map(e => + this.client[clientElementIdMethod](e.ELEMENT) + ); + + return values.map(r => r.value); + }, + *execElemMethod(clientElementIdMethod, selector) { + const e = yield this.client.element(selector); + + console.log(e); + + const value = yield this.client[clientElementIdMethod](e.ELEMENT); + + return value.value; + }, + *capturePage() { + const pageImage = yield this.app.browserWindow.capturePage(); + + if (!pageImage) { + throw new Error('Page capture failed'); + } + + fs.writeFileSync(path.join(__dirname, 'mist.png'), pageImage); + }, + *getRealAccountBalances() { + let accounts = this.web3.eth.accounts; + + let balances = accounts.map( + acc => `${this.web3.fromWei(this.web3.eth.getBalance(acc), 'ether')}` + ); + + accounts = accounts.map(a => a.toLowerCase()); + balances = balances.map(b => parseInt(b, 10)); + + return _.object(accounts, balances); + }, + *getUiAccountBalances() { + // check balances on the pgetUiAccountsBalancesage + let _accounts = yield this.execElemsMethod( + 'elementIdText', + '.wallet-box .account-id' + ); + let _balances = yield this.execElemsMethod( + 'elementIdText', + '.wallet-box .account-balance' + ); + + _accounts = _accounts.map(a => a.toLowerCase()); + _balances = _balances.map(b => parseInt(b, 10)); + + return _.object(_accounts, _balances); + }, + *openAccountInUi(accId) { + const _accounts = yield this.execElemsMethod( + 'elementIdText', + '.wallet-box .account-id' + ); + + let idx = -1; + + const accountId = accId.toLowerCase(); + + for (const i in _accounts) { + if (_accounts[i].toLowerCase() === accountId) { + idx = i; + } + } + + if (idx < 0) { + throw new Error('Unable to find account in UI'); + } + + const accLinks = yield this.client.elements('.wallet-box'); + + yield this.client.elementIdClick(accLinks.value[idx].ELEMENT); + + yield Q.delay(1000); + }, + *startMining() { + yield this.geth.consoleExec('miner.start();'); + }, + *stopMining() { + yield this.geth.consoleExec('miner.stop();'); + }, + + *selectTab(tabId) { + yield this.getUiElement(`.sidebar [data-tab-id=${tabId}]`); + yield this.client.click(`.sidebar [data-tab-id=${tabId}] button.main`); + // TODO: returns webview reference + }, + + *getSelectedWebviewParam(param) { + const selectedTabId = (yield this.client.execute(() => { + return localStorage.getItem('selectedTab'); + })).value; + return yield this.client.getAttribute( + `webview[data-id=${selectedTabId}]`, + param + ); + }, + + *loadFixture(uri = '') { + const client = this.client; + yield client.setValue('#url-input', `${this.fixtureBaseUrl}${uri}`); + yield client.submitForm('form.url'); + yield client.waitUntil( + () => { + return client.getText('.dapp-info span', e => { + /Fixture/.test(e); + }); + }, + 3000, + 'expected to properly load fixture' + ); + }, + + *getBrowserBarText() { + return yield this.client.getText('.url-breadcrumb'); + }, + + *pinCurrentTab() { + const client = this.client; + yield this.openAndFocusNewWindow('connectAccount', () => { + return client.click('span.connect-button'); + }); + yield client.click('.dapp-primary-button'); + yield this.delay(500); + yield client.window(this.mainWindowHandle); // selects main window again + + const pinnedWebview = (yield client.windowHandles()).value.pop(); + return pinnedWebview; + }, + + *delay(ms) { + yield this.waitUntil('delay', async () => { + return new Promise(resolve => setTimeout(() => resolve(true), ms)); + }); + }, + + *navigateTo(url) { + const client = this.client; + yield client.setValue('#url-input', url); + yield client.submitForm('form.url'); + }, + + /* + @method getWindowByUrl + + @param search: function that tells how to search by window + @param tries: amount of tries left until give up searching for + */ + *getWindowByUrl(search, tries = 5) { + if (tries < 0) + throw new Error("Couldn't select window using given parameters."); + const windowHandles = (yield this.client.windowHandles()).value; + for (let handle in windowHandles) { + yield this.client.window(windowHandles[handle]); + const found = !!search(yield this.client.getUrl()); + if (found) return true; + } + yield Q.delay(500); + yield this.getWindowByUrl(search, --tries); //eslint-disable-line + } +}; diff --git a/tests/fixtures/fixture-popup.html b/tests/fixtures/fixture-popup.html new file mode 100644 index 0000000..97aa033 --- /dev/null +++ b/tests/fixtures/fixture-popup.html @@ -0,0 +1,10 @@ + + + Fixture Popup + + +

Fixture Popup

+
Target blank + Target popup + + diff --git a/tests/fixtures/index.html b/tests/fixtures/index.html new file mode 100644 index 0000000..6a1364a --- /dev/null +++ b/tests/fixtures/index.html @@ -0,0 +1,11 @@ + + + Fixture title + + +

Index page

+

This is a fixture page

+ + + diff --git a/tests/fixtures/js-redirect.html b/tests/fixtures/js-redirect.html new file mode 100644 index 0000000..3a0c9f5 --- /dev/null +++ b/tests/fixtures/js-redirect.html @@ -0,0 +1,17 @@ + + + JS redirect fixture + + +

JS redirect fixture

+ + + + diff --git a/tests/fixtures/meta-redirect.html b/tests/fixtures/meta-redirect.html new file mode 100644 index 0000000..bd0f7a3 --- /dev/null +++ b/tests/fixtures/meta-redirect.html @@ -0,0 +1,9 @@ + + + Meta redirect fixture + + + +

Meta redirect fixture

+ + diff --git a/tests/fixtures/page-01.html b/tests/fixtures/page-01.html new file mode 100644 index 0000000..4779eba --- /dev/null +++ b/tests/fixtures/page-01.html @@ -0,0 +1,8 @@ + + + Fixture 01 + + +

Fixture 01

+ + diff --git a/tests/mist/basic.test.js b/tests/mist/basic.test.js new file mode 100644 index 0000000..de50543 --- /dev/null +++ b/tests/mist/basic.test.js @@ -0,0 +1,331 @@ +const Q = require('bluebird'); +const path = require('path'); +const should = require('chai').should(); + +const test = require('../_base').mocha(module, { + app: 'mist' +}); + +test['Check for Mist title'] = function*() { + (yield this.client.getTitle()).should.eql('Mist'); +}; + +test['Sanity Check: main window is focused'] = function*() { + const client = this.client; + (yield client.getUrl()).should.match(/interface\/index\.html$/); +}; + +test['Browser bar should render urls with separators'] = function*() { + yield this.navigateTo('http://localhost:8080/page1/page2?param=value#hash'); + yield Q.delay(500); + yield this.waitForText( + '.url-breadcrumb', + 'http://localhost:8080 ▸ page1 ▸ page2 ▸ param=value ▸ hash' + ); +}; + +test[ + 'Browser bar should not render script tags on breadcrumb view' +] = function*() { + // ETH-01-001 + yield this.navigateTo(''); + yield Q.delay(1500); + + const webviewErrorURL = yield this.getSelectedWebviewParam('src'); + webviewErrorURL.should.match(/errorPages\/404\.html$/); + + should.exist(yield this.getUiElement('form.url')); + should.not.exist(yield this.getUiElement('form.url script')); +}; + +test[ + 'Browser bar should not render script tags in disguise on breadcrumb view' +] = function*() { + // ETH-01-001 + const client = this.client; + + yield client.setValue('#url-input', '<script>alert()</script>'); + const isUrlBlocked = (yield client.execute(() => { + // Code executed in context of browser + try { + $('form.url').submit(); + } catch (e) { + return /Invalid URL/.test(e); + } + return false; + })).value; + + isUrlBlocked.should.be.true; + should.not.exist(yield this.getUiElement('form.url script')); +}; + +test[ + 'Browser bar should not render script tags in disguise (2) on breadcrumb view' +] = function*() { + // ETH-01-001 + yield this.navigateTo(''); + yield Q.delay(1500); + + should.exist(yield this.getUiElement('form.url')); + should.not.exist(yield this.getUiElement('form.url svg')); + should.not.exist(yield this.getUiElement('form.url script')); + + const webviewErrorURL = yield this.getSelectedWebviewParam('src'); + webviewErrorURL.should.match(/errorPages\/404\.html$/); +}; + +test['Browser bar should not render arbitrary code as HTML'] = function*() { + // ETH-01-001 + const client = this.client; + + yield client.waitUntil( + () => { + return client.getText('.url-breadcrumb', e => { + return e === '%3Ciframe onload="alert%28%29%"%3E'; + }); + }, + 5000, + 'expected breadcrumb to render as HTML encoded' + ); +}; + +test['Browser bar should not execute JS'] = function*() { + // ETH-01-001 + const client = this.client; + + yield this.navigateTo(''); + const mist = yield client.execute(() => { + return window.mist; + }); // checking if `execute` works + const pwned = yield client.execute(() => { + return window.pwned; + }); + + should.exist(mist.value); + should.not.exist(pwned.value); +}; + +test['Should select Wallet and Browse tabs properly'] = function*() { + yield this.selectTab('wallet'); +}; + +test['Load fixture page'] = function*() { + yield this.loadFixture(); +}; + +test['"http" protocol should be allowed on browser bar'] = function*() { + // ETH-01-002 + const client = this.client; + yield this.loadFixture(); + + yield client.setValue('#url-input', `${this.fixtureBaseUrl}index.html`); + const isProtocolBlocked = (yield client.execute(() => { + // Code executed in context of browser + try { + $('form.url').submit(); + } catch (e) { + return /Invalid URL/.test(e); + } + return false; + })).value; + isProtocolBlocked.should.be.false; + + yield this.waitForText( + '.url-breadcrumb', + 'http://localhost:8080 ▸ index.html' + ); + + const browserBarText = yield this.client.getText('.url-breadcrumb'); + browserBarText.should.eql('http://localhost:8080 ▸ index.html'); // checks that did change displayed URL +}; + +test[ + '"javascript" protocol should be disallowed on browser bar' +] = function*() { + // ETH-01-002 + const client = this.client; + yield this.loadFixture(); + yield client.setValue('#url-input', 'javascript:window.close()'); // eslint-disable-line no-script-url + + const isProtocolBlocked = (yield client.execute(() => { + // Code executed in context of browser + try { + $('form.url').submit(); + } catch (e) { + return /Invalid URL/.test(e); + } + return false; + })).value; + isProtocolBlocked.should.be.true; + + yield Q.delay(800); + const browserBarText = yield this.getBrowserBarText(); + browserBarText.should.eql('http://localhost:8080'); // checks that hasn't changed displayed URL +}; + +test['"data" protocol should be disallowed on browser bar'] = function*() { + // ETH-01-002 + const client = this.client; + yield this.loadFixture(); + yield client.setValue( + '#url-input', + 'data:text/plain;charset=utf-8;base64,dGhpcyB0ZXN0IGlzIG9uIGZpcmU=' + ); + + const isProtocolBlocked = (yield client.execute(() => { + // Code executed in context of browser + try { + $('form.url').submit(); + } catch (e) { + return /Invalid URL/.test(e); + } + return false; + })).value; + isProtocolBlocked.should.be.true; + + yield Q.delay(500); + const browserBarText = yield this.getBrowserBarText(); + browserBarText.should.eql('http://localhost:8080'); // checks that hasn't changed displayed URL +}; + +test['"file" protocol should be disallowed on browser bar'] = function*() { + // ETH-01-012 + const filePath = `file://${path.join( + __dirname, + '..', + 'fixtures', + 'index.html' + )}`; + + yield this.navigateTo(filePath); + yield Q.delay(1000); + + const webviewErrorURL = yield this.getSelectedWebviewParam('src'); + webviewErrorURL.should.match(/errorPages\/400\.html$/); +}; + +test['Pin tab test'] = function*() { + const client = this.client; + const sidebarItems = (yield client.elements('.sidebar nav > ul > li')).value; + + yield this.selectTab('browser'); + yield this.pinCurrentTab(); + + const sidebarItemsAfterAdd = (yield client.elements('.sidebar nav > ul > li')) + .value; + + sidebarItems.length.should.eql(2); + sidebarItemsAfterAdd.length.should.eql(3); +}; + +test[ + 'Browse tab should be changed to pinned tab if URLs are the same' +] = function*() { + // ETH-01-007 + const client = this.client; + yield this.selectTab('browser'); + + yield this.navigateTo('https://wallet.ethereum.org'); + yield Q.delay(1000); + const selectedTab = (yield client.execute(() => { + // code executed in browser context + return LocalStore.get('selectedTab'); + })).value; + + selectedTab.should.eql('wallet'); +}; + +test[ + "Wallet tab shouldn't have the page replaced if URLs does not match" +] = function*() { + // ETH-01-007 + const client = this.client; + yield this.selectTab('wallet'); + + yield this.navigateTo( + `${this.fixtureBaseUrl}index.html?https://wallet.ethereum.org` + ); + yield client.waitUntil(() => { + return client.execute(() => { + return LocalStore.get('selectedTab') === 'browser'; + }); + }, 2000); +}; + +test[ + "Wallet tab shouldn't have the page replaced if URLs does not match - 2" +] = function*() { + // ETH-01-007 + const client = this.client; + yield this.selectTab('wallet'); + + // Now changing address via JS + yield client.setValue( + '#url-input', + `${this.fixtureBaseUrl}index.html?https://wallet.ethereum.org` + ); + yield client.execute(() => { + // Code executed in context of browser + $('form.url').submit(); + }); + + yield client.waitUntil(() => { + return client.execute(() => { + return LocalStore.get('selectedTab') === 'browser'; + }); + }, 2000); +}; + +//test['Links with target _blank should open inside Mist'] = function* () { +// const client = this.client; +// yield this.navigateTo(`${this.fixtureBaseUrl}/fixture-popup.html`); +// yield this.getWindowByUrl(e => /fixture-popup.html$/.test(e)); +// +// yield client.click('a[target=_blank]'); +// yield client.waitUntil(() => { +// return client.getUrl((url) => { +// return /index.html$/.test(url); +// }); +// }); +//}; + +// test['Links with target _popup should open inside Mist'] = function* () { +// const client = this.client; +// yield this.navigateTo(`${this.fixtureBaseUrl}/fixture-popup.html`); +// yield this.getWindowByUrl(e => /fixture-popup.html$/.test(e)); +// +// yield client.click('a[target=_popup]'); +// yield client.waitUntil(() => { +// return client.getUrl((url) => { +// return /index.html$/.test(url); +// }); +// }); +// }; + +// ETH-01-005 +// test['Mist main webview should not redirect to arbitrary addresses'] = function* () { +// const client = this.client; +// const initialURL = yield client.getUrl(); +// +// yield client.execute(() => { // code executed in context of browser +// window.location.href = 'http://google.com'; +// }); +// +// yield Q.delay(1000); +// (yield client.getUrl()).should.eql(initialURL); +// }; +// + +// ETH-01-008 +test['Mist main webview should not redirect to local files'] = function*() { + const client = this.client; + const url = `${ + this.fixtureBaseUrl + }redirect?to=file:///Users/ev/Desktop/keystore.txt`; + + yield this.navigateTo(url); + yield Q.delay(1000); + + const webviewErrorURL = yield this.getSelectedWebviewParam('src'); + webviewErrorURL.should.match(/errorPages\/400\.html$/); +}; diff --git a/tests/mocha-in-browser/.eslintrc.yml b/tests/mocha-in-browser/.eslintrc.yml new file mode 100644 index 0000000..49145ee --- /dev/null +++ b/tests/mocha-in-browser/.eslintrc.yml @@ -0,0 +1,14 @@ +rules: + no-undef: 0 + no-var: 0 + prefer-arrow-callback: 0 + func-names: 0 + prefer-template: 0 + no-unused-expressions: 0 + no-underscore-dangle: + - error + - allow: ['_id', '_escape'] + +globals: + mist: true + expect: true diff --git a/tests/mocha-in-browser/.gitignore b/tests/mocha-in-browser/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/tests/mocha-in-browser/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tests/mocha-in-browser/Makefile b/tests/mocha-in-browser/Makefile new file mode 100644 index 0000000..629a462 --- /dev/null +++ b/tests/mocha-in-browser/Makefile @@ -0,0 +1,10 @@ +update : + npm install + cp node_modules/mocha/mocha.js spec/lib/ + curl https://raw.github.com/visionmedia/mocha/master/mocha.css > spec/lib/browser/mocha.css + +zipit : update + rm -f mocha-in-browser.zip + rm -fr node_modules + zip -r mocha-in-browser.zip public/ spec/ + diff --git a/tests/mocha-in-browser/README.md b/tests/mocha-in-browser/README.md new file mode 100644 index 0000000..dd20379 --- /dev/null +++ b/tests/mocha-in-browser/README.md @@ -0,0 +1,12 @@ +# Mocha In the Browser + +A super simple example of how [Mocha](http://visionmedia.github.com/mocha/) tests +can be executed in the browser. A great way to start is cloning this project and +working through the [String Calculator Kata](http://osherove.com/tdd-kata-1/). +Open up the public/index.html file in a browser to see the JavaScript object +used by the page. + +### Integrating it into your project + +Copy the spec directory into your project. Make sure the runner.html file has all +the right paths. diff --git a/tests/mocha-in-browser/lib/browser/jquery-1.10.1.min.js b/tests/mocha-in-browser/lib/browser/jquery-1.10.1.min.js new file mode 100644 index 0000000..e407e76 --- /dev/null +++ b/tests/mocha-in-browser/lib/browser/jquery-1.10.1.min.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-1.10.1.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.1",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.parentWindow;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.frameElement&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ct(function(e){return e.innerHTML="",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null) +}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("

7dGA` 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¨Mfm5vH2mT!N$=f+^j;gC?J62JF@_HHlZeS+_ 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�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 z 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